def test_makeFriend(self): friend_map.makeFriend("Aaron", "Bella") self.assertEqual(len(friend_map.friendGraph.nodes), 2) self.assertTrue("Aaron" in friend_map.friendGraph.nodes) self.assertTrue("Bella" in friend_map.friendGraph.nodes) self.assertEqual(len(friend_map.friendGraph.edges["Aaron"]), 1) self.assertEqual(len(friend_map.friendGraph.edges["Bella"]), 1) self.assertTrue("Bella" in friend_map.friendGraph.edges["Aaron"]) self.assertTrue("Aaron" in friend_map.friendGraph.edges["Bella"]) """
def test_getDirectFriends(self): direct_friends = friend_map.getDirectFriends("Aaron") self.assertEqual(len(direct_friends), 0) friend_map.makeFriend("Aaron", "Bella") friend_map.makeFriend("Bella", "Cindy") friend_map.makeFriend("Bella", "David") friend_map.makeFriend("David", "Elizabeth") friend_map.makeFriend("Cindy", "Frank") direct_friends = friend_map.getDirectFriends("David") self.assertEqual(len(direct_friends), 2) self.assertTrue("Bella" in direct_friends) self.assertTrue("Elizabeth" in direct_friends)
def test_getIndirectFriends(self): indirect_friends = friend_map.getIndirectFriends("Aaron") self.assertEqual(len(indirect_friends), 4) self.assertTrue("Cindy" in indirect_friends) self.assertTrue("Frank" in indirect_friends) self.assertTrue("David" in indirect_friends) self.assertTrue("Elizabeth" in indirect_friends) # Add robustness case when Aaron is in a cycle within the graph friend_map.makeFriend("Brett", "David") friend_map.makeFriend("Aaron", "Brett") indirect_friends = [] indirect_friends = friend_map.getIndirectFriends("Aaron") self.assertEqual(len(indirect_friends), 4) self.assertTrue("Cindy" in indirect_friends) self.assertTrue("Frank" in indirect_friends) self.assertTrue("David" in indirect_friends) self.assertTrue("Elizabeth" in indirect_friends)