Coverage for src/tests/core/test_functions.py: 100%
23 statements
« prev ^ index » next coverage.py v7.11.0, created at 2024-01-01 00:00 +0000
« prev ^ index » next coverage.py v7.11.0, created at 2024-01-01 00:00 +0000
1"""Module for testing the functions in functions.py."""
3from kwai_core.functions import async_groupby, generate_filenames
6async def test_async_groupby():
7 """Test async_groupby method."""
9 async def _generate_group():
10 yield "A", 1
11 yield "A", 2
12 yield "B", 3
13 yield "C", 4
14 yield "C", 5
16 it = async_groupby(_generate_group(), lambda x: x[0])
17 groups = {key: group async for key, group in it}
19 assert groups["A"] == [("A", 1), ("A", 2)]
20 assert groups["B"] == [("B", 3)]
21 assert groups["C"] == [("C", 4), ("C", 5)]
24def test_generate_filenames():
25 """Test generate_filenames."""
26 filename_generator = generate_filenames("test_", ".csv")
28 assert next(filename_generator) == "test_001.csv"
29 assert next(filename_generator) == "test_002.csv"
30 assert next(filename_generator) == "test_003.csv"
33def test_generate_filenames_with_shorter_suffix():
34 """Test generate_filenames."""
35 filename_generator = generate_filenames("test_", ".csv", 2)
37 assert next(filename_generator) == "test_01.csv"
38 assert next(filename_generator) == "test_02.csv"
39 assert next(filename_generator) == "test_03.csv"