From 5643007803eba0a12590618fc6c810754c716bad Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 14 Jul 2015 14:20:59 +0200 Subject: Add BitString test cases --- ber/bits_test.go | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 ber/bits_test.go (limited to 'ber') diff --git a/ber/bits_test.go b/ber/bits_test.go new file mode 100644 index 0000000..ebc8796 --- /dev/null +++ b/ber/bits_test.go @@ -0,0 +1,47 @@ +package ber + +import "testing" + +type bitTest struct { + bytes []byte + bits Bits +} + +var bitTestData = []bitTest{ + { + []byte{0, 8, 0}, + Bits{ + false, false, false, false, true, false, false, false, + false, false, false, false, false, false, false, false, + }, + }, + { + []byte{7, 0x80}, + Bits{true}, + }, + { + []byte{4, 0x20}, + Bits{false, false, true, false}, + }, +} + +func bitsEqual(a, b Bits) bool { + if len(a) != len(b) { + return false + } + for i := range a { + if a[i] != b[i] { + return false + } + } + return true +} + +func TestBits(t *testing.T) { + for _, test := range bitTestData { + bits := UnmarshalBitString(test.bytes) + if !bitsEqual(bits, test.bits) { + t.Error(test.bytes, "expexted", test.bits, "got", bits) + } + } +} -- cgit v1.2.3