[Zope-Checkins] CVS: Zope3/lib/python/Interface/Common/tests - BaseTestMapping.py:1.1.2.1 __init__.py:1.1.2.1

Jim Fulton jim@zope.com
Mon, 18 Mar 2002 15:44:56 -0500


Update of /cvs-repository/Zope3/lib/python/Interface/Common/tests
In directory cvs.zope.org:/tmp/cvs-serv7215/tests

Added Files:
      Tag: Zope3-publisher-refactor-branch
	BaseTestMapping.py __init__.py 
Log Message:
Renamed IMapping to IReadMapping.

Added unit test base classes.


=== Added File Zope3/lib/python/Interface/Common/tests/BaseTestMapping.py ===
##############################################################################
#
# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
# All Rights Reserved.
# 
# This software is subject to the provisions of the Zope Public License,
# Version 2.0 (ZPL).  A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE
# 
##############################################################################
"""

Revision information:
$Id: BaseTestMapping.py,v 1.1.2.1 2002/03/18 20:44:56 jim Exp $
"""

from operator import __getitem__

class BaseTestIReadMapping:

    def testIReadMapping(self):

        inst = self._IReadMapping__sample()
        state = self._IReadMapping__stateDict()
        absent = self._IReadMapping__absentKeys()

        for key in state:
            self.assertEqual(inst[key], state[key])
            self.assertEqual(inst.get(key, None), state[key])

        for key in absent:
            self.assertEqual(inst.get(key, None), None)
            self.assertEqual(inst.get(key), None)
            self.assertEqual(inst.get(key, self), self)
            self.assertRaises(KeyError, __getitem__, inst, key)        


class BaseTestIEnumerableMapping(BaseTestIReadMapping):
    """Mapping objects whose items can be enumerated
    """

    def test_keys(self):
        """Return the keys of the mapping object
        """
        inst = self._IEnumerableMapping__sample()
        state = self._IEnumerableMapping__stateDict()
        inst_keys = list(inst.keys()); inst_keys.sort()
        state_keys = list(state.keys()) ; state_keys.sort()
        self.assertEqual(inst_keys, state_keys)

    def test_values(self):
        """Return the values of the mapping object
        """
        inst = self._IEnumerableMapping__sample()
        state = self._IEnumerableMapping__stateDict()
        inst_values = list(inst.values()); inst_values.sort()
        state_values = list(state.values()) ; state_values.sort()
        self.assertEqual(inst_values, state_values)

    def test_items(self):
        """Return the items of the mapping object
        """
        inst = self._IEnumerableMapping__sample()
        state = self._IEnumerableMapping__stateDict()
        inst_items = list(inst.items()); inst_items.sort()
        state_items = list(state.items()) ; state_items.sort()
        self.assertEqual(inst_items, state_items)

    def test___len__(self):
        """Return the number of items
        """
        inst = self._IEnumerableMapping__sample()
        state = self._IEnumerableMapping__stateDict()
        self.assertEqual(len(inst), len(state))

    def _IReadMapping__stateDict(self):
        return self._IEnumerableMapping__stateDict()

    def _IReadMapping__sample(self):
        return self._IEnumerableMapping__sample()

    def _IReadMapping__absentKeys(self):
        return self._IEnumerableMapping__absentKeys()


=== Added File Zope3/lib/python/Interface/Common/tests/__init__.py ===