def enforce(data_item, schema_item, tree, pair): schema_is_optional = hasattr(schema_item, 'is_optional') if is_callable(schema_item) and not schema_is_optional: try: schema_item(data_item) except AssertionError: e = sys.exc_info()[1] if pair == 'value': tree.append(data_item) raise Invalid(schema_item, tree, reason=e, pair=pair) else: try: if schema_is_optional: if is_empty(data_item): # we received nothing here return ensure(data_item == schema_item()) else: ensure(data_item == schema_item) except AssertionError: e = sys.exc_info()[1] if pair == 'value': tree.append(data_item) raise Invalid(schema_item, tree, reason=e, pair=pair)
def test_valid_structures_are_false_when_empty(self): for structure in [[], {}, '']: assert utils.is_empty(structure) is True
def test_not_any_valid_structure_is_false(self): result = utils.is_empty(False) assert result is False
def test_valid_structures_are_false_when_empty(self): for structure in [[], {}, ""]: assert utils.is_empty(structure) is True