mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-23 16:32:15 +00:00
Added printing requirements
This commit is contained in:
106
zope/schema/tests/test_states.py
Normal file
106
zope/schema/tests/test_states.py
Normal file
@@ -0,0 +1,106 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2003 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (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.
|
||||
#
|
||||
##############################################################################
|
||||
"""Tests of the states example.
|
||||
"""
|
||||
import unittest
|
||||
|
||||
|
||||
class StateSelectionTest(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
from zope.schema.vocabulary import _clear
|
||||
from zope.schema.vocabulary import getVocabularyRegistry
|
||||
from zope.schema.tests.states import StateVocabulary
|
||||
_clear()
|
||||
vr = getVocabularyRegistry()
|
||||
vr.register("states", StateVocabulary)
|
||||
|
||||
def tearDown(self):
|
||||
from zope.schema.vocabulary import _clear
|
||||
_clear()
|
||||
|
||||
def _makeSchema(self):
|
||||
from zope.schema._compat import u
|
||||
from zope.interface import Interface
|
||||
from zope.schema import Choice
|
||||
from zope.schema.tests.states import StateVocabulary
|
||||
|
||||
class IBirthInfo(Interface):
|
||||
state1 = Choice(
|
||||
title=u('State of Birth'),
|
||||
description=u('The state in which you were born.'),
|
||||
vocabulary="states",
|
||||
default="AL",
|
||||
)
|
||||
state2 = Choice(
|
||||
title=u('State of Birth'),
|
||||
description=u('The state in which you were born.'),
|
||||
vocabulary="states",
|
||||
default="AL",
|
||||
)
|
||||
state3 = Choice(
|
||||
title=u('Favorite State'),
|
||||
description=u('The state you like the most.'),
|
||||
vocabulary=StateVocabulary(),
|
||||
)
|
||||
state4 = Choice(
|
||||
title=u("Name"),
|
||||
description=u("The name of your new state"),
|
||||
vocabulary="states",
|
||||
)
|
||||
return IBirthInfo
|
||||
|
||||
def test_default_presentation(self):
|
||||
from zope.interface.verify import verifyObject
|
||||
from zope.schema.interfaces import IVocabulary
|
||||
schema = self._makeSchema()
|
||||
field = schema.getDescriptionFor("state1")
|
||||
bound = field.bind(object())
|
||||
self.assertTrue(verifyObject(IVocabulary, bound.vocabulary))
|
||||
self.assertEqual(bound.vocabulary.getTerm("VA").title, "Virginia")
|
||||
|
||||
def test_contains(self):
|
||||
from zope.interface.verify import verifyObject
|
||||
from zope.schema.interfaces import IVocabulary
|
||||
from zope.schema.tests.states import StateVocabulary
|
||||
vocab = StateVocabulary()
|
||||
self.assertTrue(verifyObject(IVocabulary, vocab))
|
||||
count = 0
|
||||
L = list(vocab)
|
||||
for term in L:
|
||||
count += 1
|
||||
self.assertTrue(term.value in vocab)
|
||||
self.assertEqual(count, len(vocab))
|
||||
# make sure we get the same values the second time around:
|
||||
L = [term.value for term in L]
|
||||
L.sort()
|
||||
L2 = [term.value for term in vocab]
|
||||
L2.sort()
|
||||
self.assertEqual(L, L2)
|
||||
|
||||
def test_prebound_vocabulary(self):
|
||||
from zope.interface.verify import verifyObject
|
||||
from zope.schema.interfaces import IVocabulary
|
||||
schema = self._makeSchema()
|
||||
field = schema.getDescriptionFor("state3")
|
||||
bound = field.bind(None)
|
||||
self.assertTrue(bound.vocabularyName is None)
|
||||
self.assertTrue(verifyObject(IVocabulary, bound.vocabulary))
|
||||
self.assertTrue("AL" in bound.vocabulary)
|
||||
|
||||
|
||||
def test_suite():
|
||||
return unittest.TestSuite((
|
||||
unittest.makeSuite(StateSelectionTest),
|
||||
))
|
||||
Reference in New Issue
Block a user