11import random
2+ from typing import Generator
3+
24from src .thread .utils import algorithm
35
46
7+ def test_type ():
8+ assert isinstance (algorithm .chunk_split (5 , 1 ), Generator )
9+
10+
511def test_chunking_1 ():
6- assert algorithm .chunk_split (5 , 1 ) == [(0 , 5 )]
12+ assert list ( algorithm .chunk_split (5 , 1 ) ) == [(0 , 5 )]
713
814
915def test_chunking_2 ():
10- assert algorithm .chunk_split (5 , 2 ) == [(0 , 3 ), (3 , 5 )]
16+ assert list ( algorithm .chunk_split (5 , 2 ) ) == [(0 , 3 ), (3 , 5 )]
1117
1218
1319def test_chunking_3 ():
14- assert algorithm .chunk_split (100 , 8 ) == [
20+ assert list ( algorithm .chunk_split (100 , 8 ) ) == [
1521 (0 , 13 ),
1622 (13 , 26 ),
1723 (26 , 39 ),
@@ -31,15 +37,13 @@ def test_chunking_dynamic():
3137 expected_chunk_high = dataset_length % thread_count
3238
3339 i = 0
34- heap = []
40+ gen = algorithm . chunk_split ( dataset_length , thread_count )
3541 while i < dataset_length :
3642 chunk_length = expected_chunk_length_low + int (expected_chunk_high > 0 )
3743 b = i + chunk_length
3844
39- heap .append ((i , b ))
45+ assert (
46+ next (gen ) == (i , b )
47+ ), f'\n Index: { i } \n Length: { dataset_length } \n Threads: { thread_count } \n Expected: { (i , b )} \n Actual: { next (gen )} '
4048 expected_chunk_high -= 1
4149 i = b
42-
43- assert (
44- algorithm .chunk_split (dataset_length , thread_count ) == heap
45- ), f'\n Length: { dataset_length } \n Threads: { thread_count } \n Expected: { heap } \n Actual: { algorithm .chunk_split (dataset_length , thread_count )} '
0 commit comments