@@ -1313,15 +1313,23 @@ def test_dropna(fill_value):
1313
1313
tm .assert_equal (df .dropna (), expected_df )
1314
1314
1315
1315
1316
- def test_maxmin ():
1317
- data = np .arange (10 ).astype (float )
1318
- max_out = SparseArray (data ).max ()
1319
- min_out = SparseArray (data ).min ()
1320
- assert max_out == 9
1321
- assert min_out == 0
1322
-
1323
- data = data * (- 1 )
1324
- max_out = SparseArray (data ).max ()
1325
- min_out = SparseArray (data ).min ()
1326
- assert max_out == 0
1327
- assert min_out == - 9
1316
+ class TestMinMax :
1317
+ plain_data = np .arange (5 ).astype (float )
1318
+ data_neg = plain_data * (- 1 )
1319
+ data_NaN = SparseArray (np .array ([0 , 1 , 2 , np .nan , 4 ]))
1320
+ data_all_NaN = SparseArray (np .array ([np .nan , np .nan , np .nan , np .nan , np .nan ]))
1321
+
1322
+ @pytest .mark .parametrize (
1323
+ "raw_data,max_expected,min_expected" ,
1324
+ [
1325
+ (plain_data , [4 ], [0 ]),
1326
+ (data_neg , [0 ], [- 4 ]),
1327
+ (data_NaN , [4 ], [0 ]),
1328
+ (data_all_NaN , [np .nan ], [np .nan ]),
1329
+ ],
1330
+ )
1331
+ def test_maxmin (self , raw_data , max_expected , min_expected ):
1332
+ max_result = SparseArray (raw_data ).max ()
1333
+ min_result = SparseArray (raw_data ).min ()
1334
+ assert max_result in max_expected
1335
+ assert min_result in min_expected
0 commit comments