예제 #1
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)
예제 #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_indexed():
        tenv = {}
        Tnamed(tenv, "x").unify(Tindexed(Tint()), 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_variable_indexed():
        Tnew().unify(Tindexed(Tint()))
예제 #6
0
def test_unify_vector_indexed_int():
        with pytest.raises(IncompatibleTypes):
                Tvector().unify(Tindexed(Tint()))
예제 #7
0
def test_unify_array_indexed_int():
        with pytest.raises(IncompatibleTypes):
                Tarray(Treal()).unify(Tindexed(Tint()))
예제 #8
0
def test_unify_real_int():
        with pytest.raises(IncompatibleTypes):
                Treal().unify(Tint())
예제 #9
0
def test_unify_int_int():
        Tint().unify(Tint())