public static void TestVariableArithmetic() { var context = new ExecutionContext(new Python3Calculator()); var foo = new Variable("foo", context); var bar = new Variable("bar", context); context.Assign(foo, new Literal(3)); context.Assign(bar, new Literal(5.0f)); AssertEquals(context.Add(foo, bar).AsValue(), 8.0f); AssertEquals(context.Add(bar, foo).AsValue(), 8.0f); AssertEquals(context.Subtract(foo, bar).AsValue(), -2.0f); AssertEquals(context.Subtract(bar, foo).AsValue(), 2.0f); AssertEquals(context.Multiply(foo, bar).AsValue(), 15.0f); AssertEquals(context.Multiply(bar, foo).AsValue(), 15.0f); AssertEquals(context.Divide(foo, bar).AsValue(), 3 / 5.0f); AssertEquals(context.Divide(bar, foo).AsValue(), 5.0f / 3); AssertEquals(context.Mod(foo, bar).AsValue(), 3.0f); AssertEquals(context.Mod(bar, foo).AsValue(), 2.0f); }