예제 #1
0
def test_unify_matrix_indexed_named_variable_real():
        tenv = {}
        Tmatrix().unify(Tindexed(Tnamed(tenv, "x")), tenv=tenv)
        Tindexed(Tnamed(tenv, "y")).unify(Tnamed(tenv, "x"), tenv=tenv)
        Treal().unify(Tnamed(tenv, "y"), tenv=tenv)
예제 #2
0
def test_unify_matrix_indexed_named_variable_int():
        with pytest.raises(IncompatibleTypes):
                tenv = {}
                Tmatrix().unify(Tindexed(Tnamed(tenv, "x")), tenv=tenv)
                Tindexed(Tnamed(tenv, "y")).unify(Tnamed(tenv, "x"), tenv=tenv)
                Tint().unify(Tnamed(tenv, "y"), tenv=tenv)
예제 #3
0
def test_unify_named_variable_named_variable_different_conflict():
        with pytest.raises(IncompatibleTypes):
                tenv = {}
                Tnamed(tenv, "x").unify(Tint(), tenv=tenv)
                Tnamed(tenv, "y").unify(Treal(), tenv=tenv)
                Tnamed(tenv, "y").unify(Tnamed(tenv, "x"), tenv=tenv)
예제 #4
0
def test_unify_named_variable_named_variable_different_no_conflict():
        tenv = {}
        Tnamed(tenv, "x").unify(Tint(), tenv=tenv)
        Tnamed(tenv, "y").unify(Treal(), tenv=tenv)
예제 #5
0
def test_unify_named_variable_named_variable_different():
        tenv = {}
        Tnamed(tenv, "x").unify(Tnamed(tenv, "y"), tenv=tenv)
예제 #6
0
def test_unify_named_variable_named_variable_same():
        tenv = {}
        Tnamed(tenv, "x").unify(Tnamed(tenv, "x"), tenv=tenv)
예제 #7
0
def test_unify_named_variable_indexed():
        tenv = {}
        Tnamed(tenv, "x").unify(Tindexed(Tint()), tenv=tenv)