Пример #1
0
class NameAdapterTestCase(unittest.TestCase):

    ###########################################################################
    # TestCase interface
    ###########################################################################

    def setUp(self):
        unittest.TestCase.setUp(self)

        # Create the contexts
        self.context = AdaptedDataContext(subcontext=DataContext())
        self.raw_context = self.context.subcontext

        # Add data (before creating the adapter)
        self.context.update(fun=1, bar=2, baz=3, not_mapped=4)

        # Add an adapter
        self.adapter = NameAdapter(map={"foo": "fun", "bar": "baz"})
        self.context.push_adapter(self.adapter)

    def tearDown(self):
        unittest.TestCase.tearDown(self)

    ###########################################################################
    # MaskingAdapterTestCase interface
    ###########################################################################

    def test_adapt_name(self):
        """ Does adapter map values correctly?
        """

        name = self.adapter.adapt_name(self.raw_context, 'foo')
        self.assertEqual(name, 'fun')
        self.assertEqual(self.raw_context[name], 1)

    def test_adapt_name_existing_value(self):
        """ Does adapter not map values that are in the context?
        """

        name = self.adapter.adapt_name(self.raw_context, 'bar')
        self.assertEqual(name, 'bar')
        self.assertEqual(self.raw_context[name], 2)

    def test_adapt_name_not_in_map(self):
        """ Does adapter work for values not in the map?
        """

        name = self.adapter.adapt_name(self.raw_context, 'not_mapped')
        self.assertEqual(name, 'not_mapped')
        self.assertEqual(self.raw_context[name], 4)
class NameAdapterTestCase(unittest.TestCase):

    ###########################################################################
    # TestCase interface
    ###########################################################################

    def setUp(self):
        unittest.TestCase.setUp(self)

        # Create the contexts
        self.context = AdaptedDataContext(subcontext=DataContext())
        self.raw_context = self.context.subcontext

        # Add data (before creating the adapter)
        self.context.update(fun=1, bar=2, baz=3, not_mapped=4)

        # Add an adapter
        self.adapter = NameAdapter(map={"foo": "fun", "bar": "baz"})
        self.context.push_adapter(self.adapter)

    def tearDown(self):
        unittest.TestCase.tearDown(self)

    ###########################################################################
    # MaskingAdapterTestCase interface
    ###########################################################################

    def test_adapt_name(self):
        """ Does adapter map values correctly?
        """

        name = self.adapter.adapt_name(self.raw_context, "foo")
        self.assertEqual(name, "fun")
        self.assertEqual(self.raw_context[name], 1)

    def test_adapt_name_existing_value(self):
        """ Does adapter not map values that are in the context?
        """

        name = self.adapter.adapt_name(self.raw_context, "bar")
        self.assertEqual(name, "bar")
        self.assertEqual(self.raw_context[name], 2)

    def test_adapt_name_not_in_map(self):
        """ Does adapter work for values not in the map?
        """

        name = self.adapter.adapt_name(self.raw_context, "not_mapped")
        self.assertEqual(name, "not_mapped")
        self.assertEqual(self.raw_context[name], 4)