commit e6b59a2ce3a9a835ac598d57844ec87d070fe40a parent ce43e57e19018f0e2b375cdc304d954991908dc9 Author: Sebastian <sebastian@sebsite.pw> Date: Fri, 8 Nov 2024 18:17:58 -0500 strconv: use type/error assertion in stof tests Diffstat:
M | strconv/stof.ha | | | 100 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
1 file changed, 50 insertions(+), 50 deletions(-)
diff --git a/strconv/stof.ha b/strconv/stof.ha @@ -528,61 +528,61 @@ export fn stof32(s: str, b: base = base::DEC) (f32 | invalid | overflow) = { @test fn stof64() void = { - assert(stof64("0"): f64 == 0.0); - assert(stof64("200"): f64 == 200.0); - assert(stof64("12345"): f64 == 12345.0); - assert(stof64("+112233445566778899"): f64 == 1.122334455667789e17); - assert(stof64("3.14"): f64 == 3.14); - assert(stof64("2.99792458E+8"): f64 == 299792458.0); - assert(stof64("6.022e23"): f64 == 6.022e23); + assert(stof64("0")! == 0.0); + assert(stof64("200")! == 200.0); + assert(stof64("12345")! == 12345.0); + assert(stof64("+112233445566778899")! == 1.122334455667789e17); + assert(stof64("3.14")! == 3.14); + assert(stof64("2.99792458E+8")! == 299792458.0); + assert(stof64("6.022e23")! == 6.022e23); assert(stof64("1e310") is overflow); - assert(stof64("9007199254740991"): f64 == 9007199254740991.0); - assert(stof64("90071992547409915"): f64 == 90071992547409920.0); - assert(stof64("90071992547409925"): f64 == 90071992547409920.0); - assert(stof64("2.2250738585072014e-308"): f64 == 2.2250738585072014e-308); - assert(stof64("-1e-324"): f64 == -0.0); - assert(stof64("5e-324"): f64 == 5.0e-324); - assert(stof64(""): invalid: size == 0); - assert(stof64("0ZO"): invalid: size == 1); - assert(stof64("1.23ezz"): invalid: size == 5); - assert(stof64("Infinity"): f64 == math::INF); - assert(stof64("+Infinity"): f64 == math::INF); - assert(stof64("-Infinity"): f64 == -math::INF); - assert(stof64("infinity"): f64 == math::INF); - assert(stof64("inFinIty"): f64 == math::INF); - assert(stof64("-infinity"): f64 == -math::INF); - assert(stof64("-infiNity"): f64 == -math::INF); - assert(math::isnan(stof64("NaN"): f64)); - assert(math::isnan(stof64("nan"): f64)); - assert(math::isnan(stof64("naN"): f64)); + assert(stof64("9007199254740991")! == 9007199254740991.0); + assert(stof64("90071992547409915")! == 90071992547409920.0); + assert(stof64("90071992547409925")! == 90071992547409920.0); + assert(stof64("2.2250738585072014e-308")! == 2.2250738585072014e-308); + assert(stof64("-1e-324")! == -0.0); + assert(stof64("5e-324")! == 5.0e-324); + assert(stof64("") as invalid == 0); + assert(stof64("0ZO") as invalid == 1); + assert(stof64("1.23ezz") as invalid == 5); + assert(stof64("Infinity")! == math::INF); + assert(stof64("+Infinity")! == math::INF); + assert(stof64("-Infinity")! == -math::INF); + assert(stof64("infinity")! == math::INF); + assert(stof64("inFinIty")! == math::INF); + assert(stof64("-infinity")! == -math::INF); + assert(stof64("-infiNity")! == -math::INF); + assert(math::isnan(stof64("NaN")!)); + assert(math::isnan(stof64("nan")!)); + assert(math::isnan(stof64("naN")!)); }; @test fn stof32() void = { - assert(stof32("0"): f32 == 0.0); - assert(stof32("1e10"): f32 == 1.0e10); - assert(stof32("299792458"): f32 == 299792458.0); - assert(stof32("6.022e23"): f32 == 6.022e23); + assert(stof32("0")! == 0.0); + assert(stof32("1e10")! == 1.0e10); + assert(stof32("299792458")! == 299792458.0); + assert(stof32("6.022e23")! == 6.022e23); assert(stof32("1e40") is overflow); - assert(stof32("16777215"): f32 == 16777215.0); - assert(stof32("167772155"): f32 == 167772160.0); - assert(stof32("167772145"): f32 == 167772140.0); - assert(stof32("6.62607015e-34"): f32 == 6.62607015e-34); - assert(stof32("1.1754944e-38"): f32 == 1.1754944e-38); - assert(stof32("-1e-50"): f32 == -0.0); - assert(stof32("1e-45"): f32 == 1.0e-45); - assert(stof32(""): invalid: size == 0); - assert(stof32("0ZO"): invalid: size == 1); - assert(stof32("1.23e-zz"): invalid: size == 6); - assert(stof32("Infinity"): f32 == math::INF); - assert(stof32("+Infinity"): f32 == math::INF); - assert(stof32("-Infinity"): f32 == -math::INF); - assert(stof32("infinity"): f32 == math::INF); - assert(stof32("inFinIty"): f32 == math::INF); - assert(stof32("-infinity"): f32 == -math::INF); - assert(stof32("-infiniTy"): f32 == -math::INF); - assert(math::isnan(stof32("NaN"): f32)); - assert(math::isnan(stof32("nan"): f32)); - assert(math::isnan(stof32("naN"): f32)); + assert(stof32("16777215")! == 16777215.0); + assert(stof32("167772155")! == 167772160.0); + assert(stof32("167772145")! == 167772140.0); + assert(stof32("6.62607015e-34")! == 6.62607015e-34); + assert(stof32("1.1754944e-38")! == 1.1754944e-38); + assert(stof32("-1e-50")! == -0.0); + assert(stof32("1e-45")! == 1.0e-45); + assert(stof32("") as invalid == 0); + assert(stof32("0ZO") as invalid == 1); + assert(stof32("1.23e-zz") as invalid == 6); + assert(stof32("Infinity")! == math::INF); + assert(stof32("+Infinity")! == math::INF); + assert(stof32("-Infinity")! == -math::INF); + assert(stof32("infinity")! == math::INF); + assert(stof32("inFinIty")! == math::INF); + assert(stof32("-infinity")! == -math::INF); + assert(stof32("-infiniTy")! == -math::INF); + assert(math::isnan(stof32("NaN")!)); + assert(math::isnan(stof32("nan")!)); + assert(math::isnan(stof32("naN")!)); assert(stof32("9.19100241453305036800e+20") == 9.19100241453305036800e+20); };