def test_load_constant(): bc = ByteCode(to_code([ LOAD_CONSTANT_FLOAT, 0, RETURN, 0]), [], [12.2], [], []) frame = interpret(bc) assert frame.test_valuestack == [W_FloatObject(12.2)] assert frame.vars == []
def test_jumps(): bc = ByteCode(to_code([ LOAD_CONSTANT_FLOAT, 0, JUMP_IF_FALSE, 8, LOAD_CONSTANT_FLOAT, 1, JUMP_ABSOLUTE, 10, LOAD_CONSTANT_FLOAT, 2, RETURN, 0]), [], [0.0, -1.0, 1.0], [], []) frame = interpret(bc) assert frame.test_valuestack == [W_FloatObject(1.0)] bc = ByteCode(to_code([ LOAD_CONSTANT_FLOAT, 0, JUMP_IF_FALSE, 8, LOAD_CONSTANT_FLOAT, 1, JUMP_ABSOLUTE, 10, LOAD_CONSTANT_FLOAT, 2, RETURN, 0]), [], [1.0, -1.0, 2.0], [], []) frame = interpret(bc) assert frame.test_valuestack == [W_FloatObject(-1.0)]