@@ -19,10 +19,19 @@ def sparsestack_example(dense_array_sparse):
19
19
return matrix
20
20
21
21
22
+ @pytest .fixture
23
+ def sparsestack_example_2layers (dense_array_sparse ):
24
+ matrix = StackedSparseArray (5 , 6 )
25
+ matrix .add_dense_matrix (dense_array_sparse [:5 , :6 ], "scoreA" )
26
+ matrix .add_dense_matrix (0.1 * dense_array_sparse [:5 , :6 ], "scoreB" )
27
+ return matrix
28
+
29
+
22
30
def test_sparsestack_empty ():
23
31
matrix = StackedSparseArray (200 , 100 )
24
32
assert matrix .shape == (200 , 100 , 0 )
25
33
assert matrix .score_names == []
34
+ assert matrix .to_array () is None
26
35
27
36
28
37
def test_sparsestack_add_dense_array ():
@@ -349,3 +358,28 @@ def test_missing_score_name():
349
358
with pytest .raises (KeyError ) as exception :
350
359
_ = matrix .guess_score_name ()
351
360
assert msg in exception .value .args [0 ]
361
+
362
+
363
+ def test_to_dict (sparsestack_example_2layers ):
364
+ sparsestack_dict = sparsestack_example_2layers .to_dict ()
365
+ expected_keys = {"n_row" , "n_col" , "row" , "col" , "data" , "dtype" }
366
+ assert expected_keys == sparsestack_dict .keys ()
367
+
368
+ expected_row = [0 , 1 , 1 , 2 , 3 , 3 , 4 ]
369
+ assert sparsestack_dict ["row" ] == expected_row
370
+
371
+ expected_data_1 = [2 , 10 , 14 , 22 , 30 , 34 , 42 ]
372
+ assert sparsestack_dict ["data" ][0 ] == (2 , 0.2 )
373
+ assert [x [0 ] for x in sparsestack_dict ["data" ]] == expected_data_1
374
+
375
+ assert sparsestack_dict ["dtype" ][0 ][0 ] == 'scoreA'
376
+ assert sparsestack_dict ["dtype" ][1 ][0 ] == 'scoreB'
377
+
378
+
379
+ def test_change_data_to_dict ():
380
+ sparsestack = StackedSparseArray (4 , 3 )
381
+ test_data = [(1.0 , 3 ), (0.831479419283098 , 1 ), (0.7963641376124944 , 3 )]
382
+ expected_data = [[1.0 , 3 ], [0.831479419283098 , 1 ], [0.7963641376124944 , 3 ]]
383
+ sparsestack .data = np .array (test_data )
384
+ sparsestack_dict = sparsestack .to_dict ()
385
+ assert sparsestack_dict ["data" ] == expected_data
0 commit comments