def test_dict(self): template = { 'person': [{ 'id': int, obiwan.noneable('name'): str, obiwan.optional('age'): int }] } tests = [{ 'person': [{ 'id': 1, 'name': None }] }, { 'person': [{ 'id': 1, 'name': None, 'age': 14 }] }, { 'person': [{ 'id': 1, 'name': "Adam" }] }] for test in tests: obiwan.duckable(test, template)
def test_dict(self): template = { 'person': [{ 'id': int, obiwan.noneable('name'): str, obiwan.optional('age'): int }] } tests = [ {'person': [{'id': 1, 'name': None}]}, {'person': [{'id': 1, 'name': None, 'age': 14}]}, {'person': [{'id': 1, 'name': "Adam"}]} ] for test in tests: obiwan.duckable(test, template)
def test_noneable(self): obiwan.duckable(None, obiwan.noneable(str)) obiwan.duckable(None, {str, None}) # using None instead of NoneType