-USING: timers timers.private calendar concurrency.count-downs\r
-concurrency.promises fry kernel math math.order sequences\r
-threads tools.test tools.time ;\r
-IN: timers.tests\r
-\r
-[ ] [\r
- 1 <count-down>\r
- { f } clone 2dup\r
- [ first stop-timer count-down ] 2curry 1 seconds later\r
- swap set-first\r
- await\r
-] unit-test\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 ] 2 seconds later drop ]\r
- [ 5 seconds ?promise-timeout drop ] bi\r
- ] benchmark 1,500,000,000 2,500,000,000 between?\r
-] unit-test\r
-\r
-[ { 3 } ] [\r
- { 3 } dup\r
- '[ 4 _ set-first ] 2 seconds later\r
- 1/2 seconds sleep\r
- stop-timer\r
-] unit-test\r
-\r
-[ { 1 } ] [\r
- { 0 }\r
- dup '[ 0 _ [ 1 + ] change-nth ] 3 seconds later\r
- [ stop-timer ] [ start-timer ] bi\r
- 4 seconds sleep\r
-] unit-test\r
-\r
-[ { 0 } ] [\r
- { 0 }\r
- dup '[ 3 seconds sleep 1 _ set-first ] 1 seconds later\r
- 2 seconds sleep stop-timer\r
- 1/2 seconds sleep\r
-] unit-test\r
-\r
-[ { 0 } ] [\r
- { 0 }\r
- dup '[ 1 _ set-first ] 300 milliseconds later\r
- 150 milliseconds sleep\r
- [ restart-timer ] [ 200 milliseconds sleep stop-timer ] bi\r
-] unit-test\r
-\r
-[ { 1 } ] [\r
- { 0 }\r
- dup '[ 0 _ [ 1 + ] change-nth ] 200 milliseconds later\r
- 100 milliseconds sleep restart-timer 300 milliseconds sleep\r
-] unit-test\r
-\r
-[ { 4 } ] [\r
- { 0 }\r
- dup '[ 0 _ [ 1 + ] change-nth ] 300 milliseconds 300 milliseconds\r
- <timer> dup start-timer\r
- 700 milliseconds sleep dup restart-timer\r
- 700 milliseconds sleep stop-timer 500 milliseconds sleep\r
-] unit-test\r
+USING: timers timers.private calendar concurrency.count-downs
+concurrency.promises fry kernel math math.order sequences
+threads tools.test tools.time ;
+IN: timers.tests
+
+[ ] [
+ 1 <count-down>
+ { f } clone 2dup
+ [ first stop-timer count-down ] 2curry 1 seconds later
+ swap set-first
+ await
+] unit-test
+
+[ ] [
+ self [ resume ] curry instant later drop
+ "test" suspend drop
+] unit-test
+
+[ t ] [
+ [
+ <promise>
+ [ '[ t _ fulfill ] 2 seconds later drop ]
+ [ 5 seconds ?promise-timeout drop ] bi
+ ] benchmark 1,500,000,000 2,500,000,000 between?
+] unit-test
+
+[ { 3 } ] [
+ { 3 } dup
+ '[ 4 _ set-first ] 2 seconds later
+ 1/2 seconds sleep
+ stop-timer
+] unit-test
+
+[ { 1 } ] [
+ { 0 }
+ dup '[ 0 _ [ 1 + ] change-nth ] 3 seconds later
+ [ stop-timer ] [ start-timer ] bi
+ 4 seconds sleep
+] unit-test
+
+[ { 0 } ] [
+ { 0 }
+ dup '[ 3 seconds sleep 1 _ set-first ] 1 seconds later
+ 2 seconds sleep stop-timer
+ 1/2 seconds sleep
+] unit-test
+
+[ { 0 } ] [
+ { 0 }
+ dup '[ 1 _ set-first ] 300 milliseconds later
+ 150 milliseconds sleep
+ [ restart-timer ] [ 200 milliseconds sleep stop-timer ] bi
+] unit-test
+
+[ { 1 } ] [
+ { 0 }
+ dup '[ 0 _ [ 1 + ] change-nth ] 200 milliseconds later
+ 100 milliseconds sleep restart-timer 300 milliseconds sleep
+] unit-test
+
+[ { 4 } ] [
+ { 0 }
+ dup '[ 0 _ [ 1 + ] change-nth ] 300 milliseconds 300 milliseconds
+ <timer> dup start-timer
+ 700 milliseconds sleep dup restart-timer
+ 700 milliseconds sleep stop-timer 500 milliseconds sleep
+] unit-test