🐐 More compound operators
This commit is contained in:
24
tests.py
24
tests.py
@@ -293,6 +293,30 @@ assignment_tests = [
|
||||
[Designa(ID("s"), BinOp(ID("s"), ID("i"), "SYMBOL_PLUS"))]),
|
||||
ExpressionStatement(ID("s"))]),
|
||||
ValInt(6)),
|
||||
# Compound assignment — MVLTIPLICA (*=)
|
||||
("DESIGNA x VT III\nx MVLTIPLICA II\nx",
|
||||
Program([], [Designa(ID("x"), Numeral("III")),
|
||||
Designa(ID("x"), BinOp(ID("x"), Numeral("II"), "SYMBOL_TIMES")),
|
||||
ExpressionStatement(ID("x"))]),
|
||||
ValInt(6)),
|
||||
# Compound assignment — DIVIDE (/=)
|
||||
("DESIGNA x VT XII\nx DIVIDE III\nx",
|
||||
Program([], [Designa(ID("x"), Numeral("XII")),
|
||||
Designa(ID("x"), BinOp(ID("x"), Numeral("III"), "SYMBOL_DIVIDE")),
|
||||
ExpressionStatement(ID("x"))]),
|
||||
ValInt(4)),
|
||||
# MVLTIPLICA with complex RHS — whole expression is captured before the op
|
||||
("DESIGNA x VT II\nx MVLTIPLICA II + I\nx",
|
||||
Program([], [Designa(ID("x"), Numeral("II")),
|
||||
Designa(ID("x"), BinOp(ID("x"), BinOp(Numeral("II"), Numeral("I"), "SYMBOL_PLUS"), "SYMBOL_TIMES")),
|
||||
ExpressionStatement(ID("x"))]),
|
||||
ValInt(6)),
|
||||
# DIVIDE with complex RHS
|
||||
("DESIGNA x VT XX\nx DIVIDE II + II\nx",
|
||||
Program([], [Designa(ID("x"), Numeral("XX")),
|
||||
Designa(ID("x"), BinOp(ID("x"), BinOp(Numeral("II"), Numeral("II"), "SYMBOL_PLUS"), "SYMBOL_DIVIDE")),
|
||||
ExpressionStatement(ID("x"))]),
|
||||
ValInt(5)),
|
||||
]
|
||||
|
||||
class TestAssignment(unittest.TestCase):
|
||||
|
||||
Reference in New Issue
Block a user