Просмотр исходного кода

Stripped down failing tests from the MvK: many primitives were removed

Yentl Van Tendeloo 8 лет назад
Родитель
Сommit
c3d41a52d5

+ 0 - 0
kernel/test/functions/__init__.py


+ 0 - 167
kernel/test/functions/factorial.dot

@@ -1,167 +0,0 @@
-digraph {
-    node[shape="point"]
-    mid_var_1[width="0"]
-    mid_var_2[width="0"]
-    mid_var_3[width="0"]
-    mid_var_4[width="0"]
-    HELP_var_1 [label="integer_subtraction",shape="rectangle"]
-    HELP_var_2 [label="integer_multiplication",shape="rectangle"]
-    HELP_var_3 [label="integer_gt",shape="rectangle"]
-    HELP_var_4 [label="factorial",shape="rectangle"]
-    var_1 -> HELP_var_1 [style="dotted"]
-    var_2 -> HELP_var_2 [style="dotted"]
-    var_3 -> HELP_var_3 [style="dotted"]
-    var_4 -> HELP_var_4 [style="dotted"]
-
-    root -> globals [label="__globals"]
-    globals -> mid_var_1 [arrowhead="none"]
-    mid_var_1 -> var_1 [constraint="false"]
-    mid_var_1 -> var_value_1
-    var_value_1 -> signature_1 [label="value"]
-    signature_1 -> body_1 [label="body"]
-    signature_1 -> params_1 [label="params"]
-    params_1 -> params_1_a [label="a"]
-    params_1 -> params_1_b [label="b"]
-
-    globals -> mid_var_2 [arrowhead="none"]
-    mid_var_2 -> var_2 [constraint="false"]
-    mid_var_2 -> var_value_2
-    var_value_2 -> signature_2 [label="value"]
-    signature_2 -> body_2 [label="body"]
-    signature_2 -> params_2 [label="params"]
-    params_2 -> params_2_a [label="a"]
-    params_2 -> params_2_b [label="b"]
-
-    globals -> mid_var_3 [arrowhead="none"]
-    mid_var_3 -> var_3 [constraint="false"]
-    mid_var_3 -> var_value_3
-    var_value_3 -> signature_3 [label="value"]
-    signature_3 -> body_3 [label="body"]
-    signature_3 -> params_3 [label="params"]
-    params_3 -> params_3_a [label="a"]
-    params_3 -> params_3_b [label="b"]
-
-    globals -> mid_var_4 [arrowhead="none"]
-    mid_var_4 -> var_4 [constraint="false"]
-    mid_var_4 -> var_value_4
-    var_value_4 -> signature_4 [label="value"]
-    signature_4 -> if_1 [label="body"]
-    signature_4 -> params_4 [label="params"]
-    params_4 -> params_4_a [label="n"]
-
-    // The actual function begins here
-    value_1 [shape="oval",label="1"]
-    value_2 [shape="oval",label="1"]
-    value_3 [shape="oval",label="1"]
-    value_a [shape="oval",label="a"]
-    value_b [shape="oval",label="b"]
-    value_a2 [shape="oval",label="a"]
-    value_b2 [shape="oval",label="b"]
-    value_a3 [shape="oval",label="a"]
-    value_b3 [shape="oval",label="b"]
-    value_n [shape="oval",label="n"]
-    value_n2 [shape="oval",label="n"]
-
-    access_resolve_1 [shape="oval",label="ACCESS"]
-    access_resolve_3 [shape="oval",label="ACCESS"]
-    access_resolve_4 [shape="oval",label="ACCESS"]
-    access_resolve_5 [shape="oval",label="ACCESS"]
-    access_resolve_7 [shape="oval",label="ACCESS"]
-
-    if_1 [shape="oval",label="IF"]
-    call_1 [shape="oval",label="CALL"]
-    call_2 [shape="oval",label="CALL"]
-    call_3 [shape="oval",label="CALL"]
-    call_4 [shape="oval",label="CALL"]
-    resolve_1 [shape="oval",label="RESOLVE"]
-    resolve_2 [shape="oval",label="RESOLVE"]
-    resolve_3 [shape="oval",label="RESOLVE"]
-    resolve_4 [shape="oval",label="RESOLVE"]
-    resolve_5 [shape="oval",label="RESOLVE"]
-    resolve_6 [shape="oval",label="RESOLVE"]
-    resolve_10[label="RESOLVE",shape="oval"]
-    access_1 [shape="oval",label="ACCESS"]
-    access_2 [shape="oval",label="ACCESS"]
-    access_3 [shape="oval",label="ACCESS"]
-    return_1 [shape="oval",label="RETURN"]
-    return_2 [shape="oval",label="RETURN"]
-    const_1 [shape="oval",label="CONST"]
-    const_2 [shape="oval",label="CONST"]
-    const_3 [shape="oval",label="CONST"]
-
-    if_1 -> call_1 [label="cond"]
-    if_1 -> return_2 [label="then"]
-    if_1 -> return_1 [label="else"]
-
-    // Condition
-    call_1 -> access_resolve_1 [label="func"]
-    access_resolve_1 -> resolve_1 [label="var"]
-    resolve_1 -> var_3 [label="var"]
-    call_1 -> param_1a [label="params"]
-    param_1a -> value_a [label="name"]
-    param_1a -> access_1 [label="value"]
-    access_1 -> resolve_2 [label="var"]
-    resolve_2 -> params_4_a [label="var",constraint="false"]
-    param_1a -> param_1b [label="next_param"]
-    param_1b -> value_b [label="name"]
-    param_1b -> const_1 [label="value"]
-    const_1 -> value_1 [label="node"]
-    call_1 -> param_1b [label="last_param"]
-
-    // Else
-    return_1 -> const_2 [label="value"]
-    const_2 -> value_2 [label="node"]
-
-    // Then
-    return_2 -> call_2 [label="value"]
-    call_2 -> access_resolve_3 [label="func"]
-    access_resolve_3 -> resolve_3 [label="var"]
-    resolve_3 -> var_2 [label="var"]
-    call_2 -> param_2a [label="params"]
-    call_2 -> param_2b [label="last_param"]
-    param_2a -> value_a2 [label="name"]
-    param_2a -> param_2b [label="next_param"]
-    param_2a -> access_2 [label="value"]
-    access_2 -> resolve_10 [label="var"]
-    resolve_10 -> params_4_a [label="var"]
-    param_2b -> value_b2 [label="name"]
-    param_2b -> call_3 [label="value"]
-    // call to self
-    call_3 -> access_resolve_4 [label="func"]
-    access_resolve_4 -> resolve_4 [label="var"]
-    resolve_4 -> var_4 [label="var"]
-    call_3 -> param_3a [label="params"]
-    call_3 -> param_3a [label="last_param"]
-    param_3a -> value_n [label="name"]
-    param_3a -> call_4 [label="value"]
-    // Subtraction
-    call_4 -> access_resolve_5 [label="func"]
-    access_resolve_5 -> resolve_5 [label="var"]
-    resolve_5 -> var_1 [label="var"]
-    call_4 -> param_4a [label="params"]
-    param_4a -> value_a3 [label="name"]
-    param_4a -> access_3 [label="value"]
-    access_3 -> resolve_6 [label="var"]
-    resolve_6 -> params_4_a [label="var"]
-    param_4a -> param_4b [label="next_param"]
-    param_4b -> value_b3 [label="name"]
-    param_4b -> const_3 [label="value"]
-    const_3 -> value_3 [label="node"]
-    call_4 -> param_4b [label="last_param"]
-
-    // Global initial IP
-    const_4 [shape="oval",label="CONST"]
-    value_4 [shape="oval",label="3"]
-    resolve_7 [shape="oval",label="RESOLVE"]
-    invoke_factorial [shape="oval",label="CALL"]
-
-    globals -> invoke_factorial [label="__IP"]
-    invoke_factorial -> access_resolve_7 [label="func"]
-    access_resolve_7 -> resolve_7 [label="var"]
-    resolve_7 -> var_4 [label="var"]
-    invoke_factorial -> invoke_params [label="params"]
-    invoke_factorial -> invoke_params [label="last_param"]
-    invoke_params -> const_4 [label="value"]
-    invoke_params -> value_n2 [label="name"]
-    const_4 -> value_4 [label="node"]
-}

