def test_should_leave_user_specified_properties_when_initializing_plugin(self):

        expected_properties = {
            "distutils_commands": ["foo", "bar"],
            "distutils_issue8876_workaround_enabled": True,
            "distutils_classifiers": [
                "Development Status :: 3 - Beta",
                "Programming Language :: Rust"
            ],
            "distutils_use_setuptools": False
        }

        for property_name, property_value in expected_properties.items():
            self.project.set_property(property_name, property_value)

            initialize_distutils_plugin(self.project)

        for property_name, property_value in expected_properties.items():
            self.assertEquals(
                self.project.get_property("distutils_commands"), ["foo", "bar"])
            self.assertEquals(
                self.project.get_property("distutils_issue8876_workaround_enabled"), True)
            self.assertEquals(
                self.project.get_property("distutils_classifiers"), ["Development Status :: 3 - Beta",
                                                                     "Programming Language :: Rust"])
            self.assertEquals(
                self.project.get_property("distutils_use_setuptools"), False)
    def test_should_leave_user_specified_properties_when_initializing_plugin(
            self):

        expected_properties = {
            "distutils_commands": ["foo", "bar"],
            "distutils_issue8876_workaround_enabled":
            True,
            "distutils_classifiers":
            ["Development Status :: 3 - Beta", "Programming Language :: Rust"],
            "distutils_use_setuptools":
            False
        }

        for property_name, property_value in expected_properties.items():
            self.project.set_property(property_name, property_value)

            initialize_distutils_plugin(self.project)

        for property_name, property_value in expected_properties.items():
            self.assertEqual(self.project.get_property("distutils_commands"),
                             ["foo", "bar"])
            self.assertEqual(
                self.project.get_property(
                    "distutils_issue8876_workaround_enabled"), True)
            self.assertEqual(
                self.project.get_property("distutils_classifiers"), [
                    "Development Status :: 3 - Beta",
                    "Programming Language :: Rust"
                ])
            self.assertEqual(
                self.project.get_property("distutils_use_setuptools"), False)