def test_are_connected(self):
        rado = Panda("Rado", "*****@*****.**", "male")
        pavli = Panda("Pavli", "*****@*****.**", "male")
        maria = Panda("maria", "*****@*****.**", "female")

        self.network.make_friends(self.ivo, rado)
        self.network.make_friends(rado, pavli)

        self.assertTrue(self.network.are_connected(self.ivo, pavli))
        self.assertFalse(self.network.are_connected(self.ivo, maria))
    def test_friends_of_panda(self):
        rado = Panda("Rado", "*****@*****.**", "male")
        pavli = Panda("Pavli", "*****@*****.**", "male")
        maria = Panda("maria", "*****@*****.**", "female")

        self.network.make_friends(self.ivo, rado)
        self.network.make_friends(self.ivo, pavli)
        self.network.make_friends(self.ivo, maria)

        expected = [rado, pavli, maria]
        self.assertEqual(self.network.friends_of(self.ivo), expected)
    def test_connection_level_between_two_pandas(self):
        rado = Panda("Rado", "*****@*****.**", "male")
        pavli = Panda("Pavli", "*****@*****.**", "male")
        maria = Panda("maria", "*****@*****.**", "female")
        gogo = Panda("Gogo", "*****@*****.**", "male")

        self.network.make_friends(self.ivo, rado)
        self.network.make_friends(pavli, gogo)
        self.network.make_friends(rado, pavli)
        self.network.make_friends(pavli, maria)

        self.assertEqual(self.network.connection_level(self.ivo, rado), 1)
        self.assertEqual(self.network.connection_level(self.ivo, pavli), 2)
        self.assertEqual(self.network.connection_level(self.ivo, maria), 3)
    def test_how_many_genders_in_network(self):
        rado = Panda("Rado", "*****@*****.**", "male")
        pavli = Panda("Pavlin", "*****@*****.**", "male")
        alex = Panda("Alex", "*****@*****.**", "male")
        maria = Panda("maria", "*****@*****.**", "female")
        slavyana = Panda("Slavyana", "*****@*****.**", "female")

        self.network.make_friends(self.ivo, rado)
        self.network.make_friends(pavli, slavyana)
        self.network.make_friends(rado, pavli)
        self.network.make_friends(pavli, maria)
        self.network.make_friends(self.ivo, pavli)
        self.network.make_friends(maria, alex)

        self.assertEqual(self.network.how_many_gender_in_network(
                                    1, self.ivo, "male"), 2)
        self.assertEqual(self.network.how_many_gender_in_network(
                                    1, self.ivo, "female"), 0)
        self.assertEqual(self.network.how_many_gender_in_network(
                                    2, self.ivo, "female"), 2)
        self.assertEqual(self.network.how_many_gender_in_network(
                                    25, self.ivo, "male"), 3)
    def test_connection_level_when_panda_not_in_network(self):
        rado = Panda("Rado", "*****@*****.**", "male")
        self.network.add_panda(rado)

        self.assertFalse(self.network.connection_level(self.ivo, rado))
    def test_connection_level_when_panda_has_no_friends(self):
        rado = Panda("Rado", "*****@*****.**", "male")
        self.network.add_panda(rado)
        self.network.add_panda(self.ivo)

        self.assertEqual(self.network.connection_level(self.ivo, rado), -1)
 def setUp(self):
     self.panda = Panda("Ivo", "*****@*****.**", "male")
    def test_make_and_are_friends(self):
        rado = Panda("Rado", "*****@*****.**", "male")
        self.network.make_friends(self.ivo, rado)

        self.assertTrue(self.network.are_friends(self.ivo, rado))
 def setUp(self):
     self.network = PandaSocialNetwork()
     self.ivo = Panda("Ivo", "*****@*****.**", "male")
    def test_pandas_are_equal(self):
        ivo = Panda("Ivo", "*****@*****.**", "male")
        rado = Panda("Ivo", "*****@*****.**", "female")

        self.assertFalse(self.panda == rado)
        self.assertTrue(self.panda == ivo)