Разница между файлами не показана из-за своего большого размера
+ 0 - 3178
kernel/test/functions/factorial.eps


+ 0 - 202
kernel/test/functions/fib_naive.dot

@@ -1,202 +0,0 @@
-digraph {
-    node[shape="point"]
-    mid_var_1[width="0"]
-    mid_var_2[width="0"]
-    mid_var_3[width="0"]
-    mid_var_4[width="0"]
-    HELP_var_1 [label="integer_subtraction",shape="rectangle"]
-    HELP_var_2 [label="integer_addition",shape="rectangle"]
-    HELP_var_3 [label="integer_gt",shape="rectangle"]
-    HELP_var_4 [label="fib",shape="rectangle"]
-    var_1 -> HELP_var_1 [style="dotted"]
-    var_2 -> HELP_var_2 [style="dotted"]
-    var_3 -> HELP_var_3 [style="dotted"]
-    var_4 -> HELP_var_4 [style="dotted"]
-
-    root -> globals [label="__globals"]
-    globals -> mid_var_1 [arrowhead="none"]
-    mid_var_1 -> var_1 [constraint="true"]
-    mid_var_1 -> var_value_1
-    var_value_1 -> signature_1 [label="value"]
-    signature_1 -> body_1 [label="body"]
-    signature_1 -> params_1 [label="params"]
-    params_1 -> params_1_a [label="a"]
-    params_1 -> params_1_b [label="b"]
-
-    globals -> mid_var_2 [arrowhead="none"]
-    mid_var_2 -> var_2 [constraint="true"]
-    mid_var_2 -> var_value_2
-    var_value_2 -> signature_2 [label="value"]
-    signature_2 -> body_2 [label="body"]
-    signature_2 -> params_2 [label="params"]
-    params_2 -> params_2_a [label="a"]
-    params_2 -> params_2_b [label="b"]
-
-    globals -> mid_var_3 [arrowhead="none"]
-    mid_var_3 -> var_3 [constraint="true"]
-    mid_var_3 -> var_value_3
-    var_value_3 -> signature_3 [label="value"]
-    signature_3 -> body_3 [label="body"]
-    signature_3 -> params_3 [label="params"]
-    params_3 -> params_3_a [label="a"]
-    params_3 -> params_3_b [label="b"]
-
-    globals -> mid_var_4 [arrowhead="none"]
-    mid_var_4 -> var_4 [constraint="true"]
-    mid_var_4 -> var_value_4
-    var_value_4 -> signature_4 [label="value"]
-    signature_4 -> if_1 [label="body"]
-    signature_4 -> params_4 [label="params"]
-    params_4 -> params_4_a [label="n"]
-
-    // The actual function begins here
-    value_1 [shape="oval",label="1"]
-    value_2 [shape="oval",label="1"]
-    value_3 [shape="oval",label="1"]
-    value_5 [shape="oval",label="2"]
-    value_a [shape="oval",label="a"]
-    value_b [shape="oval",label="b"]
-    value_a2 [shape="oval",label="a"]
-    value_b2 [shape="oval",label="b"]
-    value_a3 [shape="oval",label="a"]
-    value_b3 [shape="oval",label="b"]
-    value_a4 [shape="oval",label="a"]
-    value_b4 [shape="oval",label="b"]
-    value_n [shape="oval",label="n"]
-    value_n2 [shape="oval",label="n"]
-    value_n3 [shape="oval",label="n"]
-
-    access_resolve_1 [shape="oval",label="ACCESS"]
-    access_resolve_3 [shape="oval",label="ACCESS"]
-    access_resolve_4 [shape="oval",label="ACCESS"]
-    access_resolve_5 [shape="oval",label="ACCESS"]
-    access_resolve_7 [shape="oval",label="ACCESS"]
-    access_resolve_8 [shape="oval",label="ACCESS"]
-    access_resolve_9 [shape="oval",label="ACCESS"]
-
-    if_1 [shape="oval",label="IF"]
-    call_1 [shape="oval",label="CALL"]
-    call_2 [shape="oval",label="CALL"]
-    call_3 [shape="oval",label="CALL"]
-    call_4 [shape="oval",label="CALL"]
-    call_5 [shape="oval",label="CALL"]
-    call_6 [shape="oval",label="CALL"]
-    resolve_1 [shape="oval",label="RESOLVE"]
-    resolve_2 [shape="oval",label="RESOLVE"]
-    resolve_3 [shape="oval",label="RESOLVE"]
-    resolve_4 [shape="oval",label="RESOLVE"]
-    resolve_5 [shape="oval",label="RESOLVE"]
-    resolve_6 [shape="oval",label="RESOLVE"]
-    resolve_7 [shape="oval",label="RESOLVE"]
-    resolve_8 [shape="oval",label="RESOLVE"]
-    resolve_9 [shape="oval",label="RESOLVE"]
-    resolve_11 [shape="oval",label="RESOLVE"]
-    access_1 [shape="oval",label="ACCESS"]
-    access_3 [shape="oval",label="ACCESS"]
-    access_4 [shape="oval",label="ACCESS"]
-    return_1 [shape="oval",label="RETURN"]
-    return_2 [shape="oval",label="RETURN"]
-    const_1 [shape="oval",label="CONST"]
-    const_2 [shape="oval",label="CONST"]
-    const_3 [shape="oval",label="CONST"]
-    const_4 [shape="oval",label="CONST"]
-    const_5 [shape="oval",label="CONST"]
-
-    if_1 -> call_1 [label="cond"]
-    if_1 -> return_2 [label="then"]
-    if_1 -> return_1 [label="else"]
-
-    // Condition
-    call_1 -> access_resolve_1 [label="func"]
-    access_resolve_1 -> resolve_1 [label="var"]
-    resolve_1 -> var_3 [label="var",constraint="true"]
-    call_1 -> param_1a [label="params"]
-    param_1a -> value_a [label="name"]
-    param_1a -> access_1 [label="value"]
-    access_1 -> resolve_2 [label="var"]
-    resolve_2 -> params_4_a [label="var",constraint="true"]
-    param_1b -> value_b [label="name"]
-    param_1b -> const_1 [label="value"]
-    const_1 -> value_1 [label="node"]
-    call_1 -> param_1b [label="last_param"]
-    param_1a -> param_1b [label="next_param"]
-
-    // Else
-    return_1 -> const_2 [label="value"]
-    const_2 -> value_2 [label="node"]
-
-    // Then
-    return_2 -> call_2 [label="value"]
-    call_2 -> access_resolve_3 [label="func"]
-    access_resolve_3 -> resolve_3 [label="var"]
-    resolve_3 -> var_2 [label="var",constraint="true"]
-    call_2 -> param_2a [label="params"]
-    call_2 -> param_2b [label="last_param"]
-    param_2a -> value_a2 [label="name"]
-    param_2a -> call_5 [label="value"]
-    param_2b -> value_b2 [label="name"]
-    param_2b -> call_3 [label="value"]
-    param_2a -> param_2b [label="next_param"]
-
-    // call to self with n - 1
-    call_3 -> access_resolve_4 [label="func"]
-    access_resolve_4 -> resolve_4 [label="var"]
-    resolve_4 -> var_4 [label="var",constraint="true"]
-    call_3 -> param_3a [label="params"]
-    call_3 -> param_3a [label="last_param"]
-    param_3a -> value_n [label="name"]
-    param_3a -> call_4 [label="value"]
-    // Subtraction operation
-    call_4 -> access_resolve_5 [label="func"]
-    access_resolve_5 -> resolve_5 [label="var"]
-    resolve_5 -> var_1 [label="var",constraint="true"]
-    call_4 -> param_4a [label="params"]
-    param_4a -> value_a3 [label="name"]
-    param_4a -> access_3 [label="value"]
-    access_3 -> resolve_6 [label="var"]
-    resolve_6 -> params_4_a [label="var"]
-    param_4b -> value_b3 [label="name"]
-    param_4b -> const_3 [label="value"]
-    const_3 -> value_3 [label="node"]
-    call_4 -> param_4b [label="last_param"]
-    param_4a -> param_4b [label="next_param"]
-
-    // call to self with n - 2
-    call_5 -> access_resolve_8 [label="func"]
-    access_resolve_8 -> resolve_8 [label="var"]
-    resolve_8 -> var_4 [label="var",constraint="true"]
-    call_5 -> param_5a [label="params"]
-    call_5 -> param_5a [label="last_param"]
-    param_5a -> value_n2 [label="name"]
-    param_5a -> call_6 [label="value"]
-    // Subtraction operation
-    call_6 -> access_resolve_9 [label="func"]
-    access_resolve_9 -> resolve_9 [label="var"]
-    resolve_9 -> var_1 [label="var",constraint="true"]
-    call_6 -> param_6a [label="params"]
-    param_6a -> value_a4 [label="name"]
-    param_6a -> access_4 [label="value"]
-    access_4 -> resolve_11 [label="var"]
-    resolve_11 -> params_4_a [label="var"]
-    param_6b -> value_b4 [label="name"]
-    param_6b -> const_5 [label="value"]
-    const_5 -> value_5 [label="node"]
-    call_6 -> param_6b [label="last_param"]
-    param_6a -> param_6b [label="next_param"]
-
-    // Global initial IP
-    const_4 [shape="oval",label="CONST"]
-    value_4 [shape="oval",label="3"]
-    resolve_7 [shape="oval",label="RESOLVE"]
-    invoke_fib [shape="oval",label="CALL"]
-
-    globals -> invoke_fib [label="__IP"]
-    invoke_fib -> access_resolve_7 [label="func"]
-    access_resolve_7 -> resolve_7 [label="var"]
-    resolve_7 -> var_4 [label="var",constraint="true"]
-    invoke_fib -> invoke_params [label="params"]
-    invoke_fib -> invoke_params [label="last_param"]
-    invoke_params -> const_4 [label="value"]
-    invoke_params -> value_n2 [label="name"]
-    const_4 -> value_4 [label="node"]
-}

