def test_home(self):

        class PluginA(Plugin):
            id = 'A'

        class PluginB(Plugin):
            id = 'B'

        a = PluginA()
        b = PluginB()

        application = TestApplication(plugins=[a, b])

        # Make sure that each plugin gets its own directory.
        self.assertEqual(join(application.home, 'plugins', a.id), a.home)
        self.assertEqual(join(application.home, 'plugins', b.id), b.home)

        # Make sure that the directories got created.
        self.assert_(exists(a.home))
        self.assert_(exists(b.home))

        # Create a new application with plugins with the same Id to make sure
        # that it all works when the directories already exist.
        a = PluginA()
        b = PluginB()

        application = TestApplication(plugins=[a, b])

        # Make sure that each plugin gets its own directory.
        self.assertEqual(join(application.home, 'plugins', a.id), a.home)
        self.assertEqual(join(application.home, 'plugins', b.id), b.home)

        # Make sure the directories got created.
        self.assert_(exists(a.home))
        self.assert_(exists(b.home))

        return


# Entry point for stand-alone testing.
Read terminal status line: Clear To Send
dataset/ETHPy150Open enthought/envisage/envisage/tests/plugin_test_case.py/PluginTestCase.test_home--crossover with--dataset/ETHPy150Open pyserial/pyserial/serial/serialwin32.py/Serial.cts