Exemple #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
Exemple #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
Exemple #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
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
def test_condition_assignment_and_true():
    program = """
out = 1 and 1
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 1
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
Exemple #7
0
def test_sleep():
    program = """
sleep(1)
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_total_sleep() == 1
Exemple #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
def test_not_expr_false():
    program = """
out = not 0
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 1
Exemple #10
0
def test_exprstmt_mul_2():
    program = """
out = 1 * 2 * 3
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 6
Exemple #11
0
def test_exprstmt_div():
    program = """
out = 1 / 2
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 0.5
Exemple #12
0
def test_exprstmt_add_div_par():
    program = """
out = (10 + 20) / 2
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 15
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
Exemple #14
0
def test_exprstmt_mod():
    program = """
out = 5 % 2
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 1
Exemple #15
0
def test_exprstmt_add_mul_par():
    program = """
out = (1 + 2) * 10
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 30
Exemple #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
Exemple #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
def test_not_expr_neg_true():
    program = """
out = not -1
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 0
Exemple #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
Exemple #20
0
def test_math_max_2():
    program = """
a = max(2, 1)
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('r0') == 2
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
Exemple #22
0
def test_var_assign():
    program = """
a = 1
out = a
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == 1
Exemple #23
0
def test_var_negative():
    program = """
a = -1
out = a
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_variable('o') == -1
Exemple #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
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
Exemple #26
0
def test_exception_sleep_return_1():
    program = """
a = sleep(2)
"""
    vm = MIPSVM(program)
    vm.execute()
    assert vm.get_total_sleep() == 2
    assert vm.get_variable('r0') == 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
Exemple #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
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
Exemple #30
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