예제 #1
0
    def test_invalid(self) -> None:
        prop = bcpp.Int()

        assert not prop.is_valid(None)
        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())

        assert not prop.is_valid(np.bool8(False))
        assert not prop.is_valid(np.bool8(True))
        assert not prop.is_valid(np.float16(0))
        assert not prop.is_valid(np.float16(1))
        assert not prop.is_valid(np.float32(0))
        assert not prop.is_valid(np.float32(1))
        assert not prop.is_valid(np.float64(0))
        assert not prop.is_valid(np.float64(1))
        assert not prop.is_valid(np.complex64(1.0 + 1.0j))
        assert not prop.is_valid(np.complex128(1.0 + 1.0j))
        if hasattr(np, "complex256"):
            assert not prop.is_valid(np.complex256(1.0 + 1.0j))
예제 #2
0
    def test_invalid(self):
        prop = bcpc.Tuple(Int, String, bcpc.List(Int))

        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(np.array([1,2,3]))

        assert not prop.is_valid(_TestHasProps())
        assert not prop.is_valid(_TestModel())

        assert not prop.is_valid((1.0, "", [1, 2, 3]))
        assert not prop.is_valid((1, True, [1, 2, 3]))
        assert not prop.is_valid((1, "", (1, 2, 3)))
        assert not prop.is_valid((1, "", [1, 2, "xyz"]))
예제 #3
0
    def test_invalid(self):
        prop = bcpv.FontSize()

        for unit in css_units.split("|"):
            v = '_10%s' % unit
            assert not prop.is_valid(v)

            v = '_10.2%s' % unit
            assert not prop.is_valid(v)

        for unit in css_units.upper().split("|"):
            v = '_10%s' % unit
            assert not prop.is_valid(v)

            v = '_10.2%s' % unit
            assert not prop.is_valid(v)

        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())
예제 #4
0
    def test_from_enum_invalid(self) -> None:
        prop = bcpe.Enum(LineJoin)

        assert not prop.is_valid(None)
        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())

        assert not prop.is_valid("MITER")
        assert not prop.is_valid("ROUND")
        assert not prop.is_valid("BEVEL")

        assert not prop.is_valid(" miter")
        assert not prop.is_valid(" round")
        assert not prop.is_valid(" bevel")
예제 #5
0
    def test_from_values_invalid(self) -> None:
        prop = bcpe.Enum("red", "green", "blue")

        assert not prop.is_valid(None)
        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())

        assert not prop.is_valid("RED")
        assert not prop.is_valid("GREEN")
        assert not prop.is_valid("BLUE")

        assert not prop.is_valid(" red")
        assert not prop.is_valid(" green")
        assert not prop.is_valid(" blue")
예제 #6
0
 def test_invalid(self):
     prop = bcpd.Date()
     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(_TestHasProps())
     assert not prop.is_valid(_TestModel())
예제 #7
0
 def test_invalid(self) -> None:
     prop = bcpp.PandasGroupBy()
     assert not prop.is_valid(None)
     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(_TestHasProps())
     assert not prop.is_valid(_TestModel())
예제 #8
0
    def test_lambda_default(self) -> None:
        default =_TestModel(x=10)
        class ExplicitDefault(HasProps):
            m = bcpi.Instance(_TestModel, default=lambda: _TestModel(x=10))

        obj = ExplicitDefault()
        assert isinstance(obj.m, _TestModel)
        for prop in default.properties():
            assert getattr(obj.m, prop) == getattr(default, prop)
예제 #9
0
 def test_invalid(self):
     prop = bcpp.PandasDataFrame()
     assert not prop.is_valid(None)
     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(_TestHasProps())
     assert not prop.is_valid(_TestModel())
예제 #10
0
    def test_invalid(self) -> None:
        prop = bcpn.Angle()

        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())
예제 #11
0
 def test_invalid(self) -> None:
     prop = bcpd.Datetime()
     assert not prop.is_valid("")
     assert not prop.is_valid(False)
     assert not prop.is_valid(True)
     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(_TestHasProps())
     assert not prop.is_valid(_TestModel())
예제 #12
0
    def test_invalid(self) -> None:
        prop = bcpn.Nullable(List(Int))

        assert not prop.is_valid(-100)
        assert not prop.is_valid("yyy")
        assert not prop.is_valid([1, 2, ""])

        assert not prop.is_valid(())
        assert not prop.is_valid({})
        assert not prop.is_valid(_TestHasProps())
        assert not prop.is_valid(_TestModel())
예제 #13
0
    def test_invalid(self):
        prop = bcpp.Complex()

        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())

        assert not prop.is_valid(np.bool8(False))
        assert not prop.is_valid(np.bool8(True))
예제 #14
0
    def test_invalid_float(self):
        prop = bcpn.Interval(Float, 0.0, 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(_TestHasProps())
        assert not prop.is_valid(_TestModel())

        assert not prop.is_valid(-0.001)
        assert not prop.is_valid(1.001)
예제 #15
0
    def test_invalid(self):
        prop = bcpn.Percent()

        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())

        assert not prop.is_valid(-0.001)
        assert not prop.is_valid(1.001)
예제 #16
0
    def test_invalid(self) -> None:
        prop = bcpn.Size()

        assert not prop.is_valid(None)
        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())

        assert not prop.is_valid(-100)
        assert not prop.is_valid(-0.001)
