コード例 #1
0
ファイル: test_setfield.py プロジェクト: chadwhitacre/public
    def testCorrectValueType(self):
        # TODO: We should not allow for a None valeu type.
        Set(value_type=None)

        # do not allow arbitrary value types
        self.assertRaises(ValueError, Set, value_type=object())
        self.assertRaises(ValueError, Set, value_type=Field)

        # however, allow anything that implements IField
        Set(value_type=Field())

        class FakeField(object):
            implements(IField)

        Set(value_type=FakeField())
コード例 #2
0
ファイル: test_setfield.py プロジェクト: chadwhitacre/public
    def testValidateRequired(self):
        field = Set(title=u'Set field',
                    description=u'',
                    readonly=False,
                    required=True)
        field.validate(sets.Set())
        field.validate(sets.Set((1, 2)))
        field.validate(sets.Set((3, )))

        self.assertRaises(RequiredMissing, field.validate, None)
コード例 #3
0
ファイル: test_setfield.py プロジェクト: chadwhitacre/public
    def testValidateMaxValues(self):
        field = Set(title=u'Set field',
                    description=u'',
                    readonly=False,
                    required=False,
                    max_length=2)
        field.validate(None)
        field.validate(sets.Set())
        field.validate(sets.Set((1, 2)))

        self.assertRaises(TooLong, field.validate, sets.Set((1, 2, 3, 4)))
        self.assertRaises(TooLong, field.validate, sets.Set((1, 2, 3)))
コード例 #4
0
ファイル: test_setfield.py プロジェクト: chadwhitacre/public
    def testValidateMinValues(self):
        field = Set(title=u'Set field',
                    description=u'',
                    readonly=False,
                    required=False,
                    min_length=2)
        field.validate(None)
        field.validate(sets.Set((1, 2)))
        field.validate(sets.Set((1, 2, 3)))

        self.assertRaises(TooShort, field.validate, sets.Set(()))
        self.assertRaises(TooShort, field.validate, sets.Set((3, )))
コード例 #5
0
ファイル: test_setfield.py プロジェクト: chadwhitacre/public
    def testValidateValueTypes(self):
        field = Set(title=u'Set field',
                    description=u'',
                    readonly=False,
                    required=False,
                    value_type=Int())
        field.validate(None)
        field.validate(sets.Set((5, )))
        field.validate(sets.Set((2, 3)))

        self.assertRaises(WrongContainedType, field.validate, sets.Set(('', )))
        self.assertRaises(WrongContainedType, field.validate,
                          sets.Set((3.14159, )))
コード例 #6
0
ファイル: test_setfield.py プロジェクト: chadwhitacre/public
    def testValidate(self):
        field = Set(title=u'Set field',
                    description=u'',
                    readonly=False,
                    required=False)
        field.validate(None)
        field.validate(sets.Set())
        field.validate(sets.Set((1, 2)))
        field.validate(sets.Set((3, )))

        self.assertRaises(WrongType, field.validate, [1, 2, 3])
        self.assertRaises(WrongType, field.validate, 'abc')
        self.assertRaises(WrongType, field.validate, 1)
        self.assertRaises(WrongType, field.validate, {})
        self.assertRaises(WrongType, field.validate, (1, 2, 3))
コード例 #7
0
ファイル: test_setfield.py プロジェクト: chadwhitacre/public
 def testValidateDefaultAltMissingValue(self):
     missing = object()
     field = Set(required=True, missing_value=missing)
     field.default = missing
コード例 #8
0
ファイル: test_setfield.py プロジェクト: chadwhitacre/public
 def testValidateDefault(self):
     field = Set(required=True)
     field.default = None
コード例 #9
0
ファイル: test_setfield.py プロジェクト: chadwhitacre/public
    def testValidateRequiredAltMissingValue(self):
        missing = object()
        field = Set(required=True, missing_value=missing)
        field.validate(sets.Set())

        self.assertRaises(RequiredMissing, field.validate, missing)
コード例 #10
0
ファイル: test_setfield.py プロジェクト: chadwhitacre/public
 def testImplements(self):
     field = Set()
     self.failUnless(ISet.providedBy(field))
     self.failUnless(IUnorderedCollection.providedBy(field))
     self.failUnless(ICollection.providedBy(field))
コード例 #11
0
ファイル: test_setfield.py プロジェクト: chadwhitacre/public
 def testNoUniqueArgument(self):
     self.assertRaises(TypeError, Set, unique=False)
     self.assertRaises(TypeError, Set, unique=True)
     self.failUnless(Set().unique)