Packages

Erlang version of diff(1)

Current section

Files

Jump to
ediff test arr_test.erl
Raw

test/arr_test.erl

-module(arr_test).
-include_lib("eunit/include/eunit.hrl").
new_test_() ->
{
setup,
fun () ->
arr:new(6, 2, -1)
end,
fun (Arr) ->
{arr, _, Inner} = Arr,
[
?_assertMatch({arr, 2, _}, Arr),
?_assertMatch(-1, array:get(0, Inner)),
?_assertMatch(-1, array:get(5, Inner)),
?_assertError(badarg, array:get(6, Inner)),
?_assertError(badarg, array:get(-1, Inner))
]
end
}.
set_test_() ->
{
setup,
fun () ->
Arr0 = arr:new(6, 2, -1),
Arr1 = arr:set(0, "Z", Arr0),
Arr2 = arr:set(3, "Z+3", Arr1),
arr:set(-2, "Z-2", Arr2)
end,
fun (Arr) ->
{arr, Zero, Inner} = Arr,
[
?_assertMatch("Z", array:get(Zero, Inner)),
?_assertMatch("Z+3", array:get(Zero+3, Inner)),
?_assertMatch("Z-2", array:get(Zero-2, Inner)),
?_assertError(badarg, arr:set(4, "Z+4", Arr)),
?_assertError(badarg, arr:set(-3, "Z-3", Arr))
]
end
}.
get_test_() ->
{
setup,
fun () ->
Arr0 = arr:new(6, 2, -1),
Arr1 = arr:set(0, "Z", Arr0),
Arr2 = arr:set(3, "Z+3", Arr1),
arr:set(-2, "Z-2", Arr2)
end,
fun (Arr) ->
[
?_assertMatch("Z", arr:get(0, Arr)),
?_assertMatch("Z+3", arr:get(3, Arr)),
?_assertMatch("Z-2", arr:get(-2, Arr)),
?_assertMatch(-1, arr:get(-1, Arr)),
?_assertMatch(-1, arr:get(1, Arr)),
?_assertMatch(-1, arr:get(2, Arr)),
?_assertError(badarg, arr:get(4, Arr)),
?_assertError(badarg, arr:get(-3, Arr))
]
end
}.
size_test_() ->
[
?_assertMatch(6, arr:size(arr:new(6, 2, -1)))
].
lower_test_() ->
[
?_assertMatch(-2, arr:lower(arr:new(6, 2, -1)))
].
upper_test_() ->
[
?_assertMatch(3, arr:upper(arr:new(6, 2, -1)))
].