def test_v_fade_array_mod(self): code = code_gen.compile_text(v_fade_array_mod, debug_print=False) vm = code_gen.VM(code['vm_code'], code['vm_data']) vm.run_once() hsv = vm.dump_hsv() for a in hsv['v_fade']: self.assertEqual(a, 2)
def test_v_fade_array_1(self): code = code_gen.compile_text(v_fade_array_1, debug_print=False) vm = code_gen.VM(code['vm_code'], code['vm_data']) vm.run_once() hsv = vm.dump_hsv() self.assertEqual(hsv['v_fade'][1], 1) self.assertEqual(hsv['v_fade'][9], 2)
def test_val_array_2(self): code = code_gen.compile_text(val_array_2, debug_print=False) vm = code_gen.VM(code['vm_code'], code['vm_data']) vm.run_once() hsv = vm.dump_hsv() for a in hsv['val']: self.assertEqual(a, 32768)
def test_sat_array_mul(self): code = code_gen.compile_text(sat_array_mul, debug_print=False) vm = code_gen.VM(code['vm_code'], code['vm_data']) vm.run_once() hsv = vm.dump_hsv() for a in hsv['sat']: self.assertEqual(a, 5)
def test_hue_array_sub(self): code = code_gen.compile_text(hue_array_sub, debug_print=False) vm = code_gen.VM(code['vm_code'], code['vm_data']) vm.run_once() hsv = vm.dump_hsv() for a in hsv['hue']: self.assertEqual(a, 65533)
def test_array_load(self): code = code_gen.compile_text(array_load, debug_print=False) vm = code_gen.VM(code['vm_code'], code['vm_data']) vm.run_once() regs = vm.dump_registers() self.assertEqual(regs['a'], 1) self.assertEqual(regs['b'], 2) self.assertEqual(regs['c'], 3) self.assertEqual(regs['d'], 4)
def test_array_indexing(self): code = code_gen.compile_text(array_indexing, debug_print=False) vm = code_gen.VM(code['vm_code'], code['vm_data']) vm.run_once() hsv = vm.dump_hsv() self.assertEqual(hsv['val'][0], 1) self.assertEqual(hsv['val'][1], 2) self.assertEqual(hsv['val'][2], 3) self.assertEqual(hsv['val'][3], 4)
def run_test(self, program, expected={}): code = code_gen.compile_text(program) vm = code_gen.VM(code['vm_code'], code['vm_data']) vm.run_once() regs = vm.dump_registers() for reg, value in expected.iteritems(): try: self.assertEqual(regs[reg], value) except AssertionError: print reg, regs[reg], value raise