aboutsummaryrefslogtreecommitdiff
path: root/tests/unit/vcomponent/vcomponent-datetime.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2023-10-02 19:26:40 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2023-10-02 19:28:44 +0200
commit712654d4c023a2ab13190c6905d313e0ba897965 (patch)
treeb8505b420d6621022fa6a46271340071d8881322 /tests/unit/vcomponent/vcomponent-datetime.scm
parentMade displayln into a library export. (diff)
downloadcalp-712654d4c023a2ab13190c6905d313e0ba897965.tar.gz
calp-712654d4c023a2ab13190c6905d313e0ba897965.tar.xz
Rewrite test running system.
Diffstat (limited to 'tests/unit/vcomponent/vcomponent-datetime.scm')
-rw-r--r--tests/unit/vcomponent/vcomponent-datetime.scm44
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/unit/vcomponent/vcomponent-datetime.scm b/tests/unit/vcomponent/vcomponent-datetime.scm
new file mode 100644
index 00000000..80fee259
--- /dev/null
+++ b/tests/unit/vcomponent/vcomponent-datetime.scm
@@ -0,0 +1,44 @@
+;;; Commentary:
+;; Tests that event-clamping (checking how long part of an event
+;; overlaps another time span) works.
+;;; Code:
+
+(define-module (test vcomponent-datetime)
+ :use-module (srfi srfi-64)
+ :use-module (srfi srfi-88)
+ :use-module ((datetime) :select (date time datetime))
+ :use-module ((vcomponent datetime) :select (event-length/clamped))
+ :use-module ((vcomponent create) :select (vevent)))
+
+(define ev
+ (vevent
+ dtstart: (datetime year: 2020 month: 03 day: 29 hour: 17 minute: 00 second: 00)
+ dtend: (datetime year: 2020 month: 04 day: 01 hour: 10 minute: 00 second: 00)))
+
+
+;; |-----------------| test interval
+;; |----------| event interval
+
+(test-equal
+ "Correct clamping"
+ (datetime time: (time hour: 7)) ; 2020-03-29T17:00 - 2020-03-30T00:00
+ (event-length/clamped
+ (date year: 2020 month: 03 day: 23) ; a time way before the start of the event
+ (date year: 2020 month: 03 day: 29) ; a time slightly after the end of the event
+ ev))
+
+(define utc-ev
+ (vevent
+ dtstart: (datetime year: 2020 month: 03 day: 29 hour: 15 minute: 00 second: 00 tz: "UTC")
+ dtend: (datetime year: 2020 month: 04 day: 01 hour: 08 minute: 00 second: 00 tz: "UTC")))
+
+(test-equal
+ "Correct clamping UTC"
+ (datetime time: (time hour: 7))
+ (event-length/clamped
+ (date year: 2020 month: 03 day: 23)
+ (date year: 2020 month: 03 day: 29)
+ ev))
+
+
+'((vcomponent datetime))