def test_getSetPrimitiveProperties(): number = Number(20) assert number.value == 20 assert number.double_value == 40 assert Negate(Add(Number(20), Number(10))).value == -30 assert Multiply(Add(Number(5), Number(5)), Number(2)).value == 20 assert Power(Number(3), Number(4)).value == 3 ** 4 assert Power(Number(999), Number(1)).value == 999 assert Power(Number(999), Number(0)).value == 1
def test_unionProperties(): calc3 = Calculator() calc3.union_property = Multiply(Number(9), Number(3)) assert isinstance(calc3.union_property, Multiply) assert calc3.read_union_value() == 9 * 3 calc3.union_property = Power(Number(10), Number(3)) assert isinstance(calc3.union_property, Power) assert calc3.read_union_value() == 10 ** 3