1
1
import random
2
+ from typing import Generator
3
+
2
4
from src .thread .utils import algorithm
3
5
4
6
7
+ def test_type ():
8
+ assert isinstance (algorithm .chunk_split (5 , 1 ), Generator )
9
+
10
+
5
11
def test_chunking_1 ():
6
- assert algorithm .chunk_split (5 , 1 ) == [(0 , 5 )]
12
+ assert list ( algorithm .chunk_split (5 , 1 ) ) == [(0 , 5 )]
7
13
8
14
9
15
def 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 )]
11
17
12
18
13
19
def test_chunking_3 ():
14
- assert algorithm .chunk_split (100 , 8 ) == [
20
+ assert list ( algorithm .chunk_split (100 , 8 ) ) == [
15
21
(0 , 13 ),
16
22
(13 , 26 ),
17
23
(26 , 39 ),
@@ -31,15 +37,13 @@ def test_chunking_dynamic():
31
37
expected_chunk_high = dataset_length % thread_count
32
38
33
39
i = 0
34
- heap = []
40
+ gen = algorithm . chunk_split ( dataset_length , thread_count )
35
41
while i < dataset_length :
36
42
chunk_length = expected_chunk_length_low + int (expected_chunk_high > 0 )
37
43
b = i + chunk_length
38
44
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 )} '
40
48
expected_chunk_high -= 1
41
49
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