58 lines
1.6 KiB
Go
58 lines
1.6 KiB
Go
package mathext
|
|
|
|
import "testing"
|
|
|
|
func TestFloat64EpsilonEqExactlyEqual(t *testing.T) {
|
|
if !Float64EpsilonEq(1.0, 1.0, 1e-9) {
|
|
t.Errorf("Float64EpsilonEq(1.0, 1.0, 1e-9) = false, want true")
|
|
}
|
|
}
|
|
|
|
func TestFloat64EpsilonEqWithinEpsilon(t *testing.T) {
|
|
if !Float64EpsilonEq(1.0, 1.0+1e-10, 1e-9) {
|
|
t.Errorf("Float64EpsilonEq(1.0, 1.0+1e-10, 1e-9) = false, want true")
|
|
}
|
|
}
|
|
|
|
func TestFloat64EpsilonEqOutsideEpsilon(t *testing.T) {
|
|
if Float64EpsilonEq(1.0, 1.1, 1e-9) {
|
|
t.Errorf("Float64EpsilonEq(1.0, 1.1, 1e-9) = true, want false")
|
|
}
|
|
}
|
|
|
|
func TestFloat64EpsilonEqAtEpsilonBoundary(t *testing.T) {
|
|
if !Float64EpsilonEq(0.0, 0.5, 0.5) {
|
|
t.Errorf("Float64EpsilonEq(0.0, 0.5, 0.5) = false, want true")
|
|
}
|
|
}
|
|
|
|
func TestFloat64EpsilonEqNegativeDifference(t *testing.T) {
|
|
if !Float64EpsilonEq(2.0, 2.0-1e-10, 1e-9) {
|
|
t.Errorf("Float64EpsilonEq(2.0, 2.0-1e-10, 1e-9) = false, want true")
|
|
}
|
|
}
|
|
|
|
func TestFloat64EpsilonEqLargeDifference(t *testing.T) {
|
|
if Float64EpsilonEq(0.0, 100.0, 0.5) {
|
|
t.Errorf("Float64EpsilonEq(0.0, 100.0, 0.5) = true, want false")
|
|
}
|
|
}
|
|
|
|
func TestFloat64EpsilonEqNegativeNumbers(t *testing.T) {
|
|
if !Float64EpsilonEq(-1.0, -1.0+1e-10, 1e-9) {
|
|
t.Errorf("Float64EpsilonEq(-1.0, -1.0+1e-10, 1e-9) = false, want true")
|
|
}
|
|
}
|
|
|
|
func TestFloat64EpsilonEqZeroEpsilonEqualValues(t *testing.T) {
|
|
if !Float64EpsilonEq(3.14, 3.14, 0.0) {
|
|
t.Errorf("Float64EpsilonEq(3.14, 3.14, 0.0) = false, want true")
|
|
}
|
|
}
|
|
|
|
func TestFloat64EpsilonEqZeroEpsilonDifferentValues(t *testing.T) {
|
|
if Float64EpsilonEq(3.14, 3.15, 0.0) {
|
|
t.Errorf("Float64EpsilonEq(3.14, 3.15, 0.0) = true, want false")
|
|
}
|
|
}
|