#!/usr/bin/env python
# -*- coding: utf-8 -*-


"""
Zad 4. Napisz funkcje oov(text, vocab), która zwraca listę wyrazów
(bez duplikatów), które występują w tekście text i nie występują w liście
znanych wyrazów vocab. Argumenty funkcji text i vocab to odpowiednio łańcuch
znakowy i lista łańuchów znakowych. Wszystkie wyrazy należy zmienić na małe
litery. (OOV = out of vocabulary) (W pythonie istnieje struktura danych tak
jak 'set', która przechowuje elementy bez powtórzeń.)
"""


def oov(text, vocab):
    pass



def tests(f):
    inputs = [("this is a string , which i will use for string testing",
               [',', 'this', 'is', 'a', 'which', 'for', 'will', 'i'])]
    outputs = [['string', 'testing', 'use']]

    for input, output in zip(inputs, outputs):
        if set(f(*input)) != set(output):
            return "ERROR: {}!={}".format(f(*input), output)
            break
    return "TESTS PASSED"

if __name__ == "__main__":
    print(tests(oov))