-module(gleam@float_test). -compile(no_auto_import). -export([parse_test/0, to_string_test/0, clamp_test/0, compare_test/0, ceiling_test/0, floor_test/0, round_test/0, truncate_test/0, min_test/0, max_test/0, absolute_value_test/0, power_test/0, square_root_test/0, negate_test/0, sum_test/0, product_test/0]). -spec parse_test() -> nil. parse_test() -> _pipe = <<"1.23"/utf8>>, _pipe@1 = gleam@float:parse(_pipe), gleam@should:equal(_pipe@1, {ok, 1.23}), _pipe@2 = <<"+1.23"/utf8>>, _pipe@3 = gleam@float:parse(_pipe@2), gleam@should:equal(_pipe@3, {ok, 1.23}), _pipe@4 = <<"-1.23"/utf8>>, _pipe@5 = gleam@float:parse(_pipe@4), gleam@should:equal(_pipe@5, {ok, -1.23}), _pipe@6 = <<"5.0"/utf8>>, _pipe@7 = gleam@float:parse(_pipe@6), gleam@should:equal(_pipe@7, {ok, 5.0}), _pipe@8 = <<"0.123456789"/utf8>>, _pipe@9 = gleam@float:parse(_pipe@8), gleam@should:equal(_pipe@9, {ok, 0.123456789}), _pipe@10 = <<""/utf8>>, _pipe@11 = gleam@float:parse(_pipe@10), gleam@should:equal(_pipe@11, {error, nil}), _pipe@12 = <<"what"/utf8>>, _pipe@13 = gleam@float:parse(_pipe@12), gleam@should:equal(_pipe@13, {error, nil}), _pipe@14 = <<"1"/utf8>>, _pipe@15 = gleam@float:parse(_pipe@14), gleam@should:equal(_pipe@15, {error, nil}). -spec to_string_test() -> nil. to_string_test() -> _pipe = 123.0, _pipe@1 = gleam@float:to_string(_pipe), gleam@should:equal(_pipe@1, <<"123.0"/utf8>>), _pipe@2 = -8.1, _pipe@3 = gleam@float:to_string(_pipe@2), gleam@should:equal(_pipe@3, <<"-8.1"/utf8>>). -spec clamp_test() -> nil. clamp_test() -> _pipe = gleam@float:clamp(1.4, 1.3, 1.5), gleam@should:equal(_pipe, 1.4), _pipe@1 = gleam@float:clamp(1.2, 1.3, 1.5), gleam@should:equal(_pipe@1, 1.3), _pipe@2 = gleam@float:clamp(1.6, 1.3, 1.5), gleam@should:equal(_pipe@2, 1.5). -spec compare_test() -> nil. compare_test() -> _pipe = gleam@float:compare(0.0, 0.0), gleam@should:equal(_pipe, eq), _pipe@1 = gleam@float:compare(0.1, 0.1), gleam@should:equal(_pipe@1, eq), _pipe@2 = gleam@float:compare(0.0, 0.1), gleam@should:equal(_pipe@2, lt), _pipe@3 = gleam@float:compare(-2.0, -1.9), gleam@should:equal(_pipe@3, lt), _pipe@4 = gleam@float:compare(2.0, 1.9), gleam@should:equal(_pipe@4, gt), _pipe@5 = gleam@float:compare(-1.9, -2.0), gleam@should:equal(_pipe@5, gt). -spec ceiling_test() -> nil. ceiling_test() -> _pipe = 8.1, _pipe@1 = gleam@float:ceiling(_pipe), gleam@should:equal(_pipe@1, 9.0), _pipe@2 = -8.1, _pipe@3 = gleam@float:ceiling(_pipe@2), gleam@should:equal(_pipe@3, -8.0), _pipe@4 = -8.0, _pipe@5 = gleam@float:ceiling(_pipe@4), gleam@should:equal(_pipe@5, -8.0). -spec floor_test() -> nil. floor_test() -> _pipe = 8.1, _pipe@1 = gleam@float:floor(_pipe), gleam@should:equal(_pipe@1, 8.0), _pipe@2 = -8.1, _pipe@3 = gleam@float:floor(_pipe@2), gleam@should:equal(_pipe@3, -9.0), _pipe@4 = -8.0, _pipe@5 = gleam@float:floor(_pipe@4), gleam@should:equal(_pipe@5, -8.0). -spec round_test() -> nil. round_test() -> _pipe = 8.1, _pipe@1 = gleam@float:round(_pipe), gleam@should:equal(_pipe@1, 8), _pipe@2 = 8.4, _pipe@3 = gleam@float:round(_pipe@2), gleam@should:equal(_pipe@3, 8), _pipe@4 = 8.499, _pipe@5 = gleam@float:round(_pipe@4), gleam@should:equal(_pipe@5, 8), _pipe@6 = 8.5, _pipe@7 = gleam@float:round(_pipe@6), gleam@should:equal(_pipe@7, 9), _pipe@8 = -8.1, _pipe@9 = gleam@float:round(_pipe@8), gleam@should:equal(_pipe@9, -8), _pipe@10 = -7.5, _pipe@11 = gleam@float:round(_pipe@10), gleam@should:equal(_pipe@11, -8). -spec truncate_test() -> nil. truncate_test() -> _pipe = 8.1, _pipe@1 = gleam@float:truncate(_pipe), gleam@should:equal(_pipe@1, 8), _pipe@2 = 8.4, _pipe@3 = gleam@float:truncate(_pipe@2), gleam@should:equal(_pipe@3, 8), _pipe@4 = 8.499, _pipe@5 = gleam@float:truncate(_pipe@4), gleam@should:equal(_pipe@5, 8), _pipe@6 = 8.5, _pipe@7 = gleam@float:truncate(_pipe@6), gleam@should:equal(_pipe@7, 8), _pipe@8 = -8.1, _pipe@9 = gleam@float:truncate(_pipe@8), gleam@should:equal(_pipe@9, -8), _pipe@10 = -7.5, _pipe@11 = gleam@float:truncate(_pipe@10), gleam@should:equal(_pipe@11, -7). -spec min_test() -> nil. min_test() -> _pipe = gleam@float:min(0.0, 0.0), gleam@should:equal(_pipe, 0.0), _pipe@1 = gleam@float:min(0.3, 1.5), gleam@should:equal(_pipe@1, 0.3), _pipe@2 = gleam@float:min(1.0, 0.0), gleam@should:equal(_pipe@2, 0.0), _pipe@3 = gleam@float:min(-1.7, 2.5), gleam@should:equal(_pipe@3, -1.7), _pipe@4 = gleam@float:min(-2.2, -2.2), gleam@should:equal(_pipe@4, -2.2), _pipe@5 = gleam@float:min(-1.0, -1.0), gleam@should:equal(_pipe@5, -1.0), _pipe@6 = gleam@float:min(-1.1, -1.0), gleam@should:equal(_pipe@6, -1.1). -spec max_test() -> nil. max_test() -> _pipe = gleam@float:max(0.0, 0.0), gleam@should:equal(_pipe, 0.0), _pipe@1 = gleam@float:max(0.3, 1.5), gleam@should:equal(_pipe@1, 1.5), _pipe@2 = gleam@float:max(1.0, 0.0), gleam@should:equal(_pipe@2, 1.0), _pipe@3 = gleam@float:max(-1.7, 2.5), gleam@should:equal(_pipe@3, 2.5), _pipe@4 = gleam@float:max(-2.2, -2.2), gleam@should:equal(_pipe@4, -2.2), _pipe@5 = gleam@float:max(-1.0, -1.0), gleam@should:equal(_pipe@5, -1.0), _pipe@6 = gleam@float:max(-1.1, -1.0), gleam@should:equal(_pipe@6, -1.0). -spec absolute_value_test() -> nil. absolute_value_test() -> _pipe = gleam@float:absolute_value(-1.0), gleam@should:equal(_pipe, 1.0), _pipe@1 = gleam@float:absolute_value(-20.6), gleam@should:equal(_pipe@1, 20.6), _pipe@2 = gleam@float:absolute_value(0.0), gleam@should:equal(_pipe@2, 0.0), _pipe@3 = gleam@float:absolute_value(1.0), gleam@should:equal(_pipe@3, 1.0), _pipe@4 = gleam@float:absolute_value(25.2), gleam@should:equal(_pipe@4, 25.2). -spec power_test() -> nil. power_test() -> _pipe = gleam@float:power(2.0, 2.0), gleam@should:equal(_pipe, 4.0), _pipe@1 = gleam@float:power(-5.0, 3.0), gleam@should:equal(_pipe@1, -125.0), _pipe@2 = gleam@float:power(10.5, 0.0), gleam@should:equal(_pipe@2, 1.0), _pipe@3 = gleam@float:power(16.0, 0.5), gleam@should:equal(_pipe@3, 4.0), _pipe@4 = gleam@float:power(2.0, -1.0), gleam@should:equal(_pipe@4, 0.5). -spec square_root_test() -> nil. square_root_test() -> _pipe = gleam@float:square_root(4.0), gleam@should:equal(_pipe, {ok, 2.0}), _pipe@1 = gleam@float:square_root(16.0), gleam@should:equal(_pipe@1, {ok, 4.0}), _pipe@2 = gleam@float:square_root(0.0), gleam@should:equal(_pipe@2, {ok, 0.0}), _pipe@3 = gleam@float:square_root(-4.0), gleam@should:equal(_pipe@3, {error, nil}). -spec negate_test() -> nil. negate_test() -> _pipe = gleam@float:negate(-1.0), gleam@should:equal(_pipe, 1.0), _pipe@1 = gleam@float:negate(2.0), gleam@should:equal(_pipe@1, -2.0), _pipe@2 = gleam@float:negate(0.0), gleam@should:equal(_pipe@2, 0.0). -spec sum_test() -> nil. sum_test() -> _pipe = gleam@float:sum([]), gleam@should:equal(_pipe, 0.0), _pipe@1 = gleam@float:sum([1.0, 2.2, 3.3]), gleam@should:equal(_pipe@1, 6.5). -spec product_test() -> nil. product_test() -> _pipe = gleam@float:product([]), gleam@should:equal(_pipe, 0.0), _pipe@1 = gleam@float:product([4.0]), gleam@should:equal(_pipe@1, 4.0), _pipe@2 = gleam@float:product([2.5, 3.2, 4.2]), gleam@should:equal(_pipe@2, 33.6).