mirror of
https://github.com/open-thought/reasoning-gym.git
synced 2026-04-24 17:05:03 +00:00
feat: Add comprehensive unit tests for parse_string_to_complex() method
This commit is contained in:
parent
726ba114dc
commit
a92dcd4a75
2 changed files with 80 additions and 18 deletions
|
|
@ -88,3 +88,45 @@ def test_complex_arithmetic_division_by_zero():
|
|||
item = dataset[i]
|
||||
num2 = complex(*item["metadata"]["num2"])
|
||||
assert num2 != 0
|
||||
|
||||
|
||||
def test_parse_string_to_complex():
|
||||
"""Test the parse_string_to_complex method with various input formats."""
|
||||
dataset = ComplexArithmeticDataset(ComplexArithmeticConfig())
|
||||
|
||||
# Test pure real numbers
|
||||
assert dataset.parse_string_to_complex("5") == complex(5, 0)
|
||||
assert dataset.parse_string_to_complex("5.0") == complex(5, 0)
|
||||
assert dataset.parse_string_to_complex("-5") == complex(-5, 0)
|
||||
assert dataset.parse_string_to_complex("-5.5") == complex(-5.5, 0)
|
||||
|
||||
# Test pure imaginary numbers
|
||||
assert dataset.parse_string_to_complex("i") == complex(0, 1)
|
||||
assert dataset.parse_string_to_complex("j") == complex(0, 1)
|
||||
assert dataset.parse_string_to_complex("7i") == complex(0, 7)
|
||||
assert dataset.parse_string_to_complex("7.0i") == complex(0, 7)
|
||||
assert dataset.parse_string_to_complex("-i") == complex(0, -1)
|
||||
assert dataset.parse_string_to_complex("-7i") == complex(0, -7)
|
||||
assert dataset.parse_string_to_complex("-7.5i") == complex(0, -7.5)
|
||||
|
||||
# Test complex numbers with both parts
|
||||
assert dataset.parse_string_to_complex("3+2i") == complex(3, 2)
|
||||
assert dataset.parse_string_to_complex("3 + 2i") == complex(3, 2)
|
||||
assert dataset.parse_string_to_complex("3.5 + 2.5i") == complex(3.5, 2.5)
|
||||
assert dataset.parse_string_to_complex("-3 + 2i") == complex(-3, 2)
|
||||
assert dataset.parse_string_to_complex("3 - 2i") == complex(3, -2)
|
||||
assert dataset.parse_string_to_complex("-3 - 2i") == complex(-3, -2)
|
||||
|
||||
# Test with j notation
|
||||
assert dataset.parse_string_to_complex("3+2j") == complex(3, 2)
|
||||
assert dataset.parse_string_to_complex("3 + 2j") == complex(3, 2)
|
||||
|
||||
# Test with different spacing
|
||||
assert dataset.parse_string_to_complex(" 3 + 2i ") == complex(3, 2)
|
||||
assert dataset.parse_string_to_complex("3+i") == complex(3, 1)
|
||||
assert dataset.parse_string_to_complex("3-i") == complex(3, -1)
|
||||
|
||||
# Test invalid inputs
|
||||
assert dataset.parse_string_to_complex("invalid") is None
|
||||
assert dataset.parse_string_to_complex("3 + i + 2") is None
|
||||
assert dataset.parse_string_to_complex("3 + 2x") is None
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue