def test_flyweight(self):
        """
        Test that new objects with the same params are actually equal.

        @raise AssertionError: If the test fails.
        """
        three_of_spades = self.card_class('Spade', 3)
        four_of_spades = self.card_class('Spade', 4)
        three_of_spades_two = self.card_class('Spade', 3)

        self.assertEqual(id(three_of_spades), id(three_of_spades_two))
        self.assertNotEqual(id(three_of_spades), id(four_of_spades))

        Test that new objects with the same params are actually equal.

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