예제 #1
0
    def suggest(self, term, distance="levenshtein", threshold=None):
        """Método para sugerir palabras similares siguiendo la tarea 3.

        A completar.

        Args:
            term (str): término de búsqueda.
            distance (str): algoritmo de búsqueda a utilizar
                {"levenshtein", "restricted", "intermediate"}.
            threshold (int): threshold para limitar la búsqueda
                puede utilizarse con los algoritmos de distancia mejorada de la tarea 2
                o filtrando la salida de las distancias de la tarea 2
        """
        assert distance in ["levenshtein", "restricted", "intermediate"]

        results = {}  # diccionario termino:distancia
        if threshold == None: threshold = 2**31
        for voc in self.vocabulary:
            if abs(len(voc) - len(term)) > threshold: d = threshold + 1
            elif distance == "levenshtein":
                d = t2.dp_levenshtein_backwards(term, voc, threshold)
            elif distance == "restricted":
                d = t2.dp_restricted_damerau_backwards(term, voc, threshold)
            else:
                d = t2.dp_intermediate_damerau_backwards(term, voc, threshold)
            if d <= threshold: results[voc] = d
        return results
예제 #2
0
def test_menor():
    assert Tarea2.Func(10, 20) == -1
예제 #3
0
def test_exito():
    assert Tarea2.Func(20, 10) == (10, 30, 200)
예제 #4
0
def test_literal():
    assert Tarea2.Func('A', 20) == -1
예제 #5
0
def test_exito():
    prueba1 = Tarea2.funcion(2, 1)
    # probar funcion para el caso de exito --> sirve
    assert prueba1 == (1, 3, 2)
예제 #6
0
def test_error():
    prueba2 = Tarea2.funcion(1, 2)
    # error debido que el primer valor es menor que es segundo
    assert prueba2 == -25
def test_exito():
    r, s, m = Tarea2.funcion(5, 5)
    assert r == 0
    assert s == 10
    assert m == 25
예제 #8
0
def test_error2():
    # verifica el error de tipos y busca un resultado igual a -15
    prueba3 = Tarea2.funcion("a", 2)
    assert prueba3 == -15
def test_errorvalorliteral():
    e = Tarea2.funcion('valor', 10)
    assert e == -1
예제 #10
0
def test_errorAB():
    e = Tarea2.funcion(5, 10)
    assert e == -1
예제 #11
0
def test_2():
    assert Tarea2.result(1, 2) == -3
예제 #12
0
def test_1():
    assert Tarea2.result(3,
                         2) == ("Suma:", 5, "Resta:", 1, "Multiplicacion:", 6)
예제 #13
0
def test_3():
    assert Tarea2.result("a", 3) == -1