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) } } }