11from unittest .mock import AsyncMock , Mock
22
3+ import pytest
4+
35from autointent .generation .utterances import AbstractEvolution , IncrementalUtteranceEvolver , UtteranceEvolver
46
57
@@ -28,6 +30,14 @@ def test_on_dataset_incremental(dataset):
2830 assert len (new_samples ) == n_before
2931 assert set (new_samples .column_names ) == set (dataset [split_name ].column_names )
3032
33+ n_before = len (dataset [split_name ])
34+ new_samples = augmenter .augment (dataset , split_name = split_name , n_evolutions = 1 , update_split = True , sequential = True )
35+ n_after = len (dataset [split_name ])
36+
37+ assert n_before + len (new_samples ) == n_after
38+ assert len (new_samples ) == n_before
39+ assert set (new_samples .column_names ) == set (dataset [split_name ].column_names )
40+
3141
3242def test_on_dataset_increment_evolver_async (dataset ):
3343 mock_llm = AsyncMock ()
@@ -54,6 +64,11 @@ def test_on_dataset_increment_evolver_async(dataset):
5464 assert len (new_samples ) == n_before
5565 assert set (new_samples .column_names ) == set (dataset [split_name ].column_names )
5666
67+ with pytest .raises (ValueError , match = "Sequential and async modes are not compatible" ):
68+ new_samples = augmenter .augment (
69+ dataset , split_name = split_name , n_evolutions = 1 , update_split = True , sequential = True
70+ )
71+
5772
5873def test_on_dataset_increment_evolver_async_with_batch_size (dataset ):
5974 mock_llm = AsyncMock ()
@@ -80,6 +95,11 @@ def test_on_dataset_increment_evolver_async_with_batch_size(dataset):
8095 assert len (new_samples ) == len (dataset [split_name ])
8196 assert set (new_samples .column_names ) == set (dataset [split_name ].column_names )
8297
98+ with pytest .raises (ValueError , match = "Sequential and async modes are not compatible" ):
99+ new_samples = augmenter .augment (
100+ dataset , split_name = split_name , n_evolutions = 1 , update_split = True , batch_size = batch_size , sequential = True
101+ )
102+
83103
84104def test_default_chat_template (dataset ):
85105 template = AbstractEvolution ()
@@ -112,6 +132,14 @@ def test_on_dataset(dataset):
112132 assert len (new_samples ) == n_before
113133 assert set (new_samples .column_names ) == set (dataset [split_name ].column_names )
114134
135+ n_before = len (dataset [split_name ])
136+ new_samples = augmenter .augment (dataset , split_name = split_name , n_evolutions = 1 , update_split = True , sequential = True )
137+ n_after = len (dataset [split_name ])
138+
139+ assert n_before + len (new_samples ) == n_after
140+ assert len (new_samples ) == n_before
141+ assert set (new_samples .column_names ) == set (dataset [split_name ].column_names )
142+
115143
116144def test_on_dataset_evolver_async (dataset ):
117145 mock_llm = AsyncMock ()
@@ -138,6 +166,11 @@ def test_on_dataset_evolver_async(dataset):
138166 assert len (new_samples ) == n_before
139167 assert set (new_samples .column_names ) == set (dataset [split_name ].column_names )
140168
169+ with pytest .raises (ValueError , match = "Sequential and async modes are not compatible" ):
170+ new_samples = augmenter .augment (
171+ dataset , split_name = split_name , n_evolutions = 1 , update_split = True , sequential = True
172+ )
173+
141174
142175def test_on_dataset_evolver_async_with_batch_size (dataset ):
143176 mock_llm = AsyncMock ()
@@ -163,3 +196,8 @@ def test_on_dataset_evolver_async_with_batch_size(dataset):
163196
164197 assert len (new_samples ) == len (dataset [split_name ])
165198 assert set (new_samples .column_names ) == set (dataset [split_name ].column_names )
199+
200+ with pytest .raises (ValueError , match = "Sequential and async modes are not compatible" ):
201+ new_samples = augmenter .augment (
202+ dataset , split_name = split_name , n_evolutions = 1 , update_split = True , batch_size = batch_size , sequential = True
203+ )
0 commit comments