def test_double_remove_user(self): """ Tests double removing a user will throw an error. """ u1 = User("u1", 1) network = UserNetwork() network.add_user(u1) network.remove_user(u1) self.assertRaises(NonExistentUserError, network.remove_user, u1)
def remove_user(self, user): """ Removes a user from the network and removes the edges for the user's node from the graph. :param user: User to remove :type user: VisualUser :return: None """ UserNetwork.remove_user(self, user) self.directed_graph.remove(user.node) for edge in user.edges: edge_to_remove = self.directed_graph.edge(edge.node1.id, edge.node2.id) self.directed_graph.remove(edge_to_remove)
def test_remove_user(self): """ Tests removing a user from a network. """ u1 = User("u1", 1) u2 = User("u2", 1) network = UserNetwork() network.add_user(u1) network.add_user(u2) network.remove_user(u1) self.assertEqual(len(network.users), 1) self.assertTrue(u2 in network.users) self.assertFalse(u1 in network.users) network.remove_user(u2) self.assertEqual(len(network.users), 0) self.assertFalse(u2 in network.users) self.assertFalse(u1 in network.users)