def test_parse_float_success(): v = Value(type_name="float", strict=False) res = v.parse_float("2") assert res == 2.0 res = v.parse_float("2.") assert res == 2.0 res = v.parse_float("2,") assert res == 2.0 res = v.parse_float(".1") assert res == 0.1 res = v.parse_float(",1") assert res == 0.1 res = v.parse_float("2,23") assert res == 2.23 res = v.parse_float("2.222") assert res == 2.222 res = v.parse_float(2) assert res == 2.0 res = v.parse_float(2.0) assert res == 2.0 res = v.parse_float(True) assert res == 1.0 res = v.parse_float(False) assert res == 0.0
def test_parse_float_strict_failure(): v = Value(type_name="float", strict=True) with pytest.raises(exc.FloatError): v.parse_float("2a")
def test_parse_float_not_srtict_failure(): v = Value(type_name="float", strict=False) res = v.parse_float("22a") assert res is None assert v.is_valid is False
def test_return_none(): v = Value(type_name="float") res = v.parse_float(None) assert res is None