add bitwise arithmetic

This commit is contained in:
Rich Jones 2025-02-21 12:02:41 +01:00
parent bedee59616
commit 17088e9b42
2 changed files with 207 additions and 0 deletions

View file

@ -0,0 +1,54 @@
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