@@ -1956,3 +1956,28 @@ def test_repeat(ndim, repeats):
19561956 print (f"Expected: { expected } , Actual: { actual } " )
19571957 assert actual .shape == expected .shape
19581958 np .testing .assert_array_equal (actual , expected )
1959+
1960+
1961+ def test_tile_invalid_input ():
1962+ a = np .eye (3 )
1963+ assert isinstance (sparse .tile (a , 2 ), sparse .COO )
1964+
1965+
1966+ @pytest .mark .parametrize (
1967+ "arr,reps" ,
1968+ [
1969+ (np .array ([1 , 2 , 3 ]), (3 ,)),
1970+ (np .array ([4 , 5 , 6 , 7 ]), 3 ),
1971+ (np .array (1 ), 3 ),
1972+ (np .array ([[1 , 2 ], [3 , 4 ]]), (2 , 2 )),
1973+ (np .array ([[[1 ], [2 ]], [[3 ], [4 ]]]), (2 , 1 , 2 )),
1974+ (np .random .default_rng (0 ).integers (0 , 10 , (2 , 1 , 3 )), (2 , 2 , 2 )),
1975+ (np .random .default_rng (1 ).integers (0 , 5 , (1 , 3 , 1 , 2 )), (2 , 1 , 3 , 1 )),
1976+ ],
1977+ )
1978+ def test_tile (arr , reps ):
1979+ sparse_arr = sparse .COO .from_numpy (arr )
1980+ expected = np .tile (arr , reps )
1981+ result = sparse .tile (sparse_arr , reps ).todense ()
1982+
1983+ np .testing .assert_array_equal (result , expected , err_msg = f"Mismatch for shape={ arr .shape } , reps={ reps } " )
0 commit comments