Разница между файлами не показана из-за своего большого размера
+ 0 - 3692
kernel/test/functions/fib_naive.eps


+ 0 - 200
kernel/test/functions/test_factorial.py

@@ -1,200 +0,0 @@
-import unittest
-from modelverse_kernel.main import ModelverseKernel
-from utils import execute_until_finished, MvSWrapper, get_inst, get_phase, get_returnvalue, get_phase_ref, read_primitive_interfaces, get_inst_ref, add_new_task
-import math
-
-class TestFactorial(unittest.TestCase):
-    def setUp(self):
-        self.mvs = MvSWrapper()
-        self.root = self.mvs.execute("RR", [])
-        print("Root: %s" % self.root)
-        self.mvk = ModelverseKernel(self.root)
-        self.primitives = read_primitive_interfaces(self.root, self.mvs)
-        execute_until_finished(self.mvk, self.mvs, "load_primitives", [])
-
-    def test_factorial_1(self):
-        # Test for 'no recursion'
-        self.helper_construct_and_invoke(1, math.factorial(1))
-
-    def test_factorial_2(self):
-        # Test for 'single recursion'
-        self.helper_construct_and_invoke(2, math.factorial(2))
-
-    def test_factorial_5(self):
-        # Test for 'multiple recursion'
-        self.helper_construct_and_invoke(5, math.factorial(5))
-
-    def test_factorial_10(self):
-        # Test for 'many recursion'
-        self.helper_construct_and_invoke(10, math.factorial(10))
-
-    def test_factorial_20(self):
-        # Test for 'high numbers recursion'
-        self.helper_construct_and_invoke(20, math.factorial(20))
-
-    def helper_construct_and_invoke(self, param, result, fail=False):
-        # Try to follow the same naming as in the dot file
-
-        var_value_4 = self.mvs.execute("CN", [])
-        var_4 = self.mvs.execute("CNV", ["accumulation"])
-        signature_4 = self.mvs.execute("CN", [])
-        params_4 = self.mvs.execute("CN", [])
-        body_4 = self.mvs.execute("CN", [])
-        params_4_a = self.mvs.execute("CN", [])
-        invoke_params = self.mvs.execute("CN", [])
-
-        var_1 = self.primitives["integer_subtraction"]
-        var_2 = self.primitives["integer_multiplication"]
-        var_3 = self.primitives["integer_gt"]
-
-        param_1a = self.mvs.execute("CN", [])
-        param_1b = self.mvs.execute("CN", [])
-        param_2a = self.mvs.execute("CN", [])
-        param_2b = self.mvs.execute("CN", [])
-        param_3a = self.mvs.execute("CN", [])
-        param_3b = self.mvs.execute("CN", [])
-        param_4a = self.mvs.execute("CN", [])
-        param_4b = self.mvs.execute("CN", [])
-        params_4_a = self.mvs.execute("CN", [])
-
-        value_1 = self.mvs.execute("CNV", [1])
-        value_2 = self.mvs.execute("CNV", [1])
-        value_3 = self.mvs.execute("CNV", [1])
-        value_4 = self.mvs.execute("CNV", [param])
-        value_a = self.mvs.execute("CNV", ["a"])
-        value_b = self.mvs.execute("CNV", ["b"])
-        value_c = self.mvs.execute("CNV", ["c"])
-        value_a2 = self.mvs.execute("CNV", ["a"])
-        value_b2 = self.mvs.execute("CNV", ["b"])
-        value_a3 = self.mvs.execute("CNV", ["a"])
-        value_b3 = self.mvs.execute("CNV", ["b"])
-        value_n = self.mvs.execute("CNV", ["n"])
-        value_n2 = self.mvs.execute("CNV", ["n"])
-
-        access_resolve_4 = self.mvs.execute("CNV", [{"value":"access"}])
-        access_resolve_7 = self.mvs.execute("CNV", [{"value":"access"}])
-
-        if_1 = self.mvs.execute("CNV", [{"value":"if"}])
-        call_1 = self.mvs.execute("CNV", [{"value":"call"}])
-        call_2 = self.mvs.execute("CNV", [{"value":"call"}])
-        call_3 = self.mvs.execute("CNV", [{"value":"call"}])
-        call_4 = self.mvs.execute("CNV", [{"value":"call"}])
-        invoke_factorial = self.mvs.execute("CNV", [{"value":"call"}])
-        resolve_2 = self.mvs.execute("CNV", [{"value":"resolve"}])
-        resolve_4 = self.mvs.execute("CNV", [{"value":"resolve"}])
-        resolve_6 = self.mvs.execute("CNV", [{"value":"resolve"}])
-        resolve_7 = self.mvs.execute("CNV", [{"value":"resolve"}])
-        resolve_10 = self.mvs.execute("CNV", [{"value":"resolve"}])
-        access_1 = self.mvs.execute("CNV", [{"value":"access"}])
-        access_2 = self.mvs.execute("CNV", [{"value":"access"}])
-        access_3 = self.mvs.execute("CNV", [{"value":"access"}])
-        return_1 = self.mvs.execute("CNV", [{"value":"return"}])
-        return_2 = self.mvs.execute("CNV", [{"value":"return"}])
-        const_1 = self.mvs.execute("CNV", [{"value":"constant"}])
-        const_2 = self.mvs.execute("CNV", [{"value":"constant"}])
-        const_3 = self.mvs.execute("CNV", [{"value":"constant"}])
-        const_4 = self.mvs.execute("CNV", [{"value":"constant"}])
-        const_5 = self.mvs.execute("CNV", [{"value":"constant"}])
-
-        # Rebind the invoke_factorial to the initial IP
-        root = self.root
-        _globals = self.mvs.execute("RD", [root, "__hierarchy"])
-        self.mvs.execute("DE", [self.mvs.execute("RDE", [_globals, "__IP"])])
-        self.mvs.execute("CD", [_globals, "__IP", invoke_factorial])
-
-        t = self.mvs.execute("CE", [_globals, var_value_4])
-        self.mvs.execute("CE", [t, var_4])
-
-        self.mvs.execute("CD", [var_value_4, "value", signature_4])
-        self.mvs.execute("CD", [signature_4, "body", if_1])
-        self.mvs.execute("CD", [signature_4, "params", params_4])
-        self.mvs.execute("CD", [params_4, "n", params_4_a])
-
-        self.mvs.execute("CD", [if_1, "cond", call_1])
-        self.mvs.execute("CD", [if_1, "then", return_2])
-        self.mvs.execute("CD", [if_1, "else", return_1])
-
-        node_3 = self.mvs.execute("CNV", [{"value":"constant"}])
-        self.mvs.execute("CD", [call_1, "func", node_3])
-        self.mvs.execute("CD", [node_3, "node", self.primitives["integer_gt"]])
-
-        self.mvs.execute("CD", [call_1, "params", param_1a])
-        self.mvs.execute("CD", [param_1a, "name", value_a])
-        self.mvs.execute("CD", [param_1a, "value", access_1])
-        self.mvs.execute("CD", [access_1, "var", resolve_2])
-        self.mvs.execute("CD", [resolve_2, "var", params_4_a])
-        self.mvs.execute("CD", [param_1a, "next_param", param_1b])
-        self.mvs.execute("CD", [param_1b, "name", value_b])
-        self.mvs.execute("CD", [param_1b, "value", const_1])
-        self.mvs.execute("CD", [const_1, "node", value_1])
-        self.mvs.execute("CD", [call_1, "last_param", param_1b])
-
-        self.mvs.execute("CD", [return_1, "value", const_2])
-        self.mvs.execute("CD", [const_2, "node", value_2])
-
-        self.mvs.execute("CD", [return_2, "value", call_2])
-        node_2 = self.mvs.execute("CNV", [{"value":"constant"}])
-        self.mvs.execute("CD", [call_2, "func", node_2])
-        self.mvs.execute("CD", [node_2, "node", self.primitives["integer_multiplication"]])
-
-        self.mvs.execute("CD", [call_2, "params", param_2a])
-        self.mvs.execute("CD", [call_2, "last_param", param_2b])
-        self.mvs.execute("CD", [param_2a, "name", value_a2])
-        self.mvs.execute("CD", [param_2a, "value", access_2])
-        self.mvs.execute("CD", [param_2a, "next_param", param_2b])
-        self.mvs.execute("CD", [access_2, "var", resolve_10])
-        self.mvs.execute("CD", [resolve_10, "var", params_4_a])
-        self.mvs.execute("CD", [param_2b, "name", value_b2])
-        self.mvs.execute("CD", [param_2b, "value", call_3])
-        self.mvs.execute("CD", [call_3, "func", access_resolve_4])
-        self.mvs.execute("CD", [access_resolve_4, "var", resolve_4])
-        self.mvs.execute("CD", [resolve_4, "var", var_4])
-        self.mvs.execute("CD", [call_3, "params", param_3a])
-        self.mvs.execute("CD", [call_3, "last_param", param_3a])
-        self.mvs.execute("CD", [param_3a, "name", value_n])
-        self.mvs.execute("CD", [param_3a, "value", call_4])
-        node_1 = self.mvs.execute("CNV", [{"value":"constant"}])
-        self.mvs.execute("CD", [call_4, "func", node_1])
-        self.mvs.execute("CD", [node_1, "node", self.primitives["integer_subtraction"]])
-
-        self.mvs.execute("CD", [call_4, "params", param_4a])
-        self.mvs.execute("CD", [param_4a, "name", value_a3])
-        self.mvs.execute("CD", [param_4a, "value", access_3])
-        self.mvs.execute("CD", [access_3, "var", resolve_6])
-        self.mvs.execute("CD", [resolve_6, "var", params_4_a])
-        self.mvs.execute("CD", [param_4a, "next_param", param_4b])
-        self.mvs.execute("CD", [param_4b, "name", value_b3])
-        self.mvs.execute("CD", [param_4b, "value", const_3])
-        self.mvs.execute("CD", [const_3, "node", value_3])
-        self.mvs.execute("CD", [call_4, "last_param", param_4b])
-
-        self.mvs.execute("CD", [invoke_factorial, "func", access_resolve_7])
-        self.mvs.execute("CD", [access_resolve_7, "var", resolve_7])
-        self.mvs.execute("CD", [resolve_7, "var", var_4])
-        self.mvs.execute("CD", [invoke_factorial, "params", invoke_params])
-        self.mvs.execute("CD", [invoke_factorial, "last_param", invoke_params])
-        self.mvs.execute("CD", [invoke_params, "value", const_4])
-        self.mvs.execute("CD", [invoke_params, "name", value_n2])
-        self.mvs.execute("CD", [const_4, "node", value_4])
-        self.mvs.execute("CD", [invoke_factorial, "next", const_5])
-        self.mvs.execute("CD", [const_5, "node", value_c])
-
-        execute_until_finished(self.mvk, self.mvs, "initialize_new_task", [])
-
-        t = self.mvs.execute("CE", [self.mvs.execute("RD", [self.mvs.execute("RD", [root, "task_1"]), "globals"]), var_value_4])
-        self.mvs.execute("CE", [t, var_4])
-
-        ### Execute rules
-        self.assertEquals(get_inst(self.root, self.mvs), "call")
-        self.assertEquals(get_phase(self.root, self.mvs), "init")
-        execute_until_finished(self.mvk, self.mvs)
-
-        #i = 0
-        while (get_inst_ref(self.root, self.mvs) != const_5) or (get_phase(self.root, self.mvs) != "init"):
-            #print("EXEC (%s) -- (%s, %s)" % (i, get_inst(self.root, self.mvs), get_phase(self.root, self.mvs)))
-            #i += 1
-            #self.mvs.mvs.dump(0, "%i.dot" % i)
-            execute_until_finished(self.mvk, self.mvs)
-
-        if not fail:
-            self.assertEquals(get_returnvalue(self.root, self.mvs), result)

