github.com/keysonZZZ/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgMath/FloatCompare_test.go (about) 1 package kmgMath 2 3 import "testing" 4 import "github.com/bronze1man/kmg/kmgTest" 5 6 func TestFloatCompare(ot *testing.T) { 7 for i, testCase := range []struct { 8 f func(x float64, y float64) bool 9 x float64 10 y float64 11 result bool 12 }{ 13 {Float64LessThan, 1.0, 2.0, true}, 14 {Float64LessThan, 2.0, 1.0, false}, 15 {Float64LessThan, 2.0, 2.0, false}, 16 {Float64LessEqualThan, 1.0, 2.0, true}, 17 {Float64LessEqualThan, 1.0, 1.0, true}, 18 {Float64LessEqualThan, 2.0, 1.0, false}, //5 19 20 {Float64GreaterThan, 1.0, 2.0, false}, 21 {Float64GreaterThan, 2.0, 1.0, true}, 22 {Float64GreaterThan, 1.0, 1.0, false}, 23 {Float64Equal, 1.0, 1.0, true}, 24 {Float64Equal, 1.0, 2.0, false}, //10 25 26 {Float64Equal, 1.0 / 3.0 * 3.0, 1.0, true}, 27 {Float64GreaterEqualThan, 1.0, 2.0, false}, 28 {Float64GreaterEqualThan, 2.0, 1.0, true}, 29 {Float64GreaterEqualThan, 1.0, 1.0, true}, 30 } { 31 kmgTest.Equal(testCase.f(testCase.x, testCase.y), testCase.result, 32 "fail at %d", i) 33 } 34 }