Example #1
0
    def test_create_and_save_array2(self):
        block = {
            "scope_vars": {
                "address": [{
                    'name': 'addrvar',
                    'type': 'address'
                }],
                "array": [{
                    'name': 'garrvar',
                    'type': 'array',
                    'key_type': 'address'
                }, {
                    'name': 'arrvar',
                    'type': 'array',
                    'key_type': 'int'
                }]
            },
            "funcs": []
        }

        dg = dead_gen.Dead_Generator(block, 3)
        kwargs = {"type": "array", "key_type": "address"}
        var = dg.declare_var(**kwargs)
        assert (var["type"] == "array"
                and var.get("key_type", None) == "address"
                and var.get("val_type") == None)
        #assert(len(dg.variables["array"]) == 3)

        print("Test PASSED+++++++++++++")
Example #2
0
    def test_create_and_save_array_fail2(self):
        block = {
            "scope_vars": {
                "address": [{
                    'name': 'addrvar',
                    'type': 'address'
                }],
                "array": [{
                    'name': 'garrvar',
                    'type': 'array',
                    'key_type': 'address'
                }, {
                    'name': 'arrvar',
                    'type': 'array',
                    'key_type': 'int'
                }]
            },
            "funcs": []
        }

        dg = dead_gen.Dead_Generator(block, 3)
        kwargs = {"type": "array"}
        with self.assertRaises(ValueError):
            dg.declare_var(**kwargs)
        #assert(len(dg.variables["array"]) == 2)

        print("Test PASSED+++++++++++++")
    def test_no_arrs(self):
        block = {
            "scope_vars": {
                'bool': [{
                    'name': 'gboolvar',
                    'type': 'bool'
                }, {
                    'name': 'boolvar',
                    'type': 'bool'
                }],
                'string': [{
                    'name': 'gstrvar',
                    'type': 'string'
                }],
                'uint': [{
                    'name': 'uint1',
                    'type': 'uint'
                }]
            },
            "funcs": []
        }

        mapping = {
            'name': 'balances',
            'type': 'mapping',
            'key_type': 'address',
            'val_type': 'int'
        }

        dg = dead_gen.Dead_Generator(block, 3)
        statements = dg.gen_map_loop(mapping, "index", 0)

        print("Test no arrays")
        print(dead_gen.concat_lines(statements))
        assert (len(statements) == 8)
Example #4
0
    def test_create_and_save_simple_empty(self):
        block = {"scope_vars": {}, "funcs": []}

        dg = dead_gen.Dead_Generator(block, 3)
        kwargs = {"type": "address"}
        var = dg.declare_var(**kwargs)
        assert (var["type"] == "address" and var.get("key_type", None) == None
                and var.get("val_type") == None)
        #assert(len(dg.variables["address"]) == 1)

        print("Test PASSED+++++++++++++")
Example #5
0
    def test_var_map_multiple(self):
        block = {
            "scope_vars": {
                'bool': [{
                    'name': 'gboolvar',
                    'type': 'bool'
                }, {
                    'name': 'boolvar',
                    'type': 'bool'
                }],
                'string': [{
                    'name': 'gstrvar',
                    'type': 'string'
                }],
                'mapping': [{
                    'name': 'balances',
                    'type': 'mapping',
                    'key_type': 'address',
                    'val_type': 'uint',
                }, {
                    'name': 'mapp',
                    'type': 'mapping',
                    'key_type': 'string',
                    'val_type': 'string',
                }, {
                    'name': 'more_balances',
                    'type': 'mapping',
                    'key_type': 'address',
                    'val_type': 'uint',
                }],
                'array': [{
                    'name': 'garrvar',
                    'type': 'array',
                    'key_type': 'address'
                }, {
                    'name': 'arrvar',
                    'type': 'array',
                    'key_type': 'int'
                }],
                'uint': [{
                    'name': 'uint1',
                    'type': 'uint'
                }]
            },
            "funcs": []
        }

        dg = dead_gen.Dead_Generator(block, 3)
        kwargs = {"key_type": "address", "val_type": "uint"}
        var = dg.find_var("mapping", **kwargs)
        assert (var["type"] == "mapping" and var["key_type"] == "address"
                and var["val_type"] == "uint")

        print("Test PASSED+++++++++++++")
Example #6
0
    def test_var_no_map_key1(self):
        block = {
            "scope_vars": {
                'bool': [{
                    'name': 'gboolvar',
                    'type': 'bool'
                }, {
                    'name': 'boolvar',
                    'type': 'bool'
                }],
                'string': [{
                    'name': 'gstrvar',
                    'type': 'string'
                }],
                'mapping': [{
                    'name': 'balances',
                    'type': 'mapping',
                    'key_type': 'address',
                    'val_type': 'int',
                }, {
                    'name': 'mapp',
                    'type': 'mapping',
                    'key_type': 'string',
                    'val_type': 'string',
                }],
                'array': [{
                    'name': 'garrvar',
                    'type': 'array',
                    'key_type': 'address'
                }, {
                    'name': 'arrvar',
                    'type': 'array',
                    'key_type': 'int'
                }],
                'uint': [{
                    'name': 'uint1',
                    'type': 'uint'
                }]
            },
            "funcs": []
        }

        dg = dead_gen.Dead_Generator(block, 3)
        kwargs = {"val_type": "string"}
        var = dg.find_var("mapping", **kwargs)
        assert (var == None)

        print("Test PASSED+++++++++++++")
Example #7
0
    def test_var_simple1(self):
        block = {
            "scope_vars": {
                'bool': [{
                    'name': 'gboolvar',
                    'type': 'bool'
                }, {
                    'name': 'boolvar',
                    'type': 'bool'
                }],
                'string': [{
                    'name': 'gstrvar',
                    'type': 'string'
                }],
                'mapping': [{
                    'name': 'balances',
                    'type': 'mapping',
                    'key_type': 'address',
                    'val_type': 'int',
                }, {
                    'name': 'mapp',
                    'type': 'mapping',
                    'key_type': 'string',
                    'val_type': 'string',
                }],
                'array': [{
                    'name': 'garrvar',
                    'type': 'array',
                    'key_type': 'string'
                }],
                'uint': [{
                    'name': 'uint1',
                    'type': 'uint'
                }]
            },
            "funcs": []
        }

        dg = dead_gen.Dead_Generator(block, 3)
        var = dg.find_var("bool")
        assert (var["type"] == "bool")

        print("Test PASSED+++++++++++++")
Example #8
0
    def test_var_no_map1(self):
        block = {
            "scope_vars": {
                'bool': [{
                    'name': 'gboolvar',
                    'type': 'bool'
                }, {
                    'name': 'boolvar',
                    'type': 'bool'
                }],
                'string': [{
                    'name': 'gstrvar',
                    'type': 'string'
                }],
                'array': [{
                    'name': 'garrvar',
                    'type': 'array',
                    'key_type': 'address'
                }, {
                    'name': 'arrvar',
                    'type': 'array',
                    'key_type': 'int'
                }],
                'uint': [{
                    'name': 'uint1',
                    'type': 'uint'
                }]
            },
            "funcs": []
        }

        dg = dead_gen.Dead_Generator(block, 3)
        var = dg.find_var("mapping")
        assert (var == None)

        print("Test PASSED+++++++++++++")