123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- -module(herd_datetime_tests).
- -include_lib("eunit/include/eunit.hrl").
- -spec datetime_from_db_test() -> ok.
- datetime_from_db_test() ->
- ?assertEqual({{2016, 11, 18}, {13, 55, 12}},
- herd_datetime:datetime_from_db({{2016, 11, 18}, {13, 55, 12.632}})),
- ok.
- -spec timestamp_to_datetime_test() -> ok.
- timestamp_to_datetime_test() ->
- ?assertEqual({{2016,11,18},{10,57,44}},
- herd_datetime:timestamp_to_datetime(1479466664)),
- ok.
- -spec timestamp_to_db_datetime_test() -> ok.
- timestamp_to_db_datetime_test() ->
- {{2016,11,18},{10,57,S}} = herd_datetime:timestamp_to_db_datetime(1479466664.123456),
- ?assert(abs(S - 44.123456) < 0.0000001),
- ok.
- -spec datetime_to_ISO_test() -> ok.
- datetime_to_ISO_test() ->
- ?assertEqual("2016-11-18T13:55:12",
- herd_datetime:datetime_to_ISO({{2016, 11, 18}, {13, 55, 12}})),
- ok.
- -spec add_interval_test() -> ok.
- add_interval_test() ->
- DT = {{2016, 11, 18}, {13, 55, 12}},
- ?assertEqual({{2016, 11, 18}, {13, 55, 14}},
- herd_datetime:add_interval(DT, {2, second})),
- ?assertEqual({{2016, 11, 18}, {14, 2, 12}},
- herd_datetime:add_interval(DT, {7, minute})),
- ?assertEqual({{2016, 11, 18}, {15, 55, 12}},
- herd_datetime:add_interval(DT, {2, hour})),
- ?assertEqual({{2016, 11, 19}, {3, 55, 12}},
- herd_datetime:add_interval(DT, {14, hour})),
- ?assertEqual({{2016, 11, 20}, {13, 55, 12}},
- herd_datetime:add_interval(DT, {2, day})),
- ?assertEqual({{2016, 12, 8}, {13, 55, 12}},
- herd_datetime:add_interval(DT, {20, day})),
- ?assertEqual({{2016, 11, 25}, {13, 55, 12}},
- herd_datetime:add_interval(DT, {1, week})),
- ?assertEqual({{2016, 12, 2}, {13, 55, 12}},
- herd_datetime:add_interval(DT, {2, week})),
- ok.
- -spec subtract_interval_test() -> ok.
- subtract_interval_test() ->
- DT = {{2016, 11, 18}, {13, 55, 12}},
- ?assertEqual({{2016, 11, 18}, {13, 55, 10}},
- herd_datetime:subtract_interval(DT, {2, second})),
- ?assertEqual({{2016, 11, 18}, {13, 48, 12}},
- herd_datetime:subtract_interval(DT, {7, minute})),
- ?assertEqual({{2016, 11, 18}, {11, 55, 12}},
- herd_datetime:subtract_interval(DT, {2, hour})),
- ?assertEqual({{2016, 11, 17}, {23, 55, 12}},
- herd_datetime:subtract_interval(DT, {14, hour})),
- ?assertEqual({{2016, 11, 16}, {13, 55, 12}},
- herd_datetime:subtract_interval(DT, {2, day})),
- ?assertEqual({{2016, 10, 29}, {13, 55, 12}},
- herd_datetime:subtract_interval(DT, {20, day})),
- ?assertEqual({{2016, 11, 11}, {13, 55, 12}},
- herd_datetime:subtract_interval(DT, {1, week})),
- ?assertEqual({{2016, 11, 4}, {13, 55, 12}},
- herd_datetime:subtract_interval(DT, {2, week})),
- ok.
|