Ejemplo n.º 1
0
def test_math_min_expr_5():
    program = """
a = min(1 + 10, 1 - 2)
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('r0') == -1
Ejemplo n.º 2
0
def test_math_min_expr_2():
    program = """
a =  min(1, 2) + 10
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('r0') == 11
Ejemplo n.º 3
0
def test_math_min_expr_3():
    program = """
a = 1 if 10 + min(1, 2) else 0
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('r0') == 1
Ejemplo n.º 4
0
def test_condition_assignment_ternary_false():
    program = """
out = 1 if 1 and 0 else 0
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 0
Ejemplo n.º 5
0
def test_condition_assignment_and_true():
    program = """
out = 1 and 1
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 1
Ejemplo n.º 6
0
def test_not_test_ternary_true():
    program = """
out = 1 if not 1 else 0
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 0
Ejemplo n.º 7
0
def test_sleep():
    program = """
sleep(1)
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_total_sleep() == 1
Ejemplo n.º 8
0
def test_math_min_exp_4():
    program = """
a = min(3, 1 if 0 else 2)
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('r0') == 2
Ejemplo n.º 9
0
def test_not_expr_false():
    program = """
out = not 0
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 1
Ejemplo n.º 10
0
def test_exprstmt_mul_2():
    program = """
out = 1 * 2 * 3
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 6
Ejemplo n.º 11
0
def test_exprstmt_div():
    program = """
out = 1 / 2
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 0.5
Ejemplo n.º 12
0
def test_exprstmt_add_div_par():
    program = """
out = (10 + 20) / 2
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 15
Ejemplo n.º 13
0
def test_if_else_ternary_true_expr():
    program = """
out = 1 * 10 if 1 * 2 else 2 * 10
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 10
Ejemplo n.º 14
0
def test_exprstmt_mod():
    program = """
out = 5 % 2
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 1
Ejemplo n.º 15
0
def test_exprstmt_add_mul_par():
    program = """
out = (1 + 2) * 10
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 30
Ejemplo n.º 16
0
def test_math_not_min_1():
    program = """
a = not min(0, 1)
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('r0') == 1
Ejemplo n.º 17
0
def test_math_if_ternary_min_1():
    program = """
a = 0 if min(0, 1) else 1
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('r0') == 1
Ejemplo n.º 18
0
def test_not_expr_neg_true():
    program = """
out = not -1
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 0
Ejemplo n.º 19
0
def test_math_min_exp_1():
    program = """
a = min(1 if 1 else 2, 3)
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('r0') == 1
Ejemplo n.º 20
0
def test_math_max_2():
    program = """
a = max(2, 1)
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('r0') == 2
Ejemplo n.º 21
0
def test_if_else_ternary_expr_r_true():
    program = """
out = (1 if 1 else 2) + 10
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 11
Ejemplo n.º 22
0
def test_var_assign():
    program = """
a = 1
out = a
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 1
Ejemplo n.º 23
0
def test_var_negative():
    program = """
a = -1
out = a
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == -1
Ejemplo n.º 24
0
def test_math_rand_3():
    program = """
a = min(rand(), 1)
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.mips_len == 2
    assert vm.get_variable('r0') == 0.5
Ejemplo n.º 25
0
def test_ternary_call_cond_true_improve():
    program = """
out = min(1, 2) if max(0, 1) else max(3, 4)
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 1
    assert vm.mips_len <= 4
Ejemplo n.º 26
0
def test_sleep_args_2():
    program = """
a = 2
sleep(1 if a else 2)
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_total_sleep() == 1
Ejemplo n.º 27
0
def test_ternary_call_false_improve():
    program = """
out = min(1, 2) if 0 else max(3, 4)
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 4
    assert vm.mips_len <= 4
Ejemplo n.º 28
0
def test_math_rand_2():
    program = """
a = rand() if True else 0
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.mips_len == 4
    assert vm.get_variable('r0') == 0.5
Ejemplo n.º 29
0
def test_if_else_ternary_false():
    program = """
out = 1 if 0 else 2
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 2
    assert vm.mips_len == 4
Ejemplo n.º 30
0
def test_sleep_args_1():
    program = """
a = 2
sleep(min(a + 1, a))
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_total_sleep() == 2