| 2271 | } |
| 2272 | |
| 2273 | func TestInDelta(t *testing.T) { |
| 2274 | t.Parallel() |
| 2275 | |
| 2276 | mockT := new(testing.T) |
| 2277 | |
| 2278 | True(t, InDelta(mockT, 1.001, 1, 0.01), "|1.001 - 1| <= 0.01") |
| 2279 | True(t, InDelta(mockT, 1, 1.001, 0.01), "|1 - 1.001| <= 0.01") |
| 2280 | True(t, InDelta(mockT, 1, 2, 1), "|1 - 2| <= 1") |
| 2281 | False(t, InDelta(mockT, 1, 2, 0.5), "Expected |1 - 2| <= 0.5 to fail") |
| 2282 | False(t, InDelta(mockT, 2, 1, 0.5), "Expected |2 - 1| <= 0.5 to fail") |
| 2283 | False(t, InDelta(mockT, "", nil, 1), "Expected non numerals to fail") |
| 2284 | False(t, InDelta(mockT, 42, math.NaN(), 0.01), "Expected NaN for actual to fail") |
| 2285 | False(t, InDelta(mockT, math.NaN(), 42, 0.01), "Expected NaN for expected to fail") |
| 2286 | True(t, InDelta(mockT, math.NaN(), math.NaN(), 0.01), "Expected NaN for both to pass") |
| 2287 | |
| 2288 | cases := []struct { |
| 2289 | a, b interface{} |
| 2290 | delta float64 |
| 2291 | }{ |
| 2292 | {uint(2), uint(1), 1}, |
| 2293 | {uint8(2), uint8(1), 1}, |
| 2294 | {uint16(2), uint16(1), 1}, |
| 2295 | {uint32(2), uint32(1), 1}, |
| 2296 | {uint64(2), uint64(1), 1}, |
| 2297 | |
| 2298 | {int(2), int(1), 1}, |
| 2299 | {int8(2), int8(1), 1}, |
| 2300 | {int16(2), int16(1), 1}, |
| 2301 | {int32(2), int32(1), 1}, |
| 2302 | {int64(2), int64(1), 1}, |
| 2303 | |
| 2304 | {float32(2), float32(1), 1}, |
| 2305 | {float64(2), float64(1), 1}, |
| 2306 | } |
| 2307 | |
| 2308 | for _, tc := range cases { |
| 2309 | True(t, InDelta(mockT, tc.a, tc.b, tc.delta), "Expected |%V - %V| <= %v", tc.a, tc.b, tc.delta) |
| 2310 | } |
| 2311 | } |
| 2312 | |
| 2313 | func TestInDeltaSlice(t *testing.T) { |
| 2314 | t.Parallel() |