| 1765 | } |
| 1766 | |
| 1767 | func TestInDelta(t *testing.T) { |
| 1768 | mockT := new(testing.T) |
| 1769 | |
| 1770 | True(t, InDelta(mockT, 1.001, 1, 0.01), "|1.001 - 1| <= 0.01") |
| 1771 | True(t, InDelta(mockT, 1, 1.001, 0.01), "|1 - 1.001| <= 0.01") |
| 1772 | True(t, InDelta(mockT, 1, 2, 1), "|1 - 2| <= 1") |
| 1773 | False(t, InDelta(mockT, 1, 2, 0.5), "Expected |1 - 2| <= 0.5 to fail") |
| 1774 | False(t, InDelta(mockT, 2, 1, 0.5), "Expected |2 - 1| <= 0.5 to fail") |
| 1775 | False(t, InDelta(mockT, "", nil, 1), "Expected non numerals to fail") |
| 1776 | False(t, InDelta(mockT, 42, math.NaN(), 0.01), "Expected NaN for actual to fail") |
| 1777 | False(t, InDelta(mockT, math.NaN(), 42, 0.01), "Expected NaN for expected to fail") |
| 1778 | True(t, InDelta(mockT, math.NaN(), math.NaN(), 0.01), "Expected NaN for both to pass") |
| 1779 | |
| 1780 | cases := []struct { |
| 1781 | a, b interface{} |
| 1782 | delta float64 |
| 1783 | }{ |
| 1784 | {uint(2), uint(1), 1}, |
| 1785 | {uint8(2), uint8(1), 1}, |
| 1786 | {uint16(2), uint16(1), 1}, |
| 1787 | {uint32(2), uint32(1), 1}, |
| 1788 | {uint64(2), uint64(1), 1}, |
| 1789 | |
| 1790 | {int(2), int(1), 1}, |
| 1791 | {int8(2), int8(1), 1}, |
| 1792 | {int16(2), int16(1), 1}, |
| 1793 | {int32(2), int32(1), 1}, |
| 1794 | {int64(2), int64(1), 1}, |
| 1795 | |
| 1796 | {float32(2), float32(1), 1}, |
| 1797 | {float64(2), float64(1), 1}, |
| 1798 | } |
| 1799 | |
| 1800 | for _, tc := range cases { |
| 1801 | True(t, InDelta(mockT, tc.a, tc.b, tc.delta), "Expected |%V - %V| <= %v", tc.a, tc.b, tc.delta) |
| 1802 | } |
| 1803 | } |
| 1804 | |
| 1805 | func TestInDeltaSlice(t *testing.T) { |
| 1806 | mockT := new(testing.T) |