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/bits.go | 48 --------------------------------------------- ber/bits_test.go | 54 --------------------------------------------------- ber/bitstring.go | 48 +++++++++++++++++++++++++++++++++++++++++++++ ber/bitstring_test.go | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 102 insertions(+), 102 deletions(-) delete mode 100644 ber/bits.go delete mode 100644 ber/bits_test.go create mode 100644 ber/bitstring.go create mode 100644 ber/bitstring_test.go diff --git a/ber/bits.go b/ber/bits.go deleted file mode 100644 index 180228d..0000000 --- a/ber/bits.go +++ /dev/null @@ -1,48 +0,0 @@ -package ber - -// BitString -type Bits []bool - -func UnmarshalBitString(b []byte) (bs Bits) { - padding := int(b[0]) - length := (len(b)-1)*8 - padding - for i := 0; i < length; i++ { - x := 1 + i/8 - y := 7 - uint(i%8) - bit := b[x]&(1< 0 && i%4 == 0 { - s += " " - } - s += bmap[bit] - } - return -} diff --git a/ber/bits_test.go b/ber/bits_test.go deleted file mode 100644 index c20b3db..0000000 --- a/ber/bits_test.go +++ /dev/null @@ -1,54 +0,0 @@ -package ber - -import ( - "bytes" - "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 { - 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) - } - } -} diff --git a/ber/bitstring.go b/ber/bitstring.go new file mode 100644 index 0000000..2195143 --- /dev/null +++ b/ber/bitstring.go @@ -0,0 +1,48 @@ +package ber + +// BitString +type BitString []bool + +func UnmarshalBitString(b []byte) (bs BitString) { + padding := int(b[0]) + length := (len(b)-1)*8 - padding + for i := 0; i < length; i++ { + x := 1 + i/8 + y := 7 - uint(i%8) + bit := b[x]&(1< 0 && i%4 == 0 { + s += " " + } + s += bmap[bit] + } + return +} 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