+ 0 - 235
kernel/test/functions/test_fib_naive.py

@@ -1,235 +0,0 @@
-import unittest
-from modelverse_kernel.main import ModelverseKernel
-from utils import execute_until_finished, MvSWrapper, get_inst, get_phase, get_returnvalue, get_phase_ref, read_primitive_interfaces, get_inst_ref
-import math
-
-class TestFibNaive(unittest.TestCase):
-    def setUp(self):
-        self.mvs = MvSWrapper()
-        self.root = self.mvs.execute("RR", [])
-        self.mvk = ModelverseKernel(self.root)
-        self.primitives = read_primitive_interfaces(self.root, self.mvs)
-        execute_until_finished(self.mvk, self.mvs, "load_primitives", [])
-
-    def test_fib_0(self):
-        # Test for 'no recursion'
-        self.helper_construct_and_invoke(0, 1)
-
-    def test_fib_1(self):
-        # Test for 'no recursion'
-        self.helper_construct_and_invoke(1, 1)
-
-    def test_fib_2(self):
-        # Test for 'single recursion'
-        self.helper_construct_and_invoke(2, 2)
-
-    def test_fib_3(self):
-        # Test for 'multiple recursion'
-        self.helper_construct_and_invoke(3, 3)
-
-    def test_fib_4(self):
-        # Test for 'multiple recursion'
-        self.helper_construct_and_invoke(4, 5)
-
-    def test_fib_5(self):
-        # Test for 'multiple recursion'
-        self.helper_construct_and_invoke(5, 8)
-
-    def test_fib_6(self):
-        # Test for 'multiple recursion'
-        self.helper_construct_and_invoke(6, 13)
-
-    def test_fib_7(self):
-        # Test for 'multiple recursion'
-        self.helper_construct_and_invoke(7, 21)
-
-    def helper_construct_and_invoke(self, param, result, fail=False):
-        # Try to follow the same naming as in the dot file
-
-        var_value_4 = self.mvs.execute("CN", [])
-        var_4 = self.mvs.execute("CNV", ["function"])
-        signature_4 = self.mvs.execute("CN", [])
-        params_4 = self.mvs.execute("CN", [])
-        body_4 = self.mvs.execute("CN", [])
-        params_4_a = self.mvs.execute("CN", [])
-        invoke_params = self.mvs.execute("CN", [])
-
-        param_1a = self.mvs.execute("CN", [])
-        param_1b = self.mvs.execute("CN", [])
-        param_2a = self.mvs.execute("CN", [])
-        param_2b = self.mvs.execute("CN", [])
-        param_3a = self.mvs.execute("CN", [])
-        param_3b = self.mvs.execute("CN", [])
-        param_4a = self.mvs.execute("CN", [])
-        param_4b = self.mvs.execute("CN", [])
-        param_5a = self.mvs.execute("CN", [])
-        param_5b = self.mvs.execute("CN", [])
-        param_6a = self.mvs.execute("CN", [])
-        param_6b = self.mvs.execute("CN", [])
-        params_4_a = self.mvs.execute("CN", [])
-
-        value_1 = self.mvs.execute("CNV", [1])
-        value_2 = self.mvs.execute("CNV", [1])
-        value_3 = self.mvs.execute("CNV", [1])
-        value_4 = self.mvs.execute("CNV", [param])
-        value_5 = self.mvs.execute("CNV", [2])
-        value_a = self.mvs.execute("CNV", ["a"])
-        value_b = self.mvs.execute("CNV", ["b"])
-        value_c = self.mvs.execute("CNV", ["c"])
-        value_a2 = self.mvs.execute("CNV", ["a"])
-        value_b2 = self.mvs.execute("CNV", ["b"])
-        value_a3 = self.mvs.execute("CNV", ["a"])
-        value_b3 = self.mvs.execute("CNV", ["b"])
-        value_a4 = self.mvs.execute("CNV", ["a"])
-        value_b4 = self.mvs.execute("CNV", ["b"])
-        value_n = self.mvs.execute("CNV", ["n"])
-        value_n2 = self.mvs.execute("CNV", ["n"])
-        value_n3 = self.mvs.execute("CNV", ["n"])
-
-        access_resolve_4 = self.mvs.execute("CNV", [{"value":"access"}])
-        access_resolve_7 = self.mvs.execute("CNV", [{"value":"access"}])
-        access_resolve_8 = self.mvs.execute("CNV", [{"value":"access"}])
-
-        if_1 = self.mvs.execute("CNV", [{"value":"if"}])
-        call_1 = self.mvs.execute("CNV", [{"value":"call"}])
-        call_2 = self.mvs.execute("CNV", [{"value":"call"}])
-        call_3 = self.mvs.execute("CNV", [{"value":"call"}])
-        call_4 = self.mvs.execute("CNV", [{"value":"call"}])
-        call_5 = self.mvs.execute("CNV", [{"value":"call"}])
-        call_6 = self.mvs.execute("CNV", [{"value":"call"}])
-        invoke_fib = self.mvs.execute("CNV", [{"value":"call"}])
-        resolve_2 = self.mvs.execute("CNV", [{"value":"resolve"}])
-        resolve_4 = self.mvs.execute("CNV", [{"value":"resolve"}])
-        resolve_6 = self.mvs.execute("CNV", [{"value":"resolve"}])
-        resolve_7 = self.mvs.execute("CNV", [{"value":"resolve"}])
-        resolve_8 = self.mvs.execute("CNV", [{"value":"resolve"}])
-        resolve_11 = self.mvs.execute("CNV", [{"value":"resolve"}])
-        access_1 = self.mvs.execute("CNV", [{"value":"access"}])
-        access_3 = self.mvs.execute("CNV", [{"value":"access"}])
-        access_4 = self.mvs.execute("CNV", [{"value":"access"}])
-        return_1 = self.mvs.execute("CNV", [{"value":"return"}])
-        return_2 = self.mvs.execute("CNV", [{"value":"return"}])
-        const_1 = self.mvs.execute("CNV", [{"value":"constant"}])
-        const_2 = self.mvs.execute("CNV", [{"value":"constant"}])
-        const_3 = self.mvs.execute("CNV", [{"value":"constant"}])
-        const_4 = self.mvs.execute("CNV", [{"value":"constant"}])
-        const_5 = self.mvs.execute("CNV", [{"value":"constant"}])
-        const_6 = self.mvs.execute("CNV", [{"value":"constant"}])
-
-        # Rebind the invoke_fib to the initial IP
-        root = self.root
-        _globals = self.mvs.execute("RD", [root, "__hierarchy"])
-        self.mvs.execute("DE", [self.mvs.execute("RDE", [_globals, "__IP"])])
-        self.mvs.execute("CD", [_globals, "__IP", invoke_fib])
-
-        self.mvs.execute("CD", [var_value_4, "value", signature_4])
-        self.mvs.execute("CD", [signature_4, "body", if_1])
-        self.mvs.execute("CD", [signature_4, "params", params_4])
-        self.mvs.execute("CD", [params_4, "n", params_4_a])
-
-        self.mvs.execute("CD", [if_1, "cond", call_1])
-        self.mvs.execute("CD", [if_1, "then", return_2])
-        self.mvs.execute("CD", [if_1, "else", return_1])
-
-        node_3 = self.mvs.execute("CNV", [{"value":"constant"}])
-        self.mvs.execute("CD", [call_1, "func", node_3])
-        self.mvs.execute("CD", [node_3, "node", self.primitives["integer_gt"]])
-        self.mvs.execute("CD", [call_1, "params", param_1a])
-        self.mvs.execute("CD", [param_1a, "name", value_a])
-        self.mvs.execute("CD", [param_1a, "value", access_1])
-        self.mvs.execute("CD", [access_1, "var", resolve_2])
-        self.mvs.execute("CD", [resolve_2, "var", params_4_a])
-        self.mvs.execute("CD", [param_1a, "next_param", param_1b])
-        self.mvs.execute("CD", [param_1b, "name", value_b])
-        self.mvs.execute("CD", [param_1b, "value", const_1])
-        self.mvs.execute("CD", [const_1, "node", value_1])
-        self.mvs.execute("CD", [call_1, "last_param", param_1b])
-
-        self.mvs.execute("CD", [return_1, "value", const_2])
-        self.mvs.execute("CD", [const_2, "node", value_2])
-
-        self.mvs.execute("CD", [return_2, "value", call_2])
-        node_2 = self.mvs.execute("CNV", [{"value":"constant"}])
-        self.mvs.execute("CD", [call_2, "func", node_2])
-        self.mvs.execute("CD", [node_2, "node", self.primitives["integer_addition"]])
-
-        self.mvs.execute("CD", [call_2, "params", param_2a])
-        self.mvs.execute("CD", [call_2, "last_param", param_2b])
-        self.mvs.execute("CD", [param_2a, "name", value_a2])
-        self.mvs.execute("CD", [param_2a, "value", call_5])
-        self.mvs.execute("CD", [param_2b, "name", value_b2])
-        self.mvs.execute("CD", [param_2b, "value", call_3])
-        self.mvs.execute("CD", [param_2a, "next_param", param_2b])
-
-        self.mvs.execute("CD", [call_3, "func", access_resolve_4])
-        self.mvs.execute("CD", [access_resolve_4, "var", resolve_4])
-        self.mvs.execute("CD", [resolve_4, "var", var_4])
-        self.mvs.execute("CD", [call_3, "params", param_3a])
-        self.mvs.execute("CD", [call_3, "last_param", param_3a])
-        self.mvs.execute("CD", [param_3a, "name", value_n])
-        self.mvs.execute("CD", [param_3a, "value", call_4])
-        node_1 = self.mvs.execute("CNV", [{"value":"constant"}])
-        self.mvs.execute("CD", [call_4, "func", node_1])
-        self.mvs.execute("CD", [node_1, "node", self.primitives["integer_subtraction"]])
-
-        self.mvs.execute("CD", [call_4, "params", param_4a])
-        self.mvs.execute("CD", [param_4a, "name", value_a3])
-        self.mvs.execute("CD", [param_4a, "value", access_3])
-        self.mvs.execute("CD", [access_3, "var", resolve_6])
-        self.mvs.execute("CD", [resolve_6, "var", params_4_a])
-        self.mvs.execute("CD", [param_4a, "next_param", param_4b])
-        self.mvs.execute("CD", [param_4b, "name", value_b3])
-        self.mvs.execute("CD", [param_4b, "value", const_3])
-        self.mvs.execute("CD", [const_3, "node", value_3])
-        self.mvs.execute("CD", [call_4, "last_param", param_4b])
-
-        self.mvs.execute("CD", [call_5, "func", access_resolve_8])
-        self.mvs.execute("CD", [access_resolve_8, "var", resolve_8])
-        self.mvs.execute("CD", [resolve_8, "var", var_4])
-        self.mvs.execute("CD", [call_5, "params", param_5a])
-        self.mvs.execute("CD", [call_5, "last_param", param_5a])
-        self.mvs.execute("CD", [param_5a, "name", value_n])
-        self.mvs.execute("CD", [param_5a, "value", call_6])
-        self.mvs.execute("CD", [call_6, "func", node_1])
-        self.mvs.execute("CD", [call_6, "params", param_6a])
-        self.mvs.execute("CD", [param_6a, "name", value_a4])
-        self.mvs.execute("CD", [param_6a, "value", access_4])
-        self.mvs.execute("CD", [access_4, "var", resolve_11])
-        self.mvs.execute("CD", [resolve_11, "var", params_4_a])
-        self.mvs.execute("CD", [param_6b, "name", value_b4])
-        self.mvs.execute("CD", [param_6b, "value", const_5])
-        self.mvs.execute("CD", [const_5, "node", value_5])
-        self.mvs.execute("CD", [call_6, "last_param", param_6b])
-        self.mvs.execute("CD", [param_6a, "next_param", param_6b])
-
-        self.mvs.execute("CD", [invoke_fib, "func", access_resolve_7])
-        self.mvs.execute("CD", [access_resolve_7, "var", resolve_7])
-        self.mvs.execute("CD", [resolve_7, "var", var_4])
-        self.mvs.execute("CD", [invoke_fib, "params", invoke_params])
-        self.mvs.execute("CD", [invoke_fib, "last_param", invoke_params])
-        self.mvs.execute("CD", [invoke_params, "value", const_4])
-        self.mvs.execute("CD", [invoke_params, "name", value_n2])
-        self.mvs.execute("CD", [const_4, "node", value_4])
-        self.mvs.execute("CD", [invoke_fib, "next", const_6])
-        self.mvs.execute("CD", [const_6, "node", value_c])
-
-        execute_until_finished(self.mvk, self.mvs, "initialize_new_task", ["task_1"])
-
-        # Define in globals for task, kind of a hack...
-        t = self.mvs.execute("CE", [self.mvs.execute("RD", [self.mvs.execute("RD", [root, "task_1"]), "globals"]) , var_value_4])
-        self.mvs.execute("CE", [t, var_4])
-
-        ### Execute rules
-        self.assertEquals(get_inst(self.root, self.mvs), "call")
-        self.assertEquals(get_phase(self.root, self.mvs), "init")
-        execute_until_finished(self.mvk, self.mvs)
-
-        #i = 0
-        while (get_inst_ref(self.root, self.mvs) != const_6) or (get_phase(self.root, self.mvs) != "init"):
-            #print("EXEC (%s) -- (%s, %s)" % (i, get_inst(self.root, self.mvs), get_phase(self.root, self.mvs)))
-            #i += 1
-            #self.mvs.mvs.dump(0, "%i.dot" % i)
-            execute_until_finished(self.mvk, self.mvs)
-
-        if not fail:
-            self.assertEquals(get_returnvalue(self.root, self.mvs), result)

