@@ -44,10 +44,30 @@ def test_diff_values_mixed():
44
44
45
45
46
46
def test_diff_values_array ():
47
- a_int = np .array ([1 , 2 ])
47
+ from numpy import NaN , array , inf
48
+ a_int = array ([1 , 2 ])
48
49
a_float = a_int .astype (float )
49
50
50
- #assert are_values_different(a_int, a_float)
51
+ assert are_values_different (a_int , a_float )
52
+ assert are_values_different (a_int , a_int , a_float )
51
53
assert are_values_different (np .arange (3 ), np .arange (1 , 4 ))
54
+ assert are_values_different (np .arange (3 ), np .arange (4 ))
55
+ assert are_values_different (np .arange (4 ), np .arange (4 ).reshape ((2 , 2 )))
56
+ # no broadcasting should kick in - shape difference
57
+ assert are_values_different (array ([1 ]), array ([1 , 1 ]))
52
58
assert not are_values_different (a_int , a_int )
53
59
assert not are_values_different (a_float , a_float )
60
+
61
+ # NaNs - we consider them "the same" for the purpose of these comparisons
62
+ assert not are_values_different (NaN , NaN )
63
+ assert not are_values_different (NaN , NaN , NaN )
64
+ assert are_values_different (NaN , NaN , 1 )
65
+ assert are_values_different (1 , NaN , NaN )
66
+ assert not are_values_different (array ([NaN , NaN ]), array ([NaN , NaN ]))
67
+ assert not are_values_different (array ([NaN , NaN ]), array ([NaN , NaN ]), array ([NaN , NaN ]))
68
+ assert not are_values_different (array ([NaN , 1 ]), array ([NaN , 1 ]))
69
+ assert are_values_different (array ([NaN , NaN ]), array ([NaN , 1 ]))
70
+ assert are_values_different (array ([0 , NaN ]), array ([NaN , 0 ]))
71
+ # and some inf should not be a problem
72
+ assert not are_values_different (array ([0 , inf ]), array ([0 , inf ]))
73
+ assert are_values_different (array ([0 , inf ]), array ([inf , 0 ]))
0 commit comments