From fea5159aa72b020339aab35ca1cecf5cab8eae90 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Thu, 24 Apr 2014 20:30:01 +0200 Subject: [PATCH] header: Implement writing a header to a stream --- codec/SMPPPDUHeader.st | 7 +++++++ test/SMPPPDUHeaderTest.st | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/codec/SMPPPDUHeader.st b/codec/SMPPPDUHeader.st index 39089b1..25805d3 100644 --- a/codec/SMPPPDUHeader.st +++ b/codec/SMPPPDUHeader.st @@ -57,4 +57,11 @@ Object subclass: SMPPPDUHeader [ sequenceNumber: aNumber [ sequenceNumber := aNumber ] + + writeOn: aMsg [ + aMsg + putLen32: commandId; + putLen32: commandStatus; + putLen32: sequenceNumber + ] ] diff --git a/test/SMPPPDUHeaderTest.st b/test/SMPPPDUHeaderTest.st index 5938c08..c11e836 100644 --- a/test/SMPPPDUHeaderTest.st +++ b/test/SMPPPDUHeaderTest.st @@ -27,4 +27,14 @@ TestCase subclass: SMPPPDUHeaderTest [ self assert: hdr commandStatus equals: 0. self assert: hdr sequenceNumber equals: 1. ] + + testWrite [ + | data | + data := (SMPPPDUHeader new + commandId: 2; + commandStatus: 0; + sequenceNumber: 1; + toMessage) asByteArray. + self assert: data equals: #[0 0 0 2 0 0 0 0 0 0 0 1]. + ] ]