reasoning-gym/tests/test_bitwise_arithmetic.py
2025-02-21 12:02:41 +01:00

54 lines
1.5 KiB
Python

import pytest
from reasoning_gym.arithmetic.bitwise_arithmetic import BitwiseArithmeticConfig, BitwiseArithmeticDataset
def test_bitwise_arithmetic():
"""Test basic properties and solution of generated items"""
# Easy
config = BitwiseArithmeticConfig(
seed=42,
size=2000,
difficulty=1,
)
dataset = BitwiseArithmeticDataset(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
assert dataset.score_answer(answer=None, entry=item) == 0.0
assert dataset.score_answer(answer="kitty cat", entry=item) == 0.01
config = BitwiseArithmeticConfig(
seed=42,
size=100,
difficulty=5,
)
dataset = BitwiseArithmeticDataset(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
config = BitwiseArithmeticConfig(
seed=42,
size=100,
difficulty=10,
)
dataset = BitwiseArithmeticDataset(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