diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2015-01-13 19:25:03 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2015-01-13 19:25:03 -0800 |
commit | 0c1450438fcb0fe3f53fcb9268f2f2c0708bb252 (patch) | |
tree | 597df6cfac15c6f22f35a08f8d5500beae4fbae0 | |
parent | 93d5dce626c6903d289338a822457401634de021 (diff) | |
download | mu-0c1450438fcb0fe3f53fcb9268f2f2c0708bb252.tar.gz |
547 - hacky initial tests for reading chess moves
-rw-r--r-- | chessboard-cursor.arc.t | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/chessboard-cursor.arc.t b/chessboard-cursor.arc.t new file mode 100644 index 00000000..1b83ac1e --- /dev/null +++ b/chessboard-cursor.arc.t @@ -0,0 +1,49 @@ +(selective-load "mu.arc" section-level) + +(reset) +(new-trace "read-move-legal") +(add-code:readfile "chessboard-cursor.mu") +(add-code + '((function! main [ + (default-space:space-address <- new space:literal 30:literal/capacity) + (1:channel-address/raw <- init-channel 3:literal) + (r:integer/routine <- fork-helper read-move:fn nil:literal/globals nil:literal/limit) + (c:character <- copy ((#\a literal))) + (x:tagged-value <- save-type c:character) + (1:channel-address/raw/deref <- write 1:channel-address/raw x:tagged-value) + (c:character <- copy ((#\2 literal))) + (x:tagged-value <- save-type c:character) + (1:channel-address/raw/deref <- write 1:channel-address/raw x:tagged-value) + (c:character <- copy ((#\- literal))) + (x:tagged-value <- save-type c:character) + (1:channel-address/raw/deref <- write 1:channel-address/raw x:tagged-value) + (c:character <- copy ((#\a literal))) + (x:tagged-value <- save-type c:character) + (1:channel-address/raw/deref <- write 1:channel-address/raw x:tagged-value) + (c:character <- copy ((#\4 literal))) + (x:tagged-value <- save-type c:character) + (1:channel-address/raw/deref <- write 1:channel-address/raw x:tagged-value) + (sleep until-routine-done:literal r:integer/routine) + ]))) +(run 'main) +(if (~ran-to-completion 'main) + (prn "F - chessboard accepts legal move a2-a4")) + +(reset) +(new-trace "read-move-quit") +(add-code:readfile "chessboard-cursor.mu") +(add-code + '((function! main [ + (default-space:space-address <- new space:literal 30:literal/capacity) + (1:channel-address/raw <- init-channel 3:literal) + (r:integer/routine <- fork-helper read-move:fn nil:literal/globals nil:literal/limit) + (c:character <- copy ((#\q literal))) + (x:tagged-value <- save-type c:character) + (1:channel-address/raw/deref <- write 1:channel-address/raw x:tagged-value) + (sleep until-routine-done:literal r:integer/routine) + ]))) +(run 'main) +(if (~ran-to-completion 'main) + (prn "F - chessboard quits on move starting with 'q'")) + +(reset) |