def test_get8(self): data = bytearray(random.getrandbits(8) for _ in range(100)) br = byterange.frombytes(data) for i in range(100): with self.subTest(index=i): vm = VM() vm.push(br) vm.push(i) vm.dup1() byterange.get8(vm) self.assertEqual(data[i], vm.stack[0])
def test_getset(self): vm = VM() keyvalue.new(vm) for val in range(200): vm.push(val) vm.push(val + 1000) vm.swap2() keyvalue.set_val(vm) for val in range(200): vm.push(val) vm.dup1() keyvalue.get(vm) self.assertEqual(val + 1000, vm.stack.items[0]) vm.pop()
def test_getset(self): indexes = [1, 10, 5, 6, 20, 100, 7, 5] vm = VM() sized_byterange.new(vm) for val in indexes: vm.push(val * 58) vm.push(val + 100) vm.swap2() sized_byterange.set_val(vm) for val in indexes: vm.push(val * 58) vm.dup1() sized_byterange.get(vm) self.assertEqual(val + 100, vm.stack.items[0]) vm.pop()
def test_set_static(self): kvs = keyvalue.make() for val in range(200): kvs = keyvalue.set_static(kvs, val, val + 1000) vm = VM() vm.push(kvs) for val in range(200): vm.push(val) vm.dup1() keyvalue.get(vm) self.assertEqual(vm.stack[0], val + 1000) vm.pop() kvs = keyvalue.set_static(kvs, 100, 2100) self.assertEqual(keyvalue.get_static(kvs, 100), 2100)
def test_static_get(self): vm = VM() sized_byterange.new(vm) for val in range(200): vm.push(val * 58) vm.push(val + 100) vm.swap2() sized_byterange.set_val(vm) tup = vm.stack.items[0] for val in range(200): vm.push(val * 58) vm.dup1() sized_byterange.get(vm) self.assertEqual(sized_byterange.get_static(tup, val * 58), vm.stack.items[0]) vm.pop()
def test_get_static(self): vm = VM() keyvalue.new(vm) for val in range(200): vm.push(val) vm.push(val + 1000) vm.swap2() keyvalue.set_val(vm) kvs = vm.stack.items[0] for val in range(200): vm.push(val) vm.dup1() keyvalue.get(vm) self.assertEqual(keyvalue.get_static(kvs, val), vm.stack.items[0]) vm.pop() self.assertEqual(keyvalue.get_static(kvs, 100000), value.Tuple([]))