gorgonia.org/gorgonia@v0.9.17/equalities_test.go (about) 1 package gorgonia 2 3 import "testing" 4 5 var scalarEqualities = []struct { 6 a, b Scalar 7 eq bool 8 }{ 9 {NewF64(1), NewF64(1), true}, 10 {NewF64(1), NewF64(0), false}, 11 {NewF64(1), NewF32(1), false}, 12 13 {NewF32(1), NewF32(1), true}, 14 {NewF32(1), NewF32(0), false}, 15 {NewF32(1), NewI(1), false}, 16 17 {NewI(1), NewI(1), true}, 18 {NewI(1), NewI(0), false}, 19 {NewI(1), NewI64(1), false}, 20 21 {NewI64(1), NewI64(1), true}, 22 {NewI64(1), NewI64(0), false}, 23 {NewI64(1), NewI32(1), false}, 24 25 {NewI32(1), NewI32(1), true}, 26 {NewI32(1), NewI32(0), false}, 27 {NewI32(1), NewU8(1), false}, 28 29 {NewU8(1), NewU8(1), true}, 30 {NewU8(1), NewU8(0), false}, 31 {NewU8(1), NewB(true), false}, 32 33 {NewB(true), NewB(true), true}, 34 {NewB(true), NewB(false), false}, 35 {NewB(true), NewF64(1), false}, 36 } 37 38 func TestScalarEq(t *testing.T) { 39 for _, seq := range scalarEqualities { 40 if (scalarEq(seq.a, seq.b) && !seq.eq) || (!scalarEq(seq.a, seq.b) && seq.eq) { 41 t.Errorf("expected %v(%v) and %v(%v) to be %v", seq.a, TypeOf(seq.a), seq.b, TypeOf(seq.b), seq.eq) 42 } 43 } 44 }