import unittest class TestNaslovi(unittest.TestCase): def test_razcleni(self): self.assertTupleEqual( razcleni("Janez Demsar\tjanez.demsar@t-3.com\n"), ("Janez Demsar", "janez.demsar@t-3.com")) self.assertTupleEqual( razcleni("Juan Maria Fernandez Sanchez " "de Porto Grande\tjuan@hotmail.com"), ("Juan Maria Fernandez Sanchez de Porto Grande", "juan@hotmail.com")) def test_razcleni_ni_afne(self): self.assertTupleEqual( razcleni("Natalija P. Musek\tne-povem!"), ("Natalija P. Musek", "")) self.assertTupleEqual( razcleni("Natalija P. Musek\t"), ("Natalija P. Musek", "")) def test_razcleni_ni_maila(self): self.assertTupleEqual( razcleni("Natalija P. Musek"), ("Natalija P. Musek", "")) def test_razcleni_ni_nic(self): self.assertTupleEqual(razcleni(""), ("", "")) self.assertTupleEqual(razcleni("\n"), ("", "")) self.assertTupleEqual(razcleni("\t\n"), ("", "")) self.assertTupleEqual(razcleni("\t"), ("", "")) def test_naslovi(self): self.assertEqual(preberi_naslove("naslovi.txt"), {'mail@hogmail.com': 'Peter Z Mailom', 'janez@demsar.com': 'Janez Demsar', 'tone.novak@gmail.com': 'Tone Novak', 'janez.demsar@t-3.com': 'Janez Demsar', 'peter2@gmail.com': 'Peter Petrovic', 'janez.demsar@gmail.com': 'Janez Demsar', 'peter@demsar.com': 'Peter Petrovic', 'peter-peter@hogmail.com': 'Peter Petrovic', 'se-en-mail@aol.com': 'Peter Petrovic', 'andrejgo@gmail.com': 'Andrej Gorenc'}) def test_po_ponudnikih(self): naslovi = preberi_naslove("naslovi.txt") self.assertEqual(dict(po_ponudnikih(naslovi)), {'t-3.com': {'Janez Demsar'}, 'hogmail.com': {'Peter Petrovic', 'Peter Z Mailom'}, 'gmail.com': {'Janez Demsar', 'Peter Petrovic', 'Tone Novak', 'Andrej Gorenc'}, 'demsar.com': {'Janez Demsar', 'Peter Petrovic'}, 'aol.com': {'Peter Petrovic'}}) def test_po_ljudeh(self): naslovi = preberi_naslove("naslovi.txt") self.assertEqual(dict(po_ljudeh(naslovi)), {'Janez Demsar': {'janez.demsar@gmail.com', 'janez@demsar.com', 'janez.demsar@t-3.com'}, 'Tone Novak': {'tone.novak@gmail.com'}, 'Peter Petrovic': {'peter-peter@hogmail.com', 'peter2@gmail.com', 'peter@demsar.com', 'se-en-mail@aol.com'}, 'Peter Z Mailom': {'mail@hogmail.com'}, 'Andrej Gorenc': {'andrejgo@gmail.com'}}) def test_najpopularnejsi(self): naslovi = preberi_naslove("naslovi.txt") ponudniki = po_ponudnikih(naslovi) self.assertEqual(najpopularnejsi(ponudniki), "gmail.com") ljudje = po_ljudeh(naslovi) self.assertTrue(najpopularnejsi(ljudje), "Peter Petrovic") def test_skupne(self): naslovi = preberi_naslove("naslovi.txt") ponudniki = po_ponudnikih(naslovi) self.assertEqual(skupne_stranke(ponudniki, "gmail.com", "hogmail.com"), {"Peter Petrovic"}) self.assertEqual(skupne_stranke(ponudniki, "gmail.com", "demsar.com"), {"Peter Petrovic", "Janez Demsar"}) self.assertEqual(skupne_stranke(ponudniki, "t-3.com", "hogmail.com"), set()) def test_jaccard(self): naslovi = preberi_naslove("naslovi.txt") ponudniki = po_ponudnikih(naslovi) self.assertEqual(jaccard(ponudniki, "gmail.com", "hogmail.com"), 0.2) self.assertEqual(jaccard(ponudniki, "gmail.com", "demsar.com"), 0.5) self.assertEqual(jaccard(ponudniki, "t-3.com", "hogmail.com"), 0) if __name__ == "__main__": unittest.main()