Skip to content

Commit

Permalink
Refactor test suite
Browse files Browse the repository at this point in the history
  • Loading branch information
eproxus committed Mar 6, 2014
1 parent e1ce31d commit 036e7e1
Showing 1 changed file with 85 additions and 106 deletions.
191 changes: 85 additions & 106 deletions test/color_test.erl
Original file line number Diff line number Diff line change
Expand Up @@ -3,109 3,88 @@
-include_lib("eunit/include/eunit.hrl").

%% Colors
black_test() ->
?assertEqual("\e[30mblack\e[0m", color:black("black")).

red_test() ->
?assertEqual("\e[31mred\e[0m", color:red("red")).

green_test() ->
?assertEqual("\e[32mgreen\e[0m", color:green("green")).

yellow_test() ->
?assertEqual("\e[33myellow\e[0m", color:yellow("yellow")).

blue_test() ->
?assertEqual("\e[34mblue\e[0m", color:blue("blue")).

magenta_test() ->
?assertEqual("\e[35mmagenta\e[0m", color:magenta("magenta")).

cyan_test() ->
?assertEqual("\e[36mcyan\e[0m", color:cyan("cyan")).

white_test() ->
?assertEqual("\e[37mwhite\e[0m", color:white("white")).

%% Bright Colors
blackb_test() ->
?assertEqual("\e[30;1mblack\e[0m", color:blackb("black")).

redb_test() ->
?assertEqual("\e[31;1mred\e[0m", color:redb("red")).

greenb_test() ->
?assertEqual("\e[32;1mgreen\e[0m", color:greenb("green")).

yellowb_test() ->
?assertEqual("\e[33;1myellow\e[0m", color:yellowb("yellow")).

blueb_test() ->
?assertEqual("\e[34;1mblue\e[0m", color:blueb("blue")).

magentab_test() ->
?assertEqual("\e[35;1mmagenta\e[0m", color:magentab("magenta")).

cyanb_test() ->
?assertEqual("\e[36;1mcyan\e[0m", color:cyanb("cyan")).

whiteb_test() ->
?assertEqual("\e[37;1mwhite\e[0m", color:whiteb("white")).

on_black_test() ->
?assertEqual("\e[40mon_black\e[49m", color:on_black("on_black")).

on_red_test() ->
?assertEqual("\e[41mon_red\e[49m", color:on_red("on_red")).

on_green_test() ->
?assertEqual("\e[42mon_green\e[49m", color:on_green("on_green")).

on_yellow_test() ->
?assertEqual("\e[43mon_yellow\e[49m", color:on_yellow("on_yellow")).

on_blue_test() ->
?assertEqual("\e[44mon_blue\e[49m", color:on_blue("on_blue")).

on_magenta_test() ->
?assertEqual("\e[45mon_magenta\e[49m", color:on_magenta("on_magenta")).

on_cyan_test() ->
?assertEqual("\e[46mon_cyan\e[49m", color:on_cyan("on_cyan")).

on_white_test() ->
?assertEqual("\e[47mon_white\e[49m", color:on_white("on_white")).

rgb_test() ->
?assertEqual("\e[38;5;16mrgb\e[0m", color:rgb([0, 0, 0], "rgb")),
?assertEqual("\e[38;5;59mrgb\e[0m", color:rgb([1, 1, 1], "rgb")),
?assertEqual("\e[38;5;102mrgb\e[0m", color:rgb([2, 2, 2], "rgb")),
?assertEqual("\e[38;5;145mrgb\e[0m", color:rgb([3, 3, 3], "rgb")),
?assertEqual("\e[38;5;188mrgb\e[0m", color:rgb([4, 4, 4], "rgb")),
?assertEqual("\e[38;5;231mrgb\e[0m", color:rgb([5, 5, 5], "rgb")).

on_rgb_test() ->
?assertEqual("\e[48;5;16mrgb\e[49m", color:on_rgb([0, 0, 0], "rgb")),
?assertEqual("\e[48;5;59mrgb\e[49m", color:on_rgb([1, 1, 1], "rgb")),
?assertEqual("\e[48;5;102mrgb\e[49m", color:on_rgb([2, 2, 2], "rgb")),
?assertEqual("\e[48;5;145mrgb\e[49m", color:on_rgb([3, 3, 3], "rgb")),
?assertEqual("\e[48;5;188mrgb\e[49m", color:on_rgb([4, 4, 4], "rgb")),
?assertEqual("\e[48;5;231mrgb\e[49m", color:on_rgb([5, 5, 5], "rgb")).

true_color_test() ->
?assertEqual("\e[38;2;0;0;0mtrue\e[0m", color:true([0, 0, 0], "true")),
?assertEqual("\e[38;2;255;255;255mtrue\e[0m", color:true([255, 255, 255], "true")),
?assertEqual("\e[38;2;0;0;0mtrue\e[0m", color:true("000000", "true")),
?assertEqual("\e[38;2;68;68;68mtrue\e[0m", color:true("444444", "true")),
?assertEqual("\e[38;2;136;136;136mtrue\e[0m", color:true("888888", "true")),
?assertEqual("\e[38;2;187;187;187mtrue\e[0m", color:true("BBBBBB", "true")),
?assertEqual("\e[38;2;255;255;255mtrue\e[0m", color:true("FFFFFF", "true")).

