mirror of
https://github.com/Sosokker/Calculator-for-Matrix-and-Algebra.git
synced 2025-12-18 20:54:05 +01:00
Change testcase structure
This commit is contained in:
parent
70eb1a5f08
commit
997fd00be0
4
pytest.ini
Normal file
4
pytest.ini
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[pytest]
|
||||||
|
addopts = -ra -q
|
||||||
|
testpaths = tests
|
||||||
|
python_files = tests.py test_*.py
|
||||||
0
tests/__init__.py
Normal file
0
tests/__init__.py
Normal file
@ -1,52 +0,0 @@
|
|||||||
import pytest
|
|
||||||
import sys
|
|
||||||
|
|
||||||
sys.path.append('..')
|
|
||||||
|
|
||||||
from src.preparer.PrepareExpression import PrepareExpression
|
|
||||||
|
|
||||||
class TestPrepareExpression:
|
|
||||||
preparer = PrepareExpression()
|
|
||||||
|
|
||||||
def test_add_asterisks(self):
|
|
||||||
# Test case 1: Single level parentheses
|
|
||||||
expression1 = "(1+2)(3+4)"
|
|
||||||
result1 = self.preparer.add_asterisks(expression1)
|
|
||||||
assert result1 == "(1+2)*(3+4)"
|
|
||||||
|
|
||||||
# Test case 2: Nested parentheses
|
|
||||||
expression2 = "(1+2(2+3(3+4)))"
|
|
||||||
result2 = self.preparer.add_asterisks(expression2)
|
|
||||||
assert result2 == "(1+2*(2+3*(3+4)))"
|
|
||||||
|
|
||||||
def test_fix_mismatched_parentheses(self):
|
|
||||||
# Test case 1: Fixing a single mismatched closing parenthesis
|
|
||||||
expression1 = "(((1+2)+3)+4))"
|
|
||||||
fixed_expression1 = self.preparer.fix_mismatched_parentheses(expression1)
|
|
||||||
assert fixed_expression1 == "(((1+2)+3)+4)"
|
|
||||||
|
|
||||||
# Test case 2: Fixing a single mismatched opening parenthesis
|
|
||||||
expression2 = "(((1+2)+3)+4"
|
|
||||||
fixed_expression2 = self.preparer.fix_mismatched_parentheses(expression2)
|
|
||||||
assert fixed_expression2 == "(((1+2)+3)+4)"
|
|
||||||
|
|
||||||
# Test case 3: Fixing multiple mismatched parentheses
|
|
||||||
expression3 = "(((1+2)+3)+4))"
|
|
||||||
fixed_expression3 = self.preparer.fix_mismatched_parentheses(expression3)
|
|
||||||
assert fixed_expression3 == "(((1+2)+3)+4)"
|
|
||||||
|
|
||||||
# Test case 4: No mismatched parentheses
|
|
||||||
expression4 = "(((1+2)+3)+4)"
|
|
||||||
fixed_expression4 = self.preparer.fix_mismatched_parentheses(expression4)
|
|
||||||
assert fixed_expression4 == "(((1+2)+3)+4)"
|
|
||||||
|
|
||||||
def test_combined_methods(self):
|
|
||||||
# Test case 1: Combined methods: add_asterisks + fix_mismatched_parentheses
|
|
||||||
expression1 = "(((1+2)+3)+4))"
|
|
||||||
result1 = self.preparer.add_asterisks(expression1)
|
|
||||||
fixed_result1 = self.preparer.fix_mismatched_parentheses(result1)
|
|
||||||
assert fixed_result1 == "(((1+2)+3)+4)"
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
pytest.main()
|
|
||||||
54
tests/test_PrepareExpression.py
Normal file
54
tests/test_PrepareExpression.py
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
import sys
|
||||||
|
import pytest
|
||||||
|
sys.path.append('..')
|
||||||
|
|
||||||
|
from src.preparer.PrepareExpression import PrepareExpression
|
||||||
|
|
||||||
|
def test_add_asterisks():
|
||||||
|
preparer = PrepareExpression()
|
||||||
|
|
||||||
|
# Test case 1: Single level parentheses
|
||||||
|
expression1 = "(1+2)(3+4)"
|
||||||
|
result1 = preparer.add_asterisks(expression1)
|
||||||
|
assert result1 == "(1+2)*(3+4)"
|
||||||
|
|
||||||
|
# Test case 2: Nested parentheses
|
||||||
|
expression2 = "(1+2(2+3(3+4)))"
|
||||||
|
result2 = preparer.add_asterisks(expression2)
|
||||||
|
assert result2 == "(1+2*(2+3*(3+4)))"
|
||||||
|
|
||||||
|
def test_fix_mismatched_parentheses():
|
||||||
|
preparer = PrepareExpression()
|
||||||
|
|
||||||
|
# Test case 1: Fixing a single mismatched closing parenthesis
|
||||||
|
expression1 = "(((1+2)+3)+4))"
|
||||||
|
fixed_expression1 = preparer.fix_mismatched_parentheses(expression1)
|
||||||
|
assert fixed_expression1 == "(((1+2)+3)+4)"
|
||||||
|
|
||||||
|
# Test case 2: Fixing a single mismatched opening parenthesis
|
||||||
|
expression2 = "(((1+2)+3)+4"
|
||||||
|
fixed_expression2 = preparer.fix_mismatched_parentheses(expression2)
|
||||||
|
assert fixed_expression2 == "(((1+2)+3)+4)"
|
||||||
|
|
||||||
|
# Test case 3: Fixing multiple mismatched parentheses
|
||||||
|
expression3 = "(((1+2)+3)+4))"
|
||||||
|
fixed_expression3 = preparer.fix_mismatched_parentheses(expression3)
|
||||||
|
assert fixed_expression3 == "(((1+2)+3)+4)"
|
||||||
|
|
||||||
|
# Test case 4: No mismatched parentheses
|
||||||
|
expression4 = "(((1+2)+3)+4)"
|
||||||
|
fixed_expression4 = preparer.fix_mismatched_parentheses(expression4)
|
||||||
|
assert fixed_expression4 == "(((1+2)+3)+4)"
|
||||||
|
|
||||||
|
def test_combined_methods():
|
||||||
|
preparer = PrepareExpression()
|
||||||
|
|
||||||
|
# Test case 1: Combined methods: add_asterisks + fix_mismatched_parentheses
|
||||||
|
expression1 = "(((1+2)+3)+4))"
|
||||||
|
result1 = preparer.add_asterisks(expression1)
|
||||||
|
fixed_result1 = preparer.fix_mismatched_parentheses(result1)
|
||||||
|
assert fixed_result1 == "(((1+2)+3)+4)"
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
pytest.main()
|
||||||
Loading…
Reference in New Issue
Block a user