def test_unwrap_primitive(self): class SomeClass(ComplexModel): i = Integer inst = SomeClass(i=5) t, c = unwrap_instance(SomeClass, inst, 0) assert t == SomeClass assert c.i == 5 t, c = unwrap_instance(SomeClass, inst, 1) assert t == Integer assert c == 5 t, c = unwrap_instance(SomeClass, inst, 2) assert t == Integer assert c == 5
def test_unwrap_array(self): class SomeClass(ComplexModel): i = Array(Integer) inst = SomeClass(i=[5,6,7]) t, c = unwrap_instance(SomeClass, inst, 0) assert t == SomeClass assert c.i == [5,6,7] t, c = unwrap_instance(SomeClass, inst, 1) assert issubclass(t, Array) assert c == [5,6,7] t, c = unwrap_instance(SomeClass, inst, 2) assert issubclass(t, Integer) assert c == [5,6,7] t, c = unwrap_instance(SomeClass, inst, 3) assert issubclass(t, Integer) assert c == [5,6,7] inst = SomeClass() t, c = unwrap_instance(SomeClass, inst, 0) assert t == SomeClass assert c.i == None t, c = unwrap_instance(SomeClass, inst, 1) assert issubclass(t, Array) assert c == None t, c = unwrap_instance(SomeClass, inst, 2) assert issubclass(t, Integer) assert c == None t, c = unwrap_instance(SomeClass, inst, 3) assert issubclass(t, Integer) assert c == None
def test_unwrap_array(self): class SomeClass(ComplexModel): i = Array(Integer) inst = SomeClass(i=[5, 6, 7]) t, c = unwrap_instance(SomeClass, inst, 0) assert t == SomeClass assert c.i == [5, 6, 7] t, c = unwrap_instance(SomeClass, inst, 1) assert issubclass(t, Array) assert c == [5, 6, 7] t, c = unwrap_instance(SomeClass, inst, 2) assert issubclass(t, Integer) assert c == [5, 6, 7] t, c = unwrap_instance(SomeClass, inst, 3) assert issubclass(t, Integer) assert c == [5, 6, 7] inst = SomeClass() t, c = unwrap_instance(SomeClass, inst, 0) assert t == SomeClass assert c.i == None t, c = unwrap_instance(SomeClass, inst, 1) assert issubclass(t, Array) assert c == None t, c = unwrap_instance(SomeClass, inst, 2) assert issubclass(t, Integer) assert c == None t, c = unwrap_instance(SomeClass, inst, 3) assert issubclass(t, Integer) assert c == None