Packages

An Erlang library that provides matching and assertion functions for testing.

Retired package: Deprecated - This package hasn't been actively developed in a long time, and I no longer have plans to develop it further.

Current section

Files

Jump to
teal src teal_numbers.erl
Raw

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
%%%===================================================================