def test_invalid_email(self):
     with self.assertRaises(InvalidEmailError):
         Panda('Ivo', '[email protected]', 'male')
         Panda('Ivo', '*****@*****.**', 'male')
         Panda('Ivo', 'nqkoisiBre.com', 'male')
         Panda('Ivo', 'nqkoisiBre@Abv.', 'male')
         Panda('Ivo', 'nqkoisiBre@Abv', 'male')
Ejemplo n.º 2
0
    def test_are_connected_two_pandas_that_are(self):
        panda1 = Panda('name', '*****@*****.**', 'male')
        panda2 = Panda('name', '*****@*****.**', 'male')

        self.panda_social_network.make_friends(panda1, panda2)
        self.assertTrue(self.panda_social_network.are_connected(
            panda1, panda2))
Ejemplo n.º 3
0
 def test_make_friends_work_properly(self):
     panda1 = Panda('Pesho', '*****@*****.**', 'male')
     panda2 = Panda('Peshoze', '*****@*****.**', 'male')
     self.assertEqual(0, len(self.panda_social_network.get_pandas()))
     self.panda_social_network.make_friends(panda1, panda2)
     self.assertEqual(2, len(self.panda_social_network.get_pandas()))
     self.assertTrue(self.panda_social_network.are_friends(panda1, panda2))
     self.assertTrue(self.panda_social_network.are_friends(panda2, panda1))
 def test_make_friends_work_properly(self):
     panda1 = Panda('testtest', '*****@*****.**', 'male')
     panda2 = Panda('testtest2', '*****@*****.**', 'male')
     self.assertEqual(0, len(self.panda_social_network.get_pandas()))
     self.panda_social_network.make_friends(panda1, panda2)
     self.assertEqual(2, len(self.panda_social_network.get_pandas()))
     self.assertTrue(self.panda_social_network.are_friends(panda1, panda2))
     self.assertTrue(self.panda_social_network.are_friends(panda2, panda1))
Ejemplo n.º 5
0
    def test_connection_level_for_two_pandas_who_are_not_connected(self):
        panda1 = Panda('name', '*****@*****.**', 'male')
        panda2 = Panda('name', '*****@*****.**', 'male')

        self.panda_social_network.add_panda(panda1)
        self.panda_social_network.add_panda(panda2)

        self.assertEqual(
            self.panda_social_network.connection_level(panda1, panda2), -1)
Ejemplo n.º 6
0
    def test_friends_of_panda_with_two_friends(self):
        panda1 = Panda('name', '*****@*****.**', 'male')
        panda2 = Panda('name', '*****@*****.**', 'male')
        panda3 = Panda('name', '*****@*****.**', 'male')

        self.panda_social_network.make_friends(panda1, panda2)
        self.panda_social_network.make_friends(panda1, panda3)

        self.assertEqual(self.panda_social_network.friends_of(panda1),
                         set([panda2, panda3]))
Ejemplo n.º 7
0
 def test_connection_level_3_pandas(self):
     ivo = Panda("Ivo", "*****@*****.**", "male")
     pandio = Panda("Pandio", "*****@*****.**", "male")
     hime = Panda("Hime", "*****@*****.**", "female")
     self.network.add_panda(ivo)
     self.network.add_panda(pandio)
     self.network.add_panda(hime)
     self.network.make_friends(ivo, pandio)
     self.network.make_friends(pandio, hime)
     self.assertEqual(2, self.network.connection_level(ivo, hime))
Ejemplo n.º 8
0
    def test_gender_when_level_is_0(self):
        panda1 = Panda('name', '*****@*****.**', 'male')
        panda2 = Panda('name', '*****@*****.**', 'male')
        panda3 = Panda('name', '*****@*****.**', 'male')

        self.panda_social_network.make_friends(panda1, panda2)
        self.panda_social_network.make_friends(panda1, panda3)
        self.assertEqual(
            self.panda_social_network.how_many_gender_in_network(
                1, panda1, 'male'), 2)
