Files
advent-of-code-2021/utils/bits/bits_test.go
T

28 lines
827 B
Go
Raw Normal View History

2021-12-08 16:31:05 -05:00
package bits
import (
"AoC2021/utils/assert"
"testing"
)
func TestGetBitCount(t *testing.T) {
assert.EqualsInt(t, GetBitCount(0), 0, "should count zero bits")
assert.EqualsInt(t, GetBitCount(15), 4, "should count bits")
assert.EqualsInt(t, GetBitCount(16), 1, "should not count empty bits")
}
func TestMatchingOnBits(t *testing.T) {
assert.EqualsInt(t, MatchingOnBits(5 /*101*/, 13 /*1101*/), 2, "should match 2 bits")
}
func TestBitwiseAnd(t *testing.T) {
assert.EqualsInt(t, BitwiseAnd(7 /*111*/, 18 /*10010*/), 23 /*10111*/, "should bitwise add")
}
func TestBitwiseAndA(t *testing.T) {
assert.EqualsInt(t, BitwiseAndA(1, 4, 8, 12), 13 /*1101*/, "should bitwise add lists")
}
func TestByBitCount(t *testing.T) {
twoBitFilter := ByBitCount(2)
assert.IsTrue(t, twoBitFilter(17 /*10001*/), "should count bits")
}