+ 0 - 120
kernel/test/functions/utils.py

@@ -1,120 +0,0 @@
-import sys
-sys.path.append("../state")
-from modelverse_state.main import ModelverseState
-import json
-
-class MvSWrapper(object):
-    def __init__(self):
-        self.mvs = ModelverseState("../bootstrap/minimal.m.gz")
-
-        self.mapping = {
-                   "RD": self.mvs.read_dict,
-                   "RR": self.mvs.read_root,
-                   "RO": self.mvs.read_outgoing,
-                   "RI": self.mvs.read_incoming,
-                   "RE": self.mvs.read_edge,
-                   "RDE": self.mvs.read_dict_edge,
-                   "RDK": self.mvs.read_dict_keys,
-                   "RDN": self.mvs.read_dict_node,
-                   "RDNE": self.mvs.read_dict_node_edge,
-                   "RRD": self.mvs.read_reverse_dict,
-                   "RV": self.mvs.read_value,
-                   "CN": self.mvs.create_node,
-                   "CNV": self.mvs.create_nodevalue,
-                   "CE": self.mvs.create_edge,
-                   "DE": self.mvs.delete_edge,
-                   "DN": self.mvs.delete_node,
-                   "CD": self.mvs.create_dict,
-                  }
-
-    def execute(self, command, params):
-        params = json.loads(json.dumps(params))
-        retval = self.mapping[command](*params)
-        retval = json.loads(json.dumps(retval))
-
-        return retval
-
-def add_new_task(root, mvs, taskname):
-    hierarchy = mvs.execute("RD", [root, "__hierarchy"])
-    initial = mvs.execute("RD", [hierarchy, "__IP"])
-
-    task_root = mvs.execute("CN", [])
-    _globals = mvs.execute("CN", [])
-    frame = mvs.execute("CN", [])
-    evalstack = mvs.execute("CN", [])
-    symbols = mvs.execute("CN", [])
-    _input = mvs.execute("CN", [])
-    _output = mvs.execute("CN", [])
-    returnvalue = mvs.execute("CN", [])
-    phase = mvs.execute("CNV", ["init"])
-
-    mvs.execute("CD", [root, taskname, task_root])
-    mvs.execute("CD", [task_root, "frame", frame])
-    mvs.execute("CD", [task_root, "globals", _globals])
-    mvs.execute("CD", [task_root, "input", _input])
-    mvs.execute("CD", [task_root, "last_input", _input])
-    mvs.execute("CD", [task_root, "output", _output])
-    mvs.execute("CD", [task_root, "last_output", _output])
-    mvs.execute("CD", [frame, "evalstack", evalstack])
-    mvs.execute("CD", [frame, "returnvalue", returnvalue])
-    mvs.execute("CD", [frame, "phase", phase])
-    mvs.execute("CD", [frame, "IP", initial])
-    mvs.execute("CD", [frame, "symbols", symbols])
-
-def execute_until_finished(mvk, mvs, operation="execute_rule", params=[]):
-    taskname = "task_1"
-    if operation == "initialize_new_task":
-        return add_new_task(mvk.root, mvs, taskname)
-    response = None
-    while 1:
-        mvs_commands = mvk.execute_yields(taskname, operation, params, response)
-        if mvs_commands is None:
-            break
-        response = []
-        for command, param in mvs_commands:
-            response.append(mvs.execute(command, param))
-
-def get_inst(root, mvs):
-    task_root = mvs.execute("RD", [root, "task_1"])
-    task_frame = mvs.execute("RD", [task_root, "frame"])
-    inst = mvs.execute("RD", [task_frame, "IP"])
-    return mvs.execute("RV", [inst])["value"]
-
-def get_phase(root, mvs):
-    task_root = mvs.execute("RD", [root, "task_1"])
-    task_frame = mvs.execute("RD", [task_root, "frame"])
-    phase = mvs.execute("RD", [task_frame, "phase"])
-    return mvs.execute("RV", [phase])
-
-def get_returnvalue(root, mvs):
-    task_root = mvs.execute("RD", [root, "task_1"])
-    task_frame = mvs.execute("RD", [task_root, "frame"])
-    returnvalue = mvs.execute("RD", [task_frame, "returnvalue"])
-    return mvs.execute("RV", [returnvalue])
-
-def get_inst_ref(root, mvs):
-    task_root = mvs.execute("RD", [root, "task_1"])
-    task_frame = mvs.execute("RD", [task_root, "frame"])
-    return mvs.execute("RD", [task_frame, "IP"])
-
-def get_returnvalue_ref(root, mvs):
-    task_root = mvs.execute("RD", [root, "task_1"])
-    task_frame = mvs.execute("RD", [task_root, "frame"])
-    return mvs.execute("RD", [task_frame, "returnvalue"])
-
-def get_phase_ref(root, mvs):
-    task_root = mvs.execute("RD", [root, "task_1"])
-    task_frame = mvs.execute("RD", [task_root, "frame"])
-    phase = mvs.execute("RD", [task_frame, "phase"])
-    return phase
-
-def read_primitive_interfaces(root, mvs):
-    hierarchy = mvs.execute("RD", [root, "__hierarchy"])
-    primitives = mvs.execute("RD", [hierarchy, "primitives"])
-    keys = mvs.execute("RDK", [primitives])
-    d = {}
-    for k in keys:
-        value = mvs.execute("RDN", [primitives, k])
-        name = mvs.execute("RV", [k])
-        d[name] = value
-    return d