Ejemplo n.º 9
0
    def test_connection_level_for_graph_with_4_pandas(self):
        panda1 = Panda('name', '*****@*****.**', 'male')
        panda2 = Panda('name', '*****@*****.**', 'male')
        panda3 = Panda('name', '*****@*****.**', 'male')
        panda4 = Panda('name', '*****@*****.**', 'male')
        self.panda_social_network.make_friends(panda1, panda2)
        self.panda_social_network.make_friends(panda2, panda3)
        self.panda_social_network.make_friends(panda3, panda4)

        level = self.panda_social_network. \
            connection_level(panda1, panda4)
        self.assertEqual(3, level)
 def test_hash(self):
     """ Create three almost equal pandas and see if their hash function works
         as expected"""
     one = Panda('Ivo', '*****@*****.**', 'male')
     two = Panda('Ivo', '*****@*****.**', 'male')
     three = Panda('ivo', '*****@*****.**', 'male')
     four = Panda('shopa', '*****@*****.**', 'male')
     # create a set and see if all four pandas are there, if not, some have been overwritten
     pandas = {one, two, three, four}
     self.assertEqual(len(pandas), 4)
     # create a set again
     one_copy = Panda('Ivo', '*****@*****.**', 'male')
     pandas = {one, one_copy}  # THESE SHOULD OVERWRITE
     self.assertNotEqual(len(pandas), 2)
     self.assertEqual(len(pandas), 1)
Ejemplo n.º 11
0
    def test_init(self):
        self.assertTrue(isinstance(self.ivo, Panda))
        self.assertEqual(self.ivo.name, self.name)
        self.assertEqual(self.ivo.email, self.email)
        self.assertEqual(self.ivo.gender, self.gender)

        with self.assertRaises(ValueError):
            self.ivo = Panda("Ivo", "ivopandamail.com", "male")
 def setUp(self):
     self.ivo = Panda('Ivo', '*****@*****.**', 'male')
     self.ivo_copy = Panda('Ivo', '*****@*****.**', 'male')
     self.roza = Panda('Rositsa', '*****@*****.**', 'female')
     self.smith = Panda('John', '*****@*****.**', 'male')
     self.smalling = Panda('Paul', '*****@*****.**', 'male')
     self.patrice = Panda('Evra', '*****@*****.**', 'male')
     self.girl = Panda('Girl', '*****@*****.**', 'female')
    def setUp(self):
        self.ivo = Panda('Ivo', '*****@*****.**', 'male')
        self.ivo_copy = Panda('Ivo', '*****@*****.**', 'male')
        self.roza = Panda('Rositsa', '*****@*****.**', 'female')
        self.smith = Panda('John', '*****@*****.**', 'male')
        self.smalling = Panda('Paul', '*****@*****.**', 'male')
        self.patrice = Panda('Evra', '*****@*****.**', 'male')
        self.girl = Panda('Girl', '*****@*****.**', 'female')
        self.friendless_guy = Panda('Friendless', '*****@*****.**', 'male')

        self.social_network = PandaSocialNetwork()
        self.social_network.add_panda(self.friendless_guy)
        self.social_network.make_friends(self.ivo, self.roza)
        self.social_network.make_friends(self.ivo, self.smith)
        self.social_network.make_friends(self.ivo, self.smalling)
        self.social_network.make_friends(self.patrice, self.smalling)
        self.social_network.make_friends(self.patrice, self.girl)
Ejemplo n.º 14
0
 def test_friends_of_panda_with_0_friends(self):
     panda1 = Panda('name', '*****@*****.**', 'male')
     self.panda_social_network.add_panda(panda1)
     self.assertEqual(self.panda_social_network.friends_of(panda1), set())
Ejemplo n.º 15
0
 def test_panda_name_method_avoids_collision(self):
     panda = Panda('name', '*****@*****.**', 'male')
     self.assertEqual(panda.name(), 'name')
Ejemplo n.º 16
0
 def setUp(self, name, email, male):
     self.ivo = Panda("Ivo", "*****@*****.**", "male")
     self.name = "Ivo"
     self.email = "*****@*****.**"
     self.gender = "male"
Ejemplo n.º 17
0
 def setUp(self):
     self.network = PandaSocialNetwork()
     self.network.all_pandas = {}
     self.ivo = Panda("Ivo", "*****@*****.**", "male")
     self.pandio = Panda("Pandio", "*****@*****.**", "male")
     self.hime = Panda("Hime", "*****@*****.**", "female")
 def test_get_pandas_return_1_panda_if_1_panda_is_added(self):
     panda = Panda('testtest', '*****@*****.**', 'male')
     self.panda_social_network.add_panda(panda)
     self.assertEqual(self.panda_social_network.get_pandas(), [panda])
Ejemplo n.º 19
0
 def test_eq(self):
     other_panda = Panda("Rado", "*****@*****.**", "male")
     self.assertFalse(self.ivo == other_panda)
Ejemplo n.º 20
0
 def test_get_pandas_return_1_panda_if_1_panda_is_added(self):
     panda = Panda('Pesho', '*****@*****.**', 'male')
     self.panda_social_network.add_panda(panda)
     self.assertEqual(self.panda_social_network.get_pandas(), [panda])