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)
Пример #2
0
    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)