From 6d033680eb74abe871e7b261e6911d646f9e365b Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 14 Jul 2015 23:22:04 +0200 Subject: Rename Bits into BitString --- ber/bitstring_test.go | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 ber/bitstring_test.go (limited to 'ber/bitstring_test.go') diff --git a/ber/bitstring_test.go b/ber/bitstring_test.go new file mode 100644 index 0000000..ae4051d --- /dev/null +++ b/ber/bitstring_test.go @@ -0,0 +1,54 @@ +package ber + +import ( + "bytes" + "testing" +) + +type bitTest struct { + bytes []byte + bits BitString +} + +var bitTestData = []bitTest{ + { + []byte{0, 8, 0}, + BitString{ + false, false, false, false, true, false, false, false, + false, false, false, false, false, false, false, false, + }, + }, + { + []byte{7, 0x80}, + BitString{true}, + }, + { + []byte{4, 0x20}, + BitString{false, false, true, false}, + }, +} + +func bitsEqual(a, b BitString) bool { + if len(a) != len(b) { + return false + } + for i := range a { + if a[i] != b[i] { + return false + } + } + return true +} + +func TestBitString(t *testing.T) { + for _, test := range bitTestData { + bi := UnmarshalBitString(test.bytes) + if !bitsEqual(bi, test.bits) { + t.Error(test.bytes, "expexted", test.bits, "got", bi) + } + by := MarshalBitString(test.bits) + if !bytes.Equal(by, test.bytes) { + t.Error(test.bits, "expexted", test.bytes, "got", by) + } + } +} -- cgit v1.2.3