Ejemplo n.º 1
0
 def test_get(self):
     vm = VM()
     arr = Array(100)
     vm.push(Array.from_list(list(range(100))))
     for i in range(100):
         vm.dup0()
         arr.get(i)(vm)
         self.assertEqual(vm.stack[0], i)
         vm.pop()
Ejemplo n.º 2
0
 def test_get(self):
     for size in sizes:
         bs = bigstruct.BigStruct([(i + 1, i + 1, i + 1) for i in range(size)])
         vm = VM()
         bs.initialize(vm)
         for i in range(size):
             vm.dup0()
             bs.get(i + 1, vm)
             self.assertEqual(vm.stack[0], i + 1)
             vm.pop()
Ejemplo n.º 3
0
 def test_get(self):
     bs = bigstruct.BigStruct([(i + 1, str(i + 1), i + 1)
                               for i in range(101)])
     vm = VM()
     bs.initialize(vm)
     for i in range(101):
         vm.dup0()
         bs.get(str(i + 1), vm)
         self.assertEqual(vm.stack[0], i + 1)
         vm.pop()
Ejemplo n.º 4
0
 def test_empty(self):
     vm = VM()
     vm.push(10)
     stack.new(vm)
     vm.dup0()
     stack.isempty(vm)
     self.assertTrue(vm.stack[0])
     vm.pop()
     stack.push(vm)
     stack.isempty(vm)
     self.assertFalse(vm.stack[0])
Ejemplo n.º 5
0
    def test_simple(self):
        vm = VM()
        stack.new(vm)
        for val in range(200):
            vm.push(val)
            vm.swap1()
            stack.push(vm)

        for val in range(199, -1, -1):
            stack.pop(vm)
            self.assertEqual(vm.stack[0], val)
            vm.pop()
Ejemplo n.º 6
0
 def test_getset(self):
     vm = VM()
     bs = bigstruct.BigStruct([(i + 1, i + 1, i + 1) for i in range(101)])
     bs.initialize(vm)
     vm.dup0()
     bs.get(13, vm)
     self.assertEqual(vm.stack[0], 13)
     vm.pop()
     vm.push(666)
     vm.swap1()
     bs.set_val(25, vm)
     vm.pop()
Ejemplo n.º 7
0
    def test_simple(self):
        vm = VM()
        queue.new(vm)
        for val in range(200):
            vm.push(val)
            vm.swap1()
            queue.put(vm)

        for val in range(200):
            queue.get(vm)
            self.assertEqual(vm.stack[0], val)
            vm.pop()
Ejemplo n.º 8
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()
Ejemplo n.º 9
0
    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()
Ejemplo n.º 10
0
    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)
Ejemplo n.º 11
0
    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()
Ejemplo n.º 12
0
    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([]))