예제 #17
0
    def test_invalid_int(self):
        prop = bcpn.Interval(Int, 0, 255)

        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())

        assert not prop.is_valid(-1)
        assert not prop.is_valid(256)
예제 #18
0
 def test_invalid(self) -> None:
     prop = bcpa.Auto()
     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(_TestHasProps())
     assert not prop.is_valid(_TestModel())
예제 #19
0
    def test_invalid(self):
        prop = bcpn.NonNegativeInt()

        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())

        assert not prop.is_valid(-100)
        assert not prop.is_valid(-0.001)
예제 #20
0
    def test_invalid(self):
        prop = bcpp.String()

        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())
예제 #21
0
 def test_valid(self):
     prop = bcpa.AnyRef()
     assert prop.is_valid(None)
     assert prop.is_valid(False)
     assert prop.is_valid(True)
     assert prop.is_valid(0)
     assert prop.is_valid(1)
     assert prop.is_valid(0.0)
     assert prop.is_valid(1.0)
     assert prop.is_valid(1.0+1.0j)
     assert prop.is_valid("")
     assert prop.is_valid(())
     assert prop.is_valid([])
     assert prop.is_valid({})
     assert prop.is_valid(_TestHasProps())
     assert prop.is_valid(_TestModel())
예제 #22
0
    def test_invalid(self) -> None:
        prop = bcpe.Either(Interval(Int, 0, 100), Regex("^x*$"), List(Int))

        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())

        assert not prop.is_valid(-100)

        assert not prop.is_valid("yyy")

        assert not prop.is_valid([1, 2, ""])
예제 #23
0
    def test_invalid(self):
        prop = bcpp.Float()

        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())

        assert not prop.is_valid(np.bool8(False))
        assert not prop.is_valid(np.bool8(True))
        assert not prop.is_valid(np.complex64(1.0 + 1.0j))
        assert not prop.is_valid(np.complex128(1.0 + 1.0j))
        if hasattr(np, "complex256"):
            assert not prop.is_valid(np.complex256(1.0 + 1.0j))
예제 #24
0
    def test_invalid(self) -> None:
        prop = bcpc.Color()
        assert not prop.is_valid(None)
        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())

        assert not prop.is_valid((0, -127, 255))
        assert not prop.is_valid((0, 127))
        assert not prop.is_valid((0, 127, 1.0))
        assert not prop.is_valid((0, 127, 255, 255))

        assert not prop.is_valid('(0, 127, 255)')
        assert not prop.is_valid('rgb(0, -127, 255)')
        assert not prop.is_valid('rgb(0, 127)')
        assert not prop.is_valid('rgb(0, 127, 1.0)')
        assert not prop.is_valid('rgb(256, 1, 1)')
        assert not prop.is_valid('rgb(256, 1, 1, 1.0)')

        assert not prop.is_valid('(10, 20, 30')
        assert not prop.is_valid('rgba(10, 20, 30')
        assert not prop.is_valid('rgba(10, 20, 30)')
        assert not prop.is_valid('rgba(10, 20, 30,)')
        assert not prop.is_valid('rgba(10, 20)')
        assert not prop.is_valid('rgba(10, 20, 256, 1)')
        assert not prop.is_valid('rgba(10, 20, 256, 10)')
        assert not prop.is_valid('rgba(10, 20, 30, 50)')

        assert not prop.is_valid("00aaff")
        assert not prop.is_valid("00AAFF")
        assert not prop.is_valid("00AaFf")
        assert not prop.is_valid("#00AaFg")
        assert not prop.is_valid("#00AaFff")

        assert not prop.is_valid("foobar")
예제 #25
0
    def test_invalid(self):
        prop = bcpc.Array(Float)

        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())
예제 #26
0
    def test_invalid(self) -> None:
        prop = bcpr.Regex("^x*$")

        assert not prop.is_valid("xy")

        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())
예제 #27
0
    def test_invalid(self):
        prop = bcpv.DashPattern()

        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("foo")
        assert not prop.is_valid("DASHDOT")

        assert not prop.is_valid([1, 2, 3.0])
        assert not prop.is_valid("1 2 x")

        assert not prop.is_valid(_TestHasProps())
        assert not prop.is_valid(_TestModel())
예제 #28
0
    def test_invalid(self) -> None:
        prop = bcpn.PositiveInt()

        assert not prop.is_valid(None)
        assert not prop.is_valid(False)
        assert not prop.is_valid(-1)
        assert not prop.is_valid(0)
        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(_TestHasProps())
        assert not prop.is_valid(_TestModel())

        assert not prop.is_valid(-100)
        assert not prop.is_valid(-0.001)
예제 #29
0
    def test_invalid(self):
        prop = bcpc.Seq(Int)

        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(set([]))
        assert not prop.is_valid({})

        assert not prop.is_valid({1, 2})
        assert not prop.is_valid({1: 2})

        assert not prop.is_valid(_TestHasProps())
        assert not prop.is_valid(_TestModel())
예제 #30
0
    def test_invalid(self):
        prop = bcpc.List(Int)

        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([1,2,3.5])
        assert not prop.is_valid("")
        assert not prop.is_valid(())
        assert not prop.is_valid({})

        assert not prop.is_valid(np.array([1,2,3]))

        assert not prop.is_valid(_TestHasProps())
        assert not prop.is_valid(_TestModel())