1% This file is part of Jiffy released under the MIT license.
2% See the LICENSE file for more information.
3
4-module(jiffy_02_literal_tests).
5
6-include_lib("eunit/include/eunit.hrl").
7-include("jiffy_util.hrl").
8
9
10true_test_() ->
11    {"true", [
12        {"Decode", ?_assertEqual(true, dec(<<"true">>))},
13        {"Encode", ?_assertEqual(<<"true">>, enc(true))}
14    ]}.
15
16
17false_test_() ->
18    {"false", [
19        {"Decode", ?_assertEqual(false, dec(<<"false">>))},
20        {"Encode", ?_assertEqual(<<"false">>, enc(false))}
21    ]}.
22
23
24null_test_() ->
25    {"null", [
26        {"Decode", ?_assertEqual(null, dec(<<"null">>))},
27        {"Encode", ?_assertEqual(<<"null">>, enc(null))}
28    ]}.
29
30nil_test_() ->
31    {"null", [
32        {"Decode", ?_assertEqual(nil, dec(<<"null">>, [use_nil]))},
33        {"Encode", ?_assertEqual(<<"null">>, enc(nil, [use_nil]))}
34    ]}.
35
36null_term_test_() ->
37    T = [
38        {undefined, [{null_term, undefined}]},
39        {whatever, [{null_term, whatever}]},
40        {undefined, [use_nil, {null_term, undefined}]},
41        {nil, [{null_term, undefined}, use_nil]},
42        {whatever, [{null_term, undefined}, {null_term, whatever}]}
43    ],
44    {"null_term",
45        [?_assertEqual(R, dec(<<"null">>, O)) || {R, O} <- T]}.
46