Fixed the final missing feature: if -o or --output is specified on the
command line, it is now honoured.
This commit is contained in:
parent
fd36f8e1ca
commit
6b124ec989
|
@ -24,14 +24,15 @@ See http://codekata.pragprog.com/2007/01/kata_fourteen_t.html"
|
||||||
"The length of the sequences to analyse it into (integer)"
|
"The length of the sequences to analyse it into (integer)"
|
||||||
:parse-fn #(Integer. %)
|
:parse-fn #(Integer. %)
|
||||||
:default 2])
|
:default 2])
|
||||||
file (arguments :file)]
|
file (arguments :file)
|
||||||
|
output (arguments :output)]
|
||||||
(cond
|
(cond
|
||||||
(= file nil) (print banner)
|
(= file nil) (print banner)
|
||||||
(arguments :help) (print banner)
|
(arguments :help) (print banner)
|
||||||
true (synthesise/write-output
|
true (synthesise/write-output
|
||||||
(synthesise/compose-nonsense
|
(synthesise/compose-nonsense
|
||||||
(analyse/analyse-file file (arguments :tuple-length))
|
(analyse/analyse-file file (arguments :tuple-length))
|
||||||
(arguments :output-length))))
|
(arguments :output-length)) output))
|
||||||
(flush)))
|
(flush)))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -159,7 +159,14 @@
|
||||||
TODO: does not yet work. Should take an optional second argument,
|
TODO: does not yet work. Should take an optional second argument,
|
||||||
the file to write to if any (default to standard out).
|
the file to write to if any (default to standard out).
|
||||||
|
|
||||||
output: a sequence of tokens to write."
|
output: a sequence of tokens to write;
|
||||||
[output]
|
destination: if not null, the name of the file to which to write it."
|
||||||
|
([output destination]
|
||||||
|
(cond
|
||||||
|
destination
|
||||||
|
(let [text (with-out-str (write-output output))]
|
||||||
|
(spit destination text))
|
||||||
|
true (write-output output)))
|
||||||
|
([output]
|
||||||
(dorun (map write-token (top-and-tail output)))
|
(dorun (map write-token (top-and-tail output)))
|
||||||
(print "\n\n"))
|
(print "\n\n")))
|
||||||
|
|
|
@ -7,3 +7,9 @@
|
||||||
(is (= (top-and-tail '("a" "b" "c" "?" "d" "e" "f" "." "g" "h" "i" "!")) '("d" "e" "f" "." "g" "h" "i" "!")))
|
(is (= (top-and-tail '("a" "b" "c" "?" "d" "e" "f" "." "g" "h" "i" "!")) '("d" "e" "f" "." "g" "h" "i" "!")))
|
||||||
(is (= (top-and-tail '("a" "b" "c" "?" "d" "e" "f" "." "g" "h" "i")) '("d" "e" "f" ".")))
|
(is (= (top-and-tail '("a" "b" "c" "?" "d" "e" "f" "." "g" "h" "i")) '("d" "e" "f" ".")))
|
||||||
))
|
))
|
||||||
|
|
||||||
|
(deftest write-output-test
|
||||||
|
(testing "Test output to file"
|
||||||
|
(is (= (do ;; (spit "test.out" "")
|
||||||
|
(write-output '("Test" "output" ".") "test.out")
|
||||||
|
(slurp "test.out"))) "Test output.")))
|
||||||
|
|
Loading…
Reference in a new issue