2014-09-11 19:29:32 +00:00
|
|
|
;; Copyright (c) 2014 Microsoft Corporation. All rights reserved.
|
|
|
|
;; Released under Apache 2.0 license as described in the file LICENSE.
|
|
|
|
;;
|
|
|
|
;; Author: Soonho Kong
|
|
|
|
;;
|
|
|
|
|
|
|
|
(require 'ert)
|
|
|
|
(require 'lean-cmd)
|
|
|
|
|
|
|
|
(ert-deftest lean-test-cmd-get ()
|
|
|
|
"Test lean-cmd-*-get-*"
|
|
|
|
(should (string= (lean-cmd-load-get-file-name (lean-cmd-load "nat.lean"))
|
|
|
|
"nat.lean"))
|
|
|
|
(should (string= (lean-cmd-visit-get-file-name (lean-cmd-visit "nat.lean"))
|
|
|
|
"nat.lean"))
|
|
|
|
(should (string=
|
|
|
|
(lean-cmd-load-get-file-name (lean-cmd-load "library/standard/bool.lean"))
|
|
|
|
"library/standard/bool.lean"))
|
|
|
|
(should (string=
|
|
|
|
(lean-cmd-load-get-file-name (lean-cmd-load "~/work/lean/basic.lean"))
|
|
|
|
"~/work/lean/basic.lean"))
|
|
|
|
(should (string=
|
|
|
|
(lean-cmd-visit-get-file-name (lean-cmd-visit "library/standard/bool.lean"))
|
|
|
|
"library/standard/bool.lean"))
|
|
|
|
(should (string=
|
|
|
|
(lean-cmd-visit-get-file-name (lean-cmd-visit "~/work/lean/basic.lean"))
|
|
|
|
"~/work/lean/basic.lean"))
|
|
|
|
(should (= (lean-cmd-replace-get-line-number
|
|
|
|
(lean-cmd-replace 34 "∀ (n : nat), ne (succ n) zero"))
|
|
|
|
34))
|
|
|
|
(should (string= (lean-cmd-replace-get-line
|
|
|
|
(lean-cmd-replace 34 "∀ (n : nat), ne (succ n) zero"))
|
|
|
|
"∀ (n : nat), ne (succ n) zero"))
|
|
|
|
(should (= (lean-cmd-insert-get-line-number
|
|
|
|
(lean-cmd-insert 34 "∀ (n : nat), ne (succ n) zero"))
|
|
|
|
34))
|
|
|
|
(should (string= (lean-cmd-insert-get-line
|
|
|
|
(lean-cmd-insert 34 "∀ (n : nat), ne (succ n) zero"))
|
|
|
|
"∀ (n : nat), ne (succ n) zero"))
|
|
|
|
(should (= (lean-cmd-insert-get-line-number (lean-cmd-remove 34))
|
|
|
|
34))
|
|
|
|
(should (= (lean-cmd-info-get-line-number (lean-cmd-info 34))
|
|
|
|
34))
|
|
|
|
(should (= (lean-cmd-info-get-column-number (lean-cmd-info 34 11))
|
|
|
|
11))
|
|
|
|
(should (= (lean-cmd-check-get-line-number
|
|
|
|
(lean-cmd-check 34 "∀ (n : nat), ne (succ n) zero"))
|
|
|
|
34))
|
|
|
|
(should (string= (lean-cmd-check-get-line
|
|
|
|
(lean-cmd-replace 34 "∀ (n : nat), ne (succ n) zero"))
|
|
|
|
"∀ (n : nat), ne (succ n) zero"))
|
|
|
|
(should (string= (lean-cmd-set-get-option-name
|
|
|
|
(lean-cmd-set "pp.implicit" "true"))
|
|
|
|
"pp.implicit"))
|
|
|
|
(should (string= (lean-cmd-set-get-option-value
|
|
|
|
(lean-cmd-set "pp.implicit" "true"))
|
|
|
|
"true"))
|
|
|
|
(should (string= (lean-cmd-eval-get-lean-cmd
|
|
|
|
(lean-cmd-eval "print 3"))
|
|
|
|
"print 3"))
|
|
|
|
(should (= (lean-cmd-findp-get-line-number
|
|
|
|
(lean-cmd-findp 10 "iff_"))
|
|
|
|
10))
|
|
|
|
(should (string= (lean-cmd-findp-get-prefix
|
|
|
|
(lean-cmd-findp 10 "iff_"))
|
|
|
|
"iff_"))
|
|
|
|
|
|
|
|
(should (= (lean-cmd-findg-get-line-number
|
|
|
|
(lean-cmd-findg 48 10 "+intro -and -elim"))
|
|
|
|
48))
|
|
|
|
(should (= (lean-cmd-findg-get-column-number
|
|
|
|
(lean-cmd-findg 48 10 "+intro -and -elim"))
|
|
|
|
10))
|
|
|
|
(should (string= (lean-cmd-findg-get-patterns
|
|
|
|
(lean-cmd-findg 48 10 "+intro -and -elim"))
|
2014-10-03 00:29:01 +00:00
|
|
|
"+intro -and -elim"))
|
|
|
|
|
|
|
|
|
|
|
|
(should (= (lean-cmd-sync-get-num-lines
|
|
|
|
(lean-cmd-sync '("line 1"
|
|
|
|
"line 2"
|
|
|
|
"line 3")))
|
|
|
|
3))
|
|
|
|
(should (equal (lean-cmd-sync-get-lines
|
|
|
|
(lean-cmd-sync '("line 1"
|
|
|
|
"line 2"
|
|
|
|
"line 3")))
|
|
|
|
'("line 1"
|
|
|
|
"line 2"
|
|
|
|
"line 3"))))
|
2014-09-11 19:29:32 +00:00
|
|
|
|
|
|
|
(ert-deftest lean-test-cmd-to-string ()
|
|
|
|
"Test lean-cmd-to-string"
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-load "~/work/lean/basic.lean"))
|
|
|
|
(concat "LOAD " (expand-file-name "~/work/lean/basic.lean"))))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-visit "~/work/lean/basic.lean"))
|
|
|
|
(concat "VISIT " (expand-file-name "~/work/lean/basic.lean"))))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-replace 42 "∀ (n : nat), ne (succ n) zero"))
|
|
|
|
(concat "REPLACE 42" "\n" "∀ (n : nat), ne (succ n) zero")))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-insert 42 "∀ (n : nat), ne (succ n) zero"))
|
|
|
|
(concat "INSERT 42" "\n" "∀ (n : nat), ne (succ n) zero")))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-remove 42))
|
|
|
|
(concat "REMOVE 42")))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-info 42))
|
|
|
|
(concat "INFO 42")))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-info 42 11))
|
|
|
|
(concat "INFO 42 11")))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-check 42 "∀ (n : nat), ne (succ n) zero"))
|
|
|
|
(concat "CHECK 42" "\n" "∀ (n : nat), ne (succ n) zero")))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-set "pp.implicit" "true"))
|
|
|
|
(concat "SET" "\n" "pp.implicit true" )))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-eval "check 3"))
|
|
|
|
(concat "EVAL" "\n" "check 3" )))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-options))
|
|
|
|
(concat "OPTIONS")))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-clear-cache))
|
|
|
|
(concat "CLEAR_CACHE")))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-show))
|
|
|
|
(concat "SHOW")))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-valid))
|
|
|
|
(concat "VALID")))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-findp 42 "iff_"))
|
|
|
|
(concat "FINDP 42" "\n" "iff_")))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-findg 48 10 "+intro -and -elim"))
|
|
|
|
(concat "FINDG 48 10" "\n" "+intro -and -elim")))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-wait))
|
2014-10-03 00:29:01 +00:00
|
|
|
(concat "WAIT")))
|
|
|
|
(should (string= (lean-cmd-to-string (lean-cmd-sync '("line 1"
|
|
|
|
"line 2"
|
|
|
|
"line 3")))
|
|
|
|
(concat "SYNC 3\n"
|
|
|
|
"line 1\n"
|
|
|
|
"line 2\n"
|
|
|
|
"line 3"))))
|