+ 0 - 9
kernel/test/primitives/test_action.py

@@ -34,15 +34,6 @@ class TestAction(unittest.TestCase):
     def test_eq_diff(self):
         self.helper_primitives_2_params("value_eq", {"value": "while"}, 10, False)
 
-    def test_neq_true(self):
-        self.helper_primitives_2_params("value_neq", {"value": "while"}, {"value": "while"}, False)
-
-    def test_neq_false(self):
-        self.helper_primitives_2_params("value_neq", {"value": "while"}, {"value": "call"}, True)
-
-    def test_neq_diff(self):
-        self.helper_primitives_2_params("value_neq", {"value": "while"}, 10, True)
-
     def helper_primitives_2_params(self, operation, a, b, result):
         self.actual_arg_a = self.mvs.execute("CN", [])
         self.actual_arg_b = self.mvs.execute("CN", [])

+ 0 - 12
kernel/test/primitives/test_bool.py

@@ -67,18 +67,6 @@ class TestBool(unittest.TestCase):
     def test_eq_F_F(self):
         self.helper_primitives_2_params("value_eq", False, False, True)
 
-    def test_neq_T_T(self):
-        self.helper_primitives_2_params("value_neq", True, True, False)
-
-    def test_neq_T_F(self):
-        self.helper_primitives_2_params("value_neq", True, False, True)
-
-    def test_neq_F_T(self):
-        self.helper_primitives_2_params("value_neq", False, True, True)
-
-    def test_neq_F_F(self):
-        self.helper_primitives_2_params("value_neq", False, False, False)
-
     def helper_primitives_2_params(self, operation, a, b, result):
         self.actual_arg_a = self.mvs.execute("CN", [])
         self.actual_arg_b = self.mvs.execute("CN", [])

