diff options
Diffstat (limited to 'lib/stdlib/test/calendar_SUITE.erl')
-rw-r--r-- | lib/stdlib/test/calendar_SUITE.erl | 235 |
1 files changed, 104 insertions, 131 deletions
diff --git a/lib/stdlib/test/calendar_SUITE.erl b/lib/stdlib/test/calendar_SUITE.erl index bddc3a4821..7372288492 100644 --- a/lib/stdlib/test/calendar_SUITE.erl +++ b/lib/stdlib/test/calendar_SUITE.erl @@ -57,69 +57,48 @@ init_per_group(_GroupName, Config) -> end_per_group(_GroupName, Config) -> Config. -gregorian_days(doc) -> - "Tests that date_to_gregorian_days and gregorian_days_to_date " - "are each others inverses from ?START_YEAR-01-01 up to ?END_YEAR-01-01. " - "At the same time valid_date is tested."; -gregorian_days(suite) -> - []; +%% Tests that date_to_gregorian_days and gregorian_days_to_date +%% are each others inverses from ?START_YEAR-01-01 up to ?END_YEAR-01-01. +%% At the same time valid_date is tested. gregorian_days(Config) when is_list(Config) -> - ?line Days = calendar:date_to_gregorian_days({?START_YEAR, 1, 1}), - ?line MaxDays = calendar:date_to_gregorian_days({?END_YEAR, 1, 1}), - ?line check_gregorian_days(Days, MaxDays). - -gregorian_seconds(doc) -> - "Tests that datetime_to_gregorian_seconds and " - "gregorian_seconds_to_date are each others inverses for a sampled " - "number of seconds from ?START_YEAR-01-01 up to ?END_YEAR-01-01: We check " - "every 2 days + 1 second."; -gregorian_seconds(suite) -> - []; + Days = calendar:date_to_gregorian_days({?START_YEAR, 1, 1}), + MaxDays = calendar:date_to_gregorian_days({?END_YEAR, 1, 1}), + check_gregorian_days(Days, MaxDays). + +%% Tests that datetime_to_gregorian_seconds and +%% gregorian_seconds_to_date are each others inverses for a sampled +%% number of seconds from ?START_YEAR-01-01 up to ?END_YEAR-01-01: We check +%% every 2 days + 1 second. gregorian_seconds(Config) when is_list(Config) -> - ?line Secs = calendar:datetime_to_gregorian_seconds({{?START_YEAR, 1, 1}, - {0, 0, 0}}), - ?line MaxSecs = calendar:datetime_to_gregorian_seconds({{?END_YEAR, 1, 1}, - {0, 0, 0}}), - ?line check_gregorian_seconds(Secs, MaxSecs). - -day_of_the_week(doc) -> - "Tests that day_of_the_week reports correctly the day of the week from " - "year ?START_YEAR up to ?END_YEAR."; -day_of_the_week(suite) -> - []; + Secs = calendar:datetime_to_gregorian_seconds({{?START_YEAR, 1, 1}, + {0, 0, 0}}), + MaxSecs = calendar:datetime_to_gregorian_seconds({{?END_YEAR, 1, 1}, + {0, 0, 0}}), + check_gregorian_seconds(Secs, MaxSecs). + +%% Tests that day_of_the_week reports correctly the day of the week from +%% year ?START_YEAR up to ?END_YEAR. day_of_the_week(Config) when is_list(Config) -> - ?line Days = calendar:date_to_gregorian_days({?START_YEAR, 1, 1}), - ?line MaxDays = calendar:date_to_gregorian_days({?END_YEAR, 1, 1}), - ?line DayNumber = calendar:day_of_the_week({?START_YEAR, 1, 1}), - ?line check_day_of_the_week(Days, MaxDays, DayNumber). + Days = calendar:date_to_gregorian_days({?START_YEAR, 1, 1}), + MaxDays = calendar:date_to_gregorian_days({?END_YEAR, 1, 1}), + DayNumber = calendar:day_of_the_week({?START_YEAR, 1, 1}), + check_day_of_the_week(Days, MaxDays, DayNumber). -day_of_the_week_calibrate(doc) -> - "Tests that day_of_the_week for 1997-11-11 is Tuesday (2)"; -day_of_the_week_calibrate(suite) -> - []; +%% Tests that day_of_the_week for 1997-11-11 is Tuesday (2). day_of_the_week_calibrate(Config) when is_list(Config) -> - ?line 2 = calendar:day_of_the_week({1997, 11, 11}). + 2 = calendar:day_of_the_week({1997, 11, 11}). -leap_years(doc) -> - "Tests that is_leap_year reports correctly the leap years from " - "year ?START_YEAR up to ?END_YEAR."; -leap_years(suite) -> - []; +%% Tests that is_leap_year reports correctly the leap years from +%% year ?START_YEAR up to ?END_YEAR. leap_years(Config) when is_list(Config) -> - ?line check_leap_years(?START_YEAR, ?END_YEAR). + check_leap_years(?START_YEAR, ?END_YEAR). -last_day_of_the_month(doc) -> - "Tests that last_day_of_the_month reports correctly from " - "year ?START_YEAR up to ?END_YEAR."; -last_day_of_the_month(suite) -> - []; +%% Tests that last_day_of_the_month reports correctly from +%% year ?START_YEAR up to ?END_YEAR. last_day_of_the_month(Config) when is_list(Config) -> - ?line check_last_day_of_the_month({?START_YEAR, 1}, {?END_YEAR, 1}). + check_last_day_of_the_month({?START_YEAR, 1}, {?END_YEAR, 1}). -local_time_to_universal_time_dst(doc) -> - "Tests local_time_to_universal_time_dst for MET"; -local_time_to_universal_time_dst(suite) -> - []; +%% Tests local_time_to_universal_time_dst for MET. local_time_to_universal_time_dst(Config) when is_list(Config) -> case os:type() of {unix,_} -> @@ -134,35 +113,35 @@ local_time_to_universal_time_dst(Config) when is_list(Config) -> end. local_time_to_universal_time_dst_x(Config) when is_list(Config) -> %% Assumes MET (UTC+1 / UTC+2(dst) - ?line LtW = {{2003,01,15},{14,00,00}}, % Winter - ?line UtW = {{2003,01,15},{13,00,00}}, % - ?line UtWd = {{2003,01,15},{12,00,00}}, % dst - ?line LtS = {{2003,07,15},{14,00,00}}, % Summer - ?line UtS = {{2003,07,15},{13,00,00}}, % - ?line UtSd = {{2003,07,15},{12,00,00}}, % dst - ?line LtWS = {{2003,03,30},{02,30,00}}, % Winter->Summer - ?line UtWS = {{2003,03,30},{01,30,00}}, % - ?line UtWSd = {{2003,03,30},{00,30,00}}, % dst - ?line LtSW = {{2003,10,26},{02,30,00}}, % Summer->Winter - ?line UtSW = {{2003,10,26},{01,30,00}}, % - ?line UtSWd = {{2003,10,26},{00,30,00}}, % dst + LtW = {{2003,01,15},{14,00,00}}, % Winter + UtW = {{2003,01,15},{13,00,00}}, % + UtWd = {{2003,01,15},{12,00,00}}, % dst + LtS = {{2003,07,15},{14,00,00}}, % Summer + UtS = {{2003,07,15},{13,00,00}}, % + UtSd = {{2003,07,15},{12,00,00}}, % dst + LtWS = {{2003,03,30},{02,30,00}}, % Winter->Summer + UtWS = {{2003,03,30},{01,30,00}}, % + UtWSd = {{2003,03,30},{00,30,00}}, % dst + LtSW = {{2003,10,26},{02,30,00}}, % Summer->Winter + UtSW = {{2003,10,26},{01,30,00}}, % + UtSWd = {{2003,10,26},{00,30,00}}, % dst %% - ?line UtW = calendar:local_time_to_universal_time(LtW, false), - ?line UtWd = calendar:local_time_to_universal_time(LtW, true), - ?line UtW = calendar:local_time_to_universal_time(LtW, undefined), + UtW = calendar:local_time_to_universal_time(LtW, false), + UtWd = calendar:local_time_to_universal_time(LtW, true), + UtW = calendar:local_time_to_universal_time(LtW, undefined), %% - ?line UtS = calendar:local_time_to_universal_time(LtS, false), - ?line UtSd = calendar:local_time_to_universal_time(LtS, true), - ?line UtSd = calendar:local_time_to_universal_time(LtS, undefined), + UtS = calendar:local_time_to_universal_time(LtS, false), + UtSd = calendar:local_time_to_universal_time(LtS, true), + UtSd = calendar:local_time_to_universal_time(LtS, undefined), %% case calendar:local_time_to_universal_time(LtWS, false) of UtWS -> - ?line UtWSd = calendar:local_time_to_universal_time(LtWS, true), - ?line [] = calendar:local_time_to_universal_time_dst(LtWS), + UtWSd = calendar:local_time_to_universal_time(LtWS, true), + [] = calendar:local_time_to_universal_time_dst(LtWS), %% - ?line UtSW = calendar:local_time_to_universal_time(LtSW, false), - ?line UtSWd = calendar:local_time_to_universal_time(LtSW, true), - ?line [UtSWd, UtSW] = calendar:local_time_to_universal_time_dst(LtSW), + UtSW = calendar:local_time_to_universal_time(LtSW, false), + UtSWd = calendar:local_time_to_universal_time(LtSW, true), + [UtSWd, UtSW] = calendar:local_time_to_universal_time_dst(LtSW), ok; {{1969,12,31},{23,59,59}} -> %% It seems that Apple has no intention of fixing this bug in @@ -171,15 +150,12 @@ local_time_to_universal_time_dst_x(Config) when is_list(Config) -> {comment,"Bug in mktime() in this OS"} end. -iso_week_number(doc) -> - "Test the iso week number calculation for all three possibilities." - " When the date falls on the last week of the previous year," - " when the date falls on a week within the given year and finally," - " when the date falls on the first week of the next year."; -iso_week_number(suite) -> - []; +%% Test the iso week number calculation for all three possibilities: +%% When the date falls on the last week of the previous year, +%% when the date falls on a week within the given year and finally, +%% when the date falls on the first week of the next year. iso_week_number(Config) when is_list(Config) -> - ?line check_iso_week_number(). + check_iso_week_number(). %% %% LOCAL FUNCTIONS @@ -188,10 +164,10 @@ iso_week_number(Config) when is_list(Config) -> %% check_gregorian_days %% check_gregorian_days(Days, MaxDays) when Days < MaxDays -> - ?line Date = calendar:gregorian_days_to_date(Days), - ?line true = calendar:valid_date(Date), - ?line Days = calendar:date_to_gregorian_days(Date), - ?line check_gregorian_days(Days + 1, MaxDays); + Date = calendar:gregorian_days_to_date(Days), + true = calendar:valid_date(Date), + Days = calendar:date_to_gregorian_days(Date), + check_gregorian_days(Days + 1, MaxDays); check_gregorian_days(_Days, _MaxDays) -> ok. @@ -200,9 +176,9 @@ check_gregorian_days(_Days, _MaxDays) -> %% We increment with something prime (172801 = 2 days + 1 second). %% check_gregorian_seconds(Secs, MaxSecs) when Secs < MaxSecs -> - ?line DateTime = calendar:gregorian_seconds_to_datetime(Secs), - ?line Secs = calendar:datetime_to_gregorian_seconds(DateTime), - ?line check_gregorian_seconds(Secs + 172801, MaxSecs); + DateTime = calendar:gregorian_seconds_to_datetime(Secs), + Secs = calendar:datetime_to_gregorian_seconds(DateTime), + check_gregorian_seconds(Secs + 172801, MaxSecs); check_gregorian_seconds(_Secs, _MaxSecs) -> ok. @@ -210,10 +186,10 @@ check_gregorian_seconds(_Secs, _MaxSecs) -> %% check_day_of_the_week %% check_day_of_the_week(Days, MaxDays, DayNumber) when Days < MaxDays -> - ?line Date = calendar:gregorian_days_to_date(Days), - ?line DayNumber = calendar:day_of_the_week(Date), - ?line check_day_of_the_week(Days + 1, MaxDays, - ((DayNumber rem 7) + 1)); + Date = calendar:gregorian_days_to_date(Days), + DayNumber = calendar:day_of_the_week(Date), + check_day_of_the_week(Days + 1, MaxDays, + ((DayNumber rem 7) + 1)); check_day_of_the_week(_Days, _MaxDays, _DayNumber) -> ok. @@ -222,59 +198,56 @@ check_day_of_the_week(_Days, _MaxDays, _DayNumber) -> %% SYr must be larger than 1800, and EYr must be less than ?END_YEAR. %% check_leap_years(SYr, EYr) when SYr < EYr -> - ?line Rem = SYr rem 4, + Rem = SYr rem 4, case Rem of 0 -> case SYr of 1900 -> - ?line false = calendar:is_leap_year(SYr); + false = calendar:is_leap_year(SYr); 2000 -> - ?line true = calendar:is_leap_year(SYr); + true = calendar:is_leap_year(SYr); _ -> - ?line true = calendar:is_leap_year(SYr) + true = calendar:is_leap_year(SYr) end; _ -> - ?line false = calendar:is_leap_year(SYr) + false = calendar:is_leap_year(SYr) end, check_leap_years(SYr + 1, EYr); check_leap_years(_SYr, _EYr) -> ok. check_last_day_of_the_month({SYr, SMon}, {EYr, EMon}) when SYr < EYr -> - ?line LastDay = calendar:last_day_of_the_month(SYr, SMon), - ?line LastDay = case SMon of - 1 -> 31; - 2 -> - case calendar:is_leap_year(SYr) of - true -> 29; - false -> 28 - end; - 3 -> 31; - 4 -> 30; - 5 -> 31; - 6 -> 30; - 7 -> 31; - 8 -> 31; - 9 -> 30; - 10 -> 31; - 11 -> 30; - 12 -> 31 - end, - ?line NYr = case SMon of - 12 -> SYr + 1; - _ -> SYr - end, - ?line check_last_day_of_the_month({NYr, (SMon rem 12) + 1}, - {EYr, EMon}); + LastDay = calendar:last_day_of_the_month(SYr, SMon), + LastDay = case SMon of + 1 -> 31; + 2 -> + case calendar:is_leap_year(SYr) of + true -> 29; + false -> 28 + end; + 3 -> 31; + 4 -> 30; + 5 -> 31; + 6 -> 30; + 7 -> 31; + 8 -> 31; + 9 -> 30; + 10 -> 31; + 11 -> 30; + 12 -> 31 + end, + NYr = case SMon of + 12 -> SYr + 1; + _ -> SYr + end, + check_last_day_of_the_month({NYr, (SMon rem 12) + 1}, + {EYr, EMon}); check_last_day_of_the_month(_, _) -> ok. %% check_iso_week_number %% check_iso_week_number() -> - ?line {2004, 53} = calendar:iso_week_number({2005, 1, 1}), - ?line {2007, 1} = calendar:iso_week_number({2007, 1, 1}), - ?line {2009, 1} = calendar:iso_week_number({2008, 12, 29}). - - - + {2004, 53} = calendar:iso_week_number({2005, 1, 1}), + {2007, 1} = calendar:iso_week_number({2007, 1, 1}), + {2009, 1} = calendar:iso_week_number({2008, 12, 29}). |