示例#1
0
    def test_from_json(self):
        class MapOptions(HasProps):
            lat = Float
            lng = Float
            zoom = Int(12)

        v1 = bcpi.Instance(MapOptions).from_json(dict(lat=1, lng=2))
        v2 = MapOptions(lat=1, lng=2)
        assert v1.equals(v2)
示例#2
0
 def test_invalid(self):
     prop = bcpi.Instance(_TestModel)
     assert not prop.is_valid(False)
     assert not prop.is_valid(True)
     assert not prop.is_valid(0)
     assert not prop.is_valid(1)
     assert not prop.is_valid(0.0)
     assert not prop.is_valid(1.0)
     assert not prop.is_valid(1.0 + 1.0j)
     assert not prop.is_valid("")
     assert not prop.is_valid(())
     assert not prop.is_valid([])
     assert not prop.is_valid({})
     assert not prop.is_valid(_TestModel2())
     assert not prop.is_valid(_TestHasProps())
示例#3
0
 def test_str(self):
     prop = bcpi.Instance(_TestModel)
     assert str(prop) == "Instance(_TestModel)"
示例#4
0
 def test_has_ref(self):
     prop = bcpi.Instance(_TestModel)
     assert prop.has_ref
示例#5
0
    def test_valid(self):
        prop = bcpi.Instance(_TestModel)

        assert prop.is_valid(None)
        assert prop.is_valid(_TestModel())
示例#6
0
 def test_init(self):
     with pytest.raises(TypeError):
         bcpi.Instance()
示例#7
0
 def test_readonly(self) -> None:
     prop = bcpi.Instance(_TestModel)
     assert prop.readonly == False
示例#8
0
 def test_serialized(self) -> None:
     prop = bcpi.Instance(_TestModel)
     assert prop.serialized == True
示例#9
0
 class ExplicitDefault(HasProps):
     m = bcpi.Instance(_TestModel, default=lambda: _TestModel(x=10))
示例#10
0
 class ExplicitDefault(HasProps):
     m = bcpi.Instance(_TestModel,
                       default=bcpi.InstanceDefault(_TestModel, x=10))