+ 0 - 15
kernel/test/primitives/test_dict.py

@@ -25,12 +25,6 @@ class TestDict(unittest.TestCase):
         execute_until_finished(self.mvk, self.mvs, "load_primitives", [])
         self.primitives = read_primitive_interfaces(self.root, self.mvs)
 
-    def test_add(self):
-        self.helper_primitives_3_params("dict_add", {}, "a", 5, {"a": 5})
-
-    def test_add_existing(self):
-        self.helper_primitives_3_params("dict_add", {"b": 6}, "a", 5, {"a": 5, "b": 6})
-
     def test_delete(self):
         self.helper_primitives_2_params("dict_delete", {"a": 5}, "a", {})
 
@@ -60,15 +54,6 @@ class TestDict(unittest.TestCase):
     def test_read(self):
         self.helper_primitives_2_params("dict_read", {"a": 5, "b": 6}, "a", 5)
 
-    def test_len_0(self):
-        self.helper_primitives_1_params("dict_len", {}, 0)
-
-    def test_len_1(self):
-        self.helper_primitives_1_params("dict_len", {"a": 5}, 1)
-
-    def test_len_2(self):
-        self.helper_primitives_1_params("dict_len", {"a": 5, "b": 6}, 2)
-
     def construct(self, source, dct):
         for i, v in dct.items():
             t = self.mvs.execute("CNV", [v])

+ 0 - 18
kernel/test/primitives/test_element.py

@@ -43,24 +43,6 @@ class TestType(unittest.TestCase):
         b = self.mvs.execute("CN", [])
         self.helper_primitives_2_params("element_eq", a, b, False)
 
