11import unittest
22
33import numpy as np
4+ import scipy .sparse
45
5- from autosklearn .util .hash import hash_numpy_array
6+ from autosklearn .util .hash import hash_array_or_matrix
67
78
89class HashTests (unittest .TestCase ):
910
1011 def test_c_contiguous_array (self ):
1112 array = np .array ([[1 , 2 ], [3 , 4 ]])
1213
13- hash = hash_numpy_array (array )
14+ hash = hash_array_or_matrix (array )
1415
1516 self .assertIsNotNone (hash )
1617
1718 def test_f_contiguous_array (self ):
1819 array = np .array ([[1 , 2 ], [3 , 4 ]])
1920 array = np .asfortranarray (array )
2021
21- hash = hash_numpy_array (array )
22+ hash = hash_array_or_matrix (array )
2223
2324 self .assertIsNotNone (hash )
2425
@@ -27,25 +28,35 @@ def test_transpose_arrays(self):
2728 f_array = np .array ([[1 , 3 ], [2 , 4 ]])
2829 f_array = np .asfortranarray (f_array )
2930
30- c_hash = hash_numpy_array (c_array )
31- f_hash = hash_numpy_array (f_array )
31+ c_hash = hash_array_or_matrix (c_array )
32+ f_hash = hash_array_or_matrix (f_array )
3233
3334 self .assertEqual (c_hash , f_hash )
3435
3536 def test_same_data_arrays (self ):
3637 first_array = np .array ([[1 , 2 ], [3 , 4 ]])
3738 second_array = np .array ([[1 , 2 ], [3 , 4 ]])
3839
39- first_hash = hash_numpy_array (first_array )
40- second_hash = hash_numpy_array (second_array )
40+ first_hash = hash_array_or_matrix (first_array )
41+ second_hash = hash_array_or_matrix (second_array )
4142
4243 self .assertEqual (first_hash , second_hash )
4344
4445 def test_different_data_arrays (self ):
4546 first_array = np .array ([[1 , 2 ], [3 , 4 ]])
4647 second_array = np .array ([[1 , 3 ], [2 , 4 ]])
4748
48- first_hash = hash_numpy_array (first_array )
49- second_hash = hash_numpy_array (second_array )
49+ first_hash = hash_array_or_matrix (first_array )
50+ second_hash = hash_array_or_matrix (second_array )
5051
51- self .assertNotEqual (first_hash , second_hash )
52+ self .assertNotEqual (first_hash , second_hash )
53+
54+ def test_scipy_csr (self ):
55+ row = np .array ([0 , 0 , 1 , 2 , 2 , 2 ])
56+ col = np .array ([0 , 2 , 2 , 0 , 1 , 2 ])
57+ data = np .array ([1 , 2 , 3 , 4 , 5 , 6 ])
58+ matrix = scipy .sparse .csr_matrix ((data , (row , col )), shape = (3 , 3 ))
59+
60+ hash = hash_array_or_matrix (matrix )
61+
62+ self .assertIsNotNone (hash )
0 commit comments