def _to_dict(value): if is_primitive(value): return value if is_list(value): return [_to_dict(x) for x in value] if is_mapping(value): return {key: _to_dict(value) for key, value in value.items()}
def inner(inner_value: Any) -> bool: """ Checks whether inner_value is a SimpleMapping """ if not is_mapping(inner_value): return False for (key, val) in inner_value.items(): # Wrong type for key or value if not (is_str(key) and (is_primitive(val) or is_simple_list(val) or inner(val))): return False # All dictionary items have correct type return True
def test_is_not_primitive_3(self): self.assertThatNot(is_primitive(range(6)))
def test_is_not_primitive_2(self): self.assertThatNot(is_primitive({}))
def test_is_not_primitive_1(self): self.assertThatNot(is_primitive([]))
def test_is_primitive_12(self): self.assertThat(is_primitive(-13.12))
def test_is_primitive_11(self): self.assertThat(is_primitive(42.42))
def test_is_primitive_10(self): self.assertThat(is_primitive(-42))
def test_is_primitive_8(self): self.assertThat(is_primitive('foo'))
def test_is_primitive_7(self): self.assertThat(is_primitive(None))
def test_is_primitive_6(self): self.assertThat(is_primitive(''))
def test_is_primitive_5(self): self.assertThat(is_primitive(0.0))
def test_is_primitive_3(self): self.assertThat(is_primitive(False))
def test_is_primitive_2(self): self.assertThat(is_primitive(True))
def test_is_primitive_1(self): self.assertThat(is_primitive(1))
def is_simple_list(item: Any) -> bool: """Checks whether input object is a simple list""" return is_list(item) and all( is_primitive(x) or SimpleMappingRepresentable. is_simple_mapping(x) or is_simple_list(x) for x in item)