def test_remove_component(self):
        """
        Test the remove_component method.

        @raise AssertionError: If the test fails.
        """
        composite = Composite(self.component_class)

        composite_two = Composite(self.component_class)
        composite_two.add_component(self.leaf_one)
        composite_two.add_component(self.leaf_two)

        composite.add_component(self.leaf_one)
        composite.add_component(self.leaf_two)
        composite.add_component(composite_two)

        composite.remove_component(self.leaf_one)
        composite.remove_component(self.leaf_two)
        composite.remove_component(composite_two)
        try:
            composite.remove_component(composite_two)
        except:
            raise AssertionError
        else:
            self.assertSetEqual(set(), composite.components)

        Test the remove_component method.

        @raise AssertionError: If the test fails.
        
tests/structural_tests/test_composite.py