You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
574 B
Go
32 lines
574 B
Go
package bit
|
|
|
|
import "testing"
|
|
|
|
func TestBit(t *testing.T) {
|
|
var tests = []struct {
|
|
Test []byte
|
|
Want Bits
|
|
}{
|
|
{
|
|
[]byte{0x2a},
|
|
Bits{0, 0, 1, 0, 1, 0, 1, 0},
|
|
},
|
|
{
|
|
[]byte{0xbe, 0xef},
|
|
Bits{1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1},
|
|
},
|
|
}
|
|
|
|
for _, test := range tests {
|
|
got := NewBits(test.Test)
|
|
if len(got) != len(test.Want) {
|
|
t.Fatalf("expected length %d, got %d [%s]", len(test.Want), len(got), got.String())
|
|
}
|
|
for i, b := range got {
|
|
if b != test.Want[i] {
|
|
t.Fatalf("bit %d is off: %v != %v", i, got, test.Want)
|
|
}
|
|
}
|
|
}
|
|
}
|