From 4a299cb7a232c94e1cefc5b51cb45f0d9ef4ca0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 20 Jan 2020 22:43:46 +0100 Subject: Add normilze-date/tz. --- tests/time.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 tests/time.scm (limited to 'tests') diff --git a/tests/time.scm b/tests/time.scm new file mode 100644 index 00000000..65edfcbd --- /dev/null +++ b/tests/time.scm @@ -0,0 +1,58 @@ +(((srfi srfi-19 util) + date day-stream normalize-date + drop-time normalize-date/tz + ) + ((util) set let-env) + ((srfi srfi-19) date-day) + ) + +(test-equal "Trivial normalize case" + (date year: 2020 month: 1 day: 1 tz: 0) + (normalize-date (date year: 2020 month: 1 day: 1 tz: 0))) + +(test-equal "Trivial case, with timezone" + (date year: 2020 month: 1 day: 1 tz: 3600) + (normalize-date (date year: 2020 month: 1 day: 1 tz: 3600))) + +;;; summer time begins 02:00 (becomes 03:00) during the night +;;; between the 28 and 29 of mars 2020, for Europe/Stockholm. +;;; (CET → CEST alt. UTC+1 → UTC+2) + +(test-equal "Time zone spill over" + (date year: 2020 month: 3 day: 29 tz: 3600) + (normalize-date (set (date-day (date year: 2020 month: 3 day: 28 tz: 3600)) + = (+ 1)))) + +;;; TODO normalize-date* + + + +;;; !!! TODO !!! + +(test-assert "normalize-date/tz" + (not (unspecified? (normalize-date/tz (date))))) + +(test-equal "Trivial normalize case" + (date year: 2020 month: 1 day: 1 hour: 1 tz: 3600) + (normalize-date/tz (date year: 2020 month: 1 day: 1 tz: 0) + "Europe/Stockholm")) + +(test-equal "Trivial case, with timezone" + (date year: 2020 month: 1 day: 1 tz: 3600) + (normalize-date/tz (date year: 2020 month: 1 day: 1 tz: 3600) + "Europe/Stockholm")) + +(test-equal "Time zone spill over" + (date year: 2020 month: 3 day: 30 hour: 1 tz: 7200) + (normalize-date/tz (set (date-day (date year: 2020 month: 3 day: 29 tz: 3600)) + = (+ 1)) + "Europe/Stockholm")) + + + + +(test-equal "drop time" + (date) + (drop-time (date hour: 10 minute: 70 second: 100))) + + -- cgit v1.2.3