-module(gleam@pair_test). -compile(no_auto_import). -export([first_test/0, second_test/0, swap_test/0, map_first_test/0, map_second_test/0]). -spec first_test() -> nil. first_test() -> _pipe = {1, 2}, _pipe@1 = gleam@pair:first(_pipe), gleam@should:equal(_pipe@1, 1), _pipe@2 = {<<"abc"/utf8>>, []}, _pipe@3 = gleam@pair:first(_pipe@2), gleam@should:equal(_pipe@3, <<"abc"/utf8>>). -spec second_test() -> nil. second_test() -> _pipe = {1, 2}, _pipe@1 = gleam@pair:second(_pipe), gleam@should:equal(_pipe@1, 2), _pipe@2 = {<<"abc"/utf8>>, []}, _pipe@3 = gleam@pair:second(_pipe@2), gleam@should:equal(_pipe@3, []). -spec swap_test() -> nil. swap_test() -> _pipe = {1, <<"2"/utf8>>}, _pipe@1 = gleam@pair:swap(_pipe), gleam@should:equal(_pipe@1, {<<"2"/utf8>>, 1}). -spec map_first_test() -> nil. map_first_test() -> Inc = fun(A) -> A + 1 end, _pipe = gleam@pair:map_first({1, 2}, Inc), gleam@should:equal(_pipe, {2, 2}), _pipe@1 = gleam@pair:map_first({8, 2}, Inc), gleam@should:equal(_pipe@1, {9, 2}), _pipe@2 = gleam@pair:map_first({0, -2}, Inc), gleam@should:equal(_pipe@2, {1, -2}), _pipe@3 = gleam@pair:map_first({-10, 20}, Inc), gleam@should:equal(_pipe@3, {-9, 20}). -spec map_second_test() -> nil. map_second_test() -> Dec = fun(A) -> A - 1 end, _pipe = gleam@pair:map_second({1, 2}, Dec), gleam@should:equal(_pipe, {1, 1}), _pipe@1 = gleam@pair:map_second({8, 2}, Dec), gleam@should:equal(_pipe@1, {8, 1}), _pipe@2 = gleam@pair:map_second({0, -2}, Dec), gleam@should:equal(_pipe@2, {0, -3}), _pipe@3 = gleam@pair:map_second({-10, 20}, Dec), gleam@should:equal(_pipe@3, {-10, 19}).