on_true_color_test() ->
?assertEqual("\e[48;2;0;0;0mtrue\e[0m", color:on_true([0, 0, 0], "true")),
?assertEqual("\e[48;2;255;255;255mtrue\e[0m", color:on_true([255, 255, 255], "true")),
?assertEqual("\e[48;2;0;0;0mtrue\e[0m", color:on_true("000000", "true")),
?assertEqual("\e[48;2;68;68;68mtrue\e[0m", color:on_true("444444", "true")),
?assertEqual("\e[48;2;136;136;136mtrue\e[0m", color:on_true("888888", "true")),
?assertEqual("\e[48;2;187;187;187mtrue\e[0m", color:on_true("BBBBBB", "true")),
?assertEqual("\e[48;2;255;255;255mtrue\e[0m", color:on_true("FFFFFF", "true")).
color_test_() ->
[?_assertEqual(To, to_s(color:Fun(From))) || {From, Fun, To} <- [
% Normal colors
{"black", black, "\e[30mblack\e[0m"},
{"red", red, "\e[31mred\e[0m"},
{"green", green, "\e[32mgreen\e[0m"},
{"yellow", yellow, "\e[33myellow\e[0m"},
{"blue", blue, "\e[34mblue\e[0m"},
{"magenta", magenta, "\e[35mmagenta\e[0m"},
{"cyan", cyan, "\e[36mcyan\e[0m"},
{"white", white, "\e[37mwhite\e[0m"},
% Bright colors
{"black", blackb, "\e[30;1mblack\e[0m"},
{"red", redb, "\e[31;1mred\e[0m"},
{"green", greenb, "\e[32;1mgreen\e[0m"},
{"yellow", yellowb, "\e[33;1myellow\e[0m"},
{"blue", blueb, "\e[34;1mblue\e[0m"},
{"magenta", magentab, "\e[35;1mmagenta\e[0m"},
{"cyan", cyanb, "\e[36;1mcyan\e[0m"},
{"white", whiteb, "\e[37;1mwhite\e[0m"},
% Background colors
{"on_black", on_black, "\e[40mon_black\e[49m"},
{"on_red", on_red, "\e[41mon_red\e[49m"},
{"on_green", on_green, "\e[42mon_green\e[49m"},
{"on_yellow", on_yellow, "\e[43mon_yellow\e[49m"},
{"on_blue", on_blue, "\e[44mon_blue\e[49m"},
{"on_magenta", on_magenta, "\e[45mon_magenta\e[49m"},
{"on_cyan", on_cyan, "\e[46mon_cyan\e[49m"},
{"on_white", on_white, "\e[47mon_white\e[49m"}
]].

rgb_test_() ->
[?_assertEqual(Result, to_s(color:rgb(Color, "rgb")))
|| {Color, Result} <- [
{[0, 0, 0], "\e[38;5;16mrgb\e[0m"},
{[1, 1, 1], "\e[38;5;59mrgb\e[0m"},
{[2, 2, 2], "\e[38;5;102mrgb\e[0m"},
{[3, 3, 3], "\e[38;5;145mrgb\e[0m"},
{[4, 4, 4], "\e[38;5;188mrgb\e[0m"},
{[5, 5, 5], "\e[38;5;231mrgb\e[0m"}
]
].

on_rgb_test_() ->
[?_assertEqual(Result, to_s(color:on_rgb(Color, "rgb")))
|| {Color, Result} <- [
{[0, 0, 0], "\e[48;5;16mrgb\e[49m"},
{[1, 1, 1], "\e[48;5;59mrgb\e[49m"},
{[2, 2, 2], "\e[48;5;102mrgb\e[49m"},
{[3, 3, 3], "\e[48;5;145mrgb\e[49m"},
{[4, 4, 4], "\e[48;5;188mrgb\e[49m"},
{[5, 5, 5], "\e[48;5;231mrgb\e[49m"}
]
].

true_color_test_() ->
[?_assertEqual(Result, to_s(color:true(Color, "true")))
|| {Color, Result} <- [
{[0, 0, 0], "\e[38;2;0;0;0mtrue\e[0m"},
{[255, 255, 255], "\e[38;2;255;255;255mtrue\e[0m"},
{"000000", "\e[38;2;0;0;0mtrue\e[0m"},
{"444444", "\e[38;2;68;68;68mtrue\e[0m"},
{"888888", "\e[38;2;136;136;136mtrue\e[0m"},
{"BBBBBB", "\e[38;2;187;187;187mtrue\e[0m"},
{"FFFFFF", "\e[38;2;255;255;255mtrue\e[0m"}
]
].

on_true_color_test_() ->
[?_assertEqual(Result, to_s(color:on_true(Color, "true")))
|| {Color, Result} <- [
{[0, 0, 0], "\e[48;2;0;0;0mtrue\e[0m"},
{[255, 255, 255], "\e[48;2;255;255;255mtrue\e[0m"},
{"000000", "\e[48;2;0;0;0mtrue\e[0m"},
{"444444", "\e[48;2;68;68;68mtrue\e[0m"},
{"888888", "\e[48;2;136;136;136mtrue\e[0m"},
{"BBBBBB", "\e[48;2;187;187;187mtrue\e[0m"},
{"FFFFFF", "\e[48;2;255;255;255mtrue\e[0m"}
]
].

%% Internal

to_s(IOData) ->
binary_to_list(iolist_to_binary(IOData)).

0 comments on commit 036e7e1

Please sign in to comment.