USING: alarms alarms.private kernel calendar sequences\r
-tools.test threads concurrency.count-downs ;\r
+tools.test threads concurrency.count-downs concurrency.promises\r
+fry tools.time math ;\r
IN: alarms.tests\r
\r
[ ] [\r
self [ resume ] curry instant later drop\r
"test" suspend drop\r
] unit-test\r
+\r
+[ t ] [\r
+ [\r
+ <promise>\r
+ '[ t _ fulfill ] 5 seconds later drop\r
+ ] benchmark 4,000,000,000 >\r
+] unit-test\r
+\r
+[ { 3 } ] [\r
+ { 3 } dup\r
+ '[ 4 _ set-first ] 2 seconds later\r
+ 1/2 seconds sleep\r
+ cancel-alarm\r
+] unit-test\r