Current section
Files
Jump to
Current section
Files
src/teal_numbers.erl
-module(teal_numbers).
-export([close_to/3, assert_close_to/3, assert_close_to/4]).
%%%===================================================================
%%% API
%%%===================================================================
-spec close_to(Received :: number(), Expected :: number(),
Delta :: number()) -> boolean().
close_to(Received, Expected, Delta) ->
Min = Expected - Delta,
Max = Expected + Delta,
case Received of
Received when Received =< Max, Received >= Min ->
true;
_ ->
false
end.
-spec assert_close_to(Received :: number(), Expected :: number(),
Delta :: number()) -> boolean().
assert_close_to(Received, Expected, Delta) ->
teal:assert(true, close_to(Received, Expected, Delta), not_in_range).
-spec assert_close_to(Received :: number(), Expected :: number(),
Delta :: number(), Msg :: any()) -> boolean().
assert_close_to(Received, Expected, Delta, Msg) ->
teal:assert(true, close_to(Received, Expected, Delta), Msg).
%%%===================================================================
%%% Private functions
%%%===================================================================