-    def test_neq_true_value(self):
-        a = self.mvs.execute("CNV", [5])
-        self.helper_primitives_2_params("element_neq", a, a, False)
-
-    def test_neq_true_novalue(self):
-        a = self.mvs.execute("CN", [])
-        self.helper_primitives_2_params("element_neq", a, a, False)
-
-    def test_neq_false_value(self):
-        a = self.mvs.execute("CNV", [5])
-        b = self.mvs.execute("CNV", [5])
-        self.helper_primitives_2_params("element_neq", a, b, True)
-
-    def test_neq_false_novalue(self):
-        a = self.mvs.execute("CN", [])
-        b = self.mvs.execute("CN", [])
-        self.helper_primitives_2_params("element_neq", a, b, True)
-
     def helper_primitives_2_params(self, operation, a, b, result):
         self.actual_arg_a = self.mvs.execute("CN", [])
         self.actual_arg_b = self.mvs.execute("CN", [])

+ 0 - 24
kernel/test/primitives/test_float.py

@@ -37,15 +37,6 @@ class TestInteger(unittest.TestCase):
     def test_division(self):
         self.helper_primitives_2_params("float_division", 5.8, 2.4, 5.8/2.4)
 
-    def test_gt_less(self):
-        self.helper_primitives_2_params("float_gt", 2.4, 5.8, False)
-
-    def test_gt_eq(self):
-        self.helper_primitives_2_params("float_gt", 2.4, 2.4, False)
-
-    def test_gt_greater(self):
-        self.helper_primitives_2_params("float_gt", 5.8, 2.4, True)
-
     def test_lt_less(self):
         self.helper_primitives_2_params("float_lt", 2.4, 5.8, True)
 
@@ -61,21 +52,6 @@ class TestInteger(unittest.TestCase):
     def test_eq_eq(self):
         self.helper_primitives_2_params("value_eq", 2.4, 2.4, True)
 
-    def test_neq_diff(self):
-        self.helper_primitives_2_params("value_neq", 2.4, 5.8, True)
-
-    def test_neq_eq(self):
-        self.helper_primitives_2_params("value_neq", 2.4, 2.4, False)
-
-    def test_neg_pos(self):
-        self.helper_primitives_1_params("float_neg", 5.8, -5.8)
-
-    def test_neg_neg(self):
-        self.helper_primitives_1_params("float_neg", -5.8, 5.8)
-
-    def test_neg_zero(self):
-        self.helper_primitives_1_params("float_neg", 0.0, 0.0)
-
     def helper_primitives_2_params(self, operation, a, b, result):
         self.actual_arg_a = self.mvs.execute("CN", [])
         self.actual_arg_b = self.mvs.execute("CN", [])

+ 0 - 24
kernel/test/primitives/test_integer.py

@@ -37,15 +37,6 @@ class TestInteger(unittest.TestCase):
     def test_division(self):
         self.helper_primitives_2_params("integer_division", 5, 2, 2)
 
-    def test_gt_less(self):
-        self.helper_primitives_2_params("integer_gt", 2, 5, False)
-
-    def test_gt_eq(self):
-        self.helper_primitives_2_params("integer_gt", 2, 2, False)
-
-    def test_gt_greater(self):
-        self.helper_primitives_2_params("integer_gt", 5, 2, True)
-
     def test_lt_less(self):
         self.helper_primitives_2_params("integer_lt", 2, 5, True)
 
@@ -61,21 +52,6 @@ class TestInteger(unittest.TestCase):
     def test_eq_eq(self):
         self.helper_primitives_2_params("value_eq", 2, 2, True)
 
-    def test_neq_diff(self):
-        self.helper_primitives_2_params("value_neq", 2, 5, True)
-
-    def test_neq_eq(self):
-        self.helper_primitives_2_params("value_neq", 2, 2, False)
-
-    def test_neg_pos(self):
-        self.helper_primitives_1_params("integer_neg", 5, -5)
-
-    def test_neg_neg(self):
-        self.helper_primitives_1_params("integer_neg", -5, 5)
-
-    def test_neg_zero(self):
-        self.helper_primitives_1_params("integer_neg", 0, 0)
-
     def helper_primitives_2_params(self, operation, a, b, result):
         self.actual_arg_a = self.mvs.execute("CN", [])
         self.actual_arg_b = self.mvs.execute("CN", [])

+ 0 - 33
kernel/test/primitives/test_list.py

@@ -25,39 +25,6 @@ class TestList(unittest.TestCase):
         execute_until_finished(self.mvk, self.mvs, "load_primitives", [])
         self.primitives = read_primitive_interfaces(self.root, self.mvs)
 
-    def test_append(self):
-        self.helper_primitives_2_params("list_append", [], "abc", ["abc"])
-
-    def test_append_existing(self):
-        self.helper_primitives_2_params("list_append", ["abc"], "def", ["abc", "def"])
-
-    def test_append_longer(self):
-        self.helper_primitives_2_params("list_append", ["abc", "def", "g", "hi"], "jk", ["abc", "def", "g", "hi", "jk"])
-
-    def test_read_0(self):
-        self.helper_primitives_2_params("list_read", [1, 1, 2, 3, 5, 8, 13, 21], 0, 1)
-
-    def test_read_1(self):
-        self.helper_primitives_2_params("list_read", [1, 1, 2, 3, 5, 8, 13, 21], 1, 1)
-
-    def test_read_6(self):
-        self.helper_primitives_2_params("list_read", [1, 1, 2, 3, 5, 8, 13, 21], 6, 13)
-
-    def test_read_7(self):
-        self.helper_primitives_2_params("list_read", [1, 1, 2, 3, 5, 8, 13, 21], 7, 21)
-
-    def test_len_0(self):
-        self.helper_primitives_1_params("list_len", [], 0)
-
-    def test_len_1(self):
-        self.helper_primitives_1_params("list_len", ["abc"], 1)
-
-    def test_len_5(self):
-        self.helper_primitives_1_params("list_len", ["a", "bc", "dd", "ef", "GGHI"], 5)
-
-    def test_len_5_int(self):
-        self.helper_primitives_1_params("list_len", [1, 2, 3, 4, 5], 5)
-
     def test_insert_front(self):
         self.helper_primitives_3_params("list_insert", ["b", "c", "d"], "a", 0, ["a", "b", "c", "d"])
 

+ 0 - 9
kernel/test/primitives/test_set.py

@@ -25,15 +25,6 @@ class TestSet(unittest.TestCase):
         execute_until_finished(self.mvk, self.mvs, "load_primitives", [])
         self.primitives = read_primitive_interfaces(self.root, self.mvs)
 
-    def test_add(self):
-        self.helper_primitives_2_params("set_add", set([1, 2, 3]), 4, set([1, 2, 3, 4]))
-
-    def test_add_empty(self):
-        self.helper_primitives_2_params("set_add", set([]), "abc", set(["abc"]))
-
-    def test_pop(self):
-        self.helper_primitives_1_params("set_pop", set([1]), 1)
-
     def test_remove(self):
         self.helper_primitives_2_params("set_remove", set([1, 2, 3, 4]), 3, set([1, 2, 4]))
 

+ 0 - 15
kernel/test/primitives/test_string.py

@@ -40,21 +40,6 @@ class TestString(unittest.TestCase):
     def test_eq_empty(self):
         self.helper_primitives_2_params("value_eq", "", "", True)
 
-    def test_neq(self):
-        self.helper_primitives_2_params("value_neq", "abc", "abc", False)
-
-    def test_neq_startswith(self):
-        self.helper_primitives_2_params("value_neq", "abc", "abcdef", True)
-
-    def test_neq_samelength(self):
-        self.helper_primitives_2_params("value_neq", "abc", "def", True)
-
-    def test_neq_diff(self):
-        self.helper_primitives_2_params("value_neq", "abc", "defghij", True)
-
-    def test_neq_empty(self):
-        self.helper_primitives_2_params("value_neq", "", "", False)
-
     def test_join(self):
         self.helper_primitives_2_params("string_join", "abc", "def", "abcdef")