Test creating SCCP CR messages
This commit is contained in:
parent
163f329d02
commit
fdf0842be7
79
SCCP.st
79
SCCP.st
|
@ -21,8 +21,14 @@ Object subclass: SCCPHelper [
|
|||
SCCPHelper class >> msgLudt [ ^ 16r13 ]
|
||||
SCCPHelper class >> msgLudts[ ^ 16r14 ]
|
||||
|
||||
SCCPHelper class >> pncData [ ^ 16r0F ]
|
||||
SCCPHelper class >> pncEoO [ ^ 16r00 ]
|
||||
|
||||
SCCPHelper class >> createCR: src dest: dest data: aData [
|
||||
^ (SCCPConnectionRequest initWith: src dest: dest data: aData)
|
||||
toMessage.
|
||||
]
|
||||
|
||||
SCCPHelper class >> createRLSD: src dest: dest cause: cause [
|
||||
^ (SCCPConnectionReleased initWith: src dest: dest cause: cause)
|
||||
toMessage.
|
||||
|
@ -34,6 +40,35 @@ Object subclass: SCCPHelper [
|
|||
]
|
||||
]
|
||||
|
||||
Object subclass: SCCPAddress [
|
||||
| ssn |
|
||||
|
||||
SCCPAddress class >> createWith: ssn [
|
||||
^ (SCCPAddress new)
|
||||
ssn: ssn;
|
||||
yourself
|
||||
]
|
||||
|
||||
ssn: assn [
|
||||
ssn := assn
|
||||
]
|
||||
|
||||
asByteArray [
|
||||
"Most simple address storing routine"
|
||||
| ai data |
|
||||
|
||||
data := OrderedCollection new.
|
||||
ai := 0.
|
||||
ai := ai bitOr: 2.
|
||||
ai := ai bitOr: 64.
|
||||
data add: ai.
|
||||
data add: ssn.
|
||||
data addFirst: data size.
|
||||
|
||||
^ data asByteArray
|
||||
]
|
||||
]
|
||||
|
||||
Object subclass: SCCPAddrReference [
|
||||
<category: 'osmo-network'>
|
||||
SCCPAddrReference class >> store: anAddress on: aMsg [
|
||||
|
@ -56,6 +91,50 @@ Object subclass: SCCPAddrReference [
|
|||
]
|
||||
]
|
||||
|
||||
Object subclass: SCCPConnectionRequest [
|
||||
<category: 'osmo-network'>
|
||||
| src dst data |
|
||||
|
||||
SCCPConnectionRequest class >> initWith: src dest: dest data: data [
|
||||
<category: 'construction'>
|
||||
|
||||
^ self new
|
||||
src: src dest: dest data: data;
|
||||
yourself
|
||||
]
|
||||
|
||||
src: aSrc dest: aDest data: aData [
|
||||
src := aSrc.
|
||||
dst := aDest.
|
||||
data := aData.
|
||||
]
|
||||
|
||||
toMessage [
|
||||
<category: 'conversion'>
|
||||
| msg len addr |
|
||||
|
||||
addr := dst asByteArray.
|
||||
|
||||
msg := MessageBuffer new.
|
||||
msg putByte: SCCPHelper msgCr.
|
||||
SCCPAddrReference store: src on: msg.
|
||||
"store proto_class, variable_called, optional_start"
|
||||
msg putByte: 2.
|
||||
msg putByte: 2.
|
||||
msg putByte: 1 + addr size.
|
||||
|
||||
msg putByteArray: addr.
|
||||
|
||||
" place the data now "
|
||||
msg putByte: SCCPHelper pncData.
|
||||
msg putByte: data size.
|
||||
msg putByteArray: data.
|
||||
msg putByte: SCCPHelper pncEoO.
|
||||
|
||||
^ msg.
|
||||
]
|
||||
]
|
||||
|
||||
Object subclass: SCCPConnectionReleased [
|
||||
<category: 'osmo-network'>
|
||||
| src dst cause |
|
||||
|
|
12
Tests.st
12
Tests.st
|
@ -21,6 +21,18 @@ TestCase subclass: SCCPTests [
|
|||
|
||||
self assert: msg = #(6 1 4 0 0 1 4 49 50 51 52) asByteArray.
|
||||
]
|
||||
|
||||
testCR [
|
||||
| cr msg |
|
||||
cr := SCCPConnectionRequest
|
||||
initWith: 16r0300BF
|
||||
dest: (SCCPAddress createWith: 254)
|
||||
data: '1234' asByteArray.
|
||||
msg := cr toMessage toByteArray.
|
||||
msg printNl.
|
||||
|
||||
self assert: msg = #(1 191 0 3 2 2 4 2 66 254 15 4 49 50 51 52 0) asByteArray
|
||||
]
|
||||
]
|
||||
|
||||
TestCase subclass: IPATests [
|
||||
|
|
Reference in New Issue