reasoning-gym/tests/test_decimal_arithmetic.py
2025-02-19 12:30:07 +01:00

50 lines
1.6 KiB
Python

import pytest
from reasoning_gym.arithmetic.decimal_arithmetic import DecimalArithmeticDataset, DecimalArithmeticDatasetConfig
def test_decimal_arithmetic():
"""Test basic properties and solution of generated items"""
# Easy
config = DecimalArithmeticDatasetConfig(
seed=42, size=2000, min_num_decimal_places=3, max_num_decimal_places=3, precision=5, terms=3
)
dataset = DecimalArithmeticDataset(config)
for item in dataset:
assert isinstance(item, dict)
assert "question" in item
assert "answer" in item
assert "metadata" in item
# Test the scoring
assert dataset.score_answer(answer=item["answer"], entry=item) == 1.0
# M
config = DecimalArithmeticDatasetConfig(
seed=42, size=2000, min_num_decimal_places=3, max_num_decimal_places=6, precision=8, terms=6
)
dataset = DecimalArithmeticDataset(config)
for item in dataset:
assert isinstance(item, dict)
assert "question" in item
assert "answer" in item
assert "metadata" in item
assert dataset.score_answer(answer=item["answer"], entry=item) == 1.0
# H
config = DecimalArithmeticDatasetConfig(
seed=42, size=2000, min_num_decimal_places=3, max_num_decimal_places=13, precision=15, terms=10
)
dataset = DecimalArithmeticDataset(config)
for item in dataset:
assert isinstance(item, dict)
assert "question" in item
assert "answer" in item
assert "metadata" in item
assert dataset.score_answer(answer=item["answer"], entry=item) == 1.0