use of net.taken.redsnake.lang.RedsInteger in project redsnake by Taken0711.
the class ArithmeticBinaryExpressionTest method shouldReturnCorrectResultWhenExecuteBinaryExprDiv.
@Test
void shouldReturnCorrectResultWhenExecuteBinaryExprDiv() {
ArithmeticBinaryExpression abe = createBinaryExpression(DIVIDE, 4, 2);
assertEquals(new RedsInteger(2), abe.execute(env));
}
use of net.taken.redsnake.lang.RedsInteger in project redsnake by Taken0711.
the class ArithmeticBinaryExpressionTest method shouldPrioritizePowerOverUnaryMinus.
@Test
void shouldPrioritizePowerOverUnaryMinus() {
Statement stmt = parseStatement("-(2)**2");
assertEquals(new RedsInteger(-4), stmt.execute(env));
}
use of net.taken.redsnake.lang.RedsInteger in project redsnake by Taken0711.
the class ArithmeticBinaryExpressionTest method shouldPrioritizeMultiplyDivideAndModuloOverPlusAndMinus.
@Test
void shouldPrioritizeMultiplyDivideAndModuloOverPlusAndMinus() {
Statement stmt = parseStatement("2+2*3-4/2+5%3");
assertEquals(new RedsInteger(8), stmt.execute(env));
}
use of net.taken.redsnake.lang.RedsInteger in project redsnake by Taken0711.
the class ArithmeticUnaryExpressionTest method shouldReturnCorrectResultWhenExecuteUnaryExprUnaryMinus.
@Test
void shouldReturnCorrectResultWhenExecuteUnaryExprUnaryMinus() {
ArithmeticUnaryExpression aue = createUnaryExpression(ArithmeticUnaryExpression.Type.MINUS, 2);
assertEquals(new RedsInteger(-2), aue.execute(env));
}
use of net.taken.redsnake.lang.RedsInteger in project redsnake by Taken0711.
the class AssignmentTest method shouldUpdateValueWhenAssignExistingVariable.
@Test
void shouldUpdateValueWhenAssignExistingVariable() {
env.putVariable("durra", new RedsInteger(317));
Assignment assignment = createAssignment("durra", 834);
assignment.execute(env);
assertEquals(new RedsInteger(834), env.getVariable("durra"));
}
Aggregations