@@ -44,10 +44,30 @@ def test_diff_values_mixed():
4444
4545
4646def test_diff_values_array ():
47- a_int = np .array ([1 , 2 ])
47+ from numpy import NaN , array , inf
48+ a_int = array ([1 , 2 ])
4849 a_float = a_int .astype (float )
4950
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 )
5153 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 ]))
5258 assert not are_values_different (a_int , a_int )
5359 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