feat: Add iteration support to ArithmeticDataset with size-based termination

This commit is contained in:
Andreas Koepf (aider) 2025-01-23 12:34:54 +01:00
parent fb382112be
commit 05ba566a51
2 changed files with 39 additions and 0 deletions

View file

@ -70,3 +70,29 @@ def test_arithmetic_dataset_format_styles():
config.format_style = "natural"
dataset = ArithmeticDataset(config)
assert all("=" not in item["question"] for item in dataset)
def test_arithmetic_dataset_iteration():
"""Test that iteration respects dataset size"""
config = ArithmeticDatasetConfig(
min_terms=2,
max_terms=2,
size=5, # Small size for testing
seed=42
)
dataset = ArithmeticDataset(config)
# Test manual iteration
items = []
for item in dataset:
items.append(item)
assert len(items) == config.size, "Iterator should yield exactly size items"
# Test list conversion
items = list(dataset)
assert len(items) == config.size, "Iterator should yield exactly size items"
# Test multiple iterations
first_items = list(dataset)
second_items = list(dataset)
assert first_items == second_items, "Multiple iterations should yield same items"