def test_sparsedict_required_set_default(): schema = SparseDict.using(minimum_fields='required').\ of(Integer.named(u'x').using(default=123), Integer.named(u'y').using(default=456, optional=True), Integer.named(u'z').using(optional=True)) el = schema() el.set_default() assert el.value == {u'x': 123}
def test_sparsedict_required_operations(): schema = SparseDict.using(minimum_fields='required').\ of(Integer.named(u'opt').using(optional=True), Integer.named(u'req')) el = schema({u'opt': 123, u'req': 456}) del el[u'opt'] assert_raises(KeyError, el.__delitem__, u'opt') assert_raises(TypeError, el.__delitem__, u'req') el = schema() assert el.setdefault(u'opt', 123) == 123 assert el.setdefault(u'opt', 456) == 123 assert el.setdefault(u'req', 123) == 123 assert el.setdefault(u'req', 456) == 123 assert not schema().is_empty assert not schema().validate()
def test_sparsedict_bogus_set_default(): schema = SparseDict.using(minimum_fields='bogus').\ of(Integer.named(u'x')) el = schema() assert_raises(RuntimeError, el.set_default)
class TestEmptySparseDictRequiredSet(DictSetTest): schema = SparseDict.using(minimum_fields='required')