def test_add_attributes_prototype(self):
        """
        Test the prototype method with completely new attributes.

        @raise AssertionError: If the test fails.
        """
        point_one = self.__point_class(15, 15)
        point_two = point_one.prototype(z=20)
        point_three = point_two.prototype()

        self.assertEquals(point_one.x, point_two.x)
        self.assertEquals(point_one.y, point_two.y)
        self.assertFalse(hasattr(point_one, 'z'))
        self.assertTrue(hasattr(point_two, 'z'))
        self.assertEquals(point_two.z, 20)
        self.assertEquals(point_three.__dict__, point_two.__dict__)

        Test the prototype method with completely new attributes.

        @raise AssertionError: If the test fails.
        
tests/creational_tests/test_prototype.py