github.com/seeker-insurance/kit@v0.0.13/imath/operator/bitwise_test.go (about) 1 package operator 2 3 import ( 4 "testing" 5 6 "github.com/seeker-insurance/kit/random" 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestBitAnd(t *testing.T) { 11 A, _ := random.Int64s(25) 12 B, _ := random.Int64s(25) 13 for i := range A { 14 a, b := int(A[i]), int(B[i]) 15 assert.Equal(t, int(uint(a)&uint(b)), BitAnd(a, b)) 16 } 17 } 18 19 func TestBitOr(t *testing.T) { 20 A, _ := random.Int64s(25) 21 B, _ := random.Int64s(25) 22 for i := range A { 23 a, b := int(A[i]), int(B[i]) 24 assert.Equal(t, int(uint(a)|uint(b)), BitOr(a, b)) 25 } 26 } 27 28 func TestBitXor(t *testing.T) { 29 A, _ := random.Int64s(25) 30 B, _ := random.Int64s(25) 31 for i := range A { 32 a, b := int(A[i]), int(B[i]) 33 assert.Equal(t, int(uint(a)^uint(b)), BitXor(a, b)) 34 } 35 } 36 37 func TestBitInvert(t *testing.T) { 38 A, _ := random.Int64s(25) 39 for i := range A { 40 a := int(A[i]) 41 assert.Equal(t, int(^uint(a)), BitInvert(a)) 42 } 43 }