Preliminary arithmetic tests. One failing test

This commit is contained in:
Jesse Gumm 2014-08-23 00:29:59 -05:00
parent df55df9db6
commit fb63b7a318

View file

@ -634,7 +634,8 @@ tz_test_() ->
test_process_die(SetupData), test_process_die(SetupData),
parser_format_test(SetupData), parser_format_test(SetupData),
test_deterministic_parser(SetupData), test_deterministic_parser(SetupData),
test_disambiguation(SetupData) test_disambiguation(SetupData),
arith_tests(SetupData)
]} ]}
end end
}. }.
@ -796,6 +797,24 @@ test_process_die(_) ->
?_assertEqual(undefined,get_timezone(Pid)) ?_assertEqual(undefined,get_timezone(Pid))
]. ].
arith_tests(_) ->
{inorder,[
?_assertEqual({{2012,2,29},{23,59,59}}, to_date(add_seconds(-1, {{2012,3,1},{0,0,0}}))),
?_assertEqual({{2013,2,28},{23,59,59}}, to_date(add_seconds(-1, {{2013,3,1},{0,0,0}}))),
?_assertEqual({{2015,1,1},{0,0,0}}, to_date(add_years(1, {{2014,1,1},{0,0,0}}))),
?_assertEqual({{2015,1,1},{0,0,0}}, to_date(add_seconds(1, {{2014,12,31},{23,59,59}}))),
?_assertEqual({{2015,1,1},{0,0,59}}, to_date(add_minutes(1, {{2014,12,31},{23,59,59}}))),
?_assertEqual({{2015,1,1},{0,59,59}}, to_date(add_hours(1, {{2014,12,31},{23,59,59}}))),
?_assertEqual({{2015,1,1},{23,59,59}}, to_date(add_days(1, {{2014,12,31},{23,59,59}}))),
?_assertEqual({{2015,1,7},{23,59,59}}, to_date(add_weeks(1, {{2014,12,31},{23,59,59}}))),
?_assertEqual({{2015,1,31},{23,59,59}}, to_date(add_months(1, {{2014,12,31},{23,59,59}}))),
%% currently fails the following test. Passing it will require improved logic
?_assertEqual({{2015,3,1},{0,0,0}}, to_date(add_months(2, {{2014,12,31},{0,0,0}}))),
?_assertEqual({{2015,3,1},{0,0,0}}, to_date(add_days(1, {{2015,2,28},{0,0,0}}))),
?_assertEqual({{2015,3,3},{0,0,0}}, to_date(add_days(3, {{2015,2,28},{0,0,0}}))),
?_assertEqual({{2017,3,1},{0,0,0}}, to_date(add_years(1, {{2016,2,29},{0,0,0}})))
]}.
start_test() -> start_test() ->
application:start(qdate), application:start(qdate),