File tree Expand file tree Collapse file tree 10 files changed +144
-123
lines changed Expand file tree Collapse file tree 10 files changed +144
-123
lines changed Original file line number Diff line number Diff line change 1-
21name : CI
32
43on : [pull_request]
54
65jobs :
7- build :
6+ tests :
87 runs-on : ubuntu-latest
98 steps :
109 - uses : actions/checkout@v2
Original file line number Diff line number Diff line change @@ -29,10 +29,13 @@ docker-run: docker-build
2929 docker run --rm -it --network=host $(DOCKER_IMG )
3030
3131docker-check : docker-build
32- docker run --rm -t --entrypoint=ros $(DOCKER_IMG ) run -s lisp-inference/test - l run-test.lisp
32+ docker run --rm -t --entrypoint=ros $(DOCKER_IMG ) run -l run-test.lisp
3333
3434docker-publish : docker-build
3535 docker tag $(DOCKER_IMG ) $(PUBLIC_IMG )
3636 docker push $(PUBLIC_IMG )
3737
38+ deploy : docker-publish
39+ ssh starfox bash /home/lerax/Deploy/logic.sh
40+
3841.PHONY : check docker-build
Original file line number Diff line number Diff line change 3838 :pathname " web"
3939 :components ((:file " webapp" )))
4040
41- (asdf :defsystem # :lisp-inference/test
42- :description " Lisp Inference Test Suit "
41+ (asdf :defsystem # :lisp-inference/tests
42+ :description " Lisp Inference Tests "
4343 :author " Manoel Vilela <[email protected] >" 4444 :license " BSD"
4545 :version " 0.2.0"
4646 :serial t
4747 :pathname " t"
4848 :depends-on (:lisp-inference :rove )
49- :components ((:file " test" )))
49+ :components ((:file " tests" )
50+ (:file " test-equivalence-rules" )
51+ (:file " test-inference-rules" )
52+ (:file " test-infix-parsing" )
53+ (:file " test-pratt" ))
54+ :perform (test-op (o c)
55+ (symbol-call :rove :run c)))
Original file line number Diff line number Diff line change 11(load " fix-quicklisp" )
2- (ql :quickload :lisp-inference/test :silent t )
2+ (ql :quickload :lisp-inference/tests :silent t )
33(setf rove :*enable-colors* t )
4- (if (rove :run* " lisp-inference/test " )
4+ (if (rove :run : lisp-inference/tests )
55 (sb-ext :exit :code 0 )
66 (sb-ext :exit :code 1 ))
Original file line number Diff line number Diff line change 1+ (in-package # :lisp-inference/tests/test-equivalence-rules)
2+
3+ (deftest test-equivalence-rules
4+ (testing " == Equivalence rules!"
5+ (ok (equal (de-morgan ' (^ p q))
6+ ' (~ (v (~ p) (~ q))))
7+ " Equivalence: DE-MORGAN 1" )
8+ (ok (equal (de-morgan ' (~ (v p q)))
9+ ' (^ (~ p) (~ q)))
10+ " Equivalence: DE-MORGAN 2" )
11+
12+ (ok (equal (de-morgan ' (~ (^ (~ p) (~ q))))
13+ ' (v p q))
14+ " Equivalence: DE-MORGAN 3" )
15+
16+ (ok (equal (double-negation ' (~ (~ p)))
17+ ' p)
18+ " Equivalence: DOUBLE-NEGATION 1" )
19+
20+ (ok (equal (double-negation ' p)
21+ ' p)
22+ " Equivalence: DOUBLE-NEGATION 2" )))
Original file line number Diff line number Diff line change 1+ (in-package # :lisp-inference/tests/test-inference-rules)
2+
3+
4+ (deftest test-inference-rules
5+ (testing " == Inference rules!"
6+ (ok (equal (modus-ponens ' (^ (=> p q) p))
7+ ' q)
8+ " Inference: MODUS-PONENS" )
9+
10+ (ok (equal (modus-tollens ' (^ (=> p q) (~ p)))
11+ ' (~ q))
12+ " Inference: MODUS-TOLLENS" )
13+
14+ (ok (equal (syllogism-disjunctive ' (^ (v p q) (~ p)))
15+ ' q)
16+ " Inference: SYLLOGISM-DISJUNCTIVE" )
17+
18+ (ok (equal (syllogism-hypothetical ' (^ (=> x y) (=> y z)))
19+ ' (=> X Z))
20+ " Inference: SYLLOGISM-HYPOTHETICAL" )
21+
22+ (ok (equal (addiction ' p ' q)
23+ ' (v p q))
24+ " Inference: ADDICTION" )
25+
26+ (ok (equal (conjunction ' (=> p q) ' p)
27+ ' (^ (=> P Q) P))
28+ " Inference: CONJUNCTION" )
29+
30+ (ok (equal (absorption ' (=> r (^ x y)))
31+ ' (=> R (^ R (^ X Y))))
32+ " Inference: ABSORPTION" )
33+
34+ (ok (equal (simplification-first ' (^ p q))
35+ ' p)
36+ " Inference: SIMPLIFICATION FIRST" )
37+
38+ (ok (equal (simplification-second ' (^ r s))
39+ ' s)
40+ " Inference: SIMPLIFICATION SECOND" )))
Original file line number Diff line number Diff line change 1+ (in-package # :lisp-inference/tests/test-infix-parsing)
2+
3+ ; ; deprecated in favor of pratt parser
4+ (deftest test-infix-parsing
5+ (testing " == Infix Parsing"
6+ (ok (equal (infix-to-prefix ' (~ (p v q)))
7+ ' (~ (v p q))))
8+
9+ (ok (equal (infix-to-prefix ' (p => q))
10+ ' (=> p q)))
11+
12+ (ok (equal (infix-to-prefix ' ((p v q) <=> ((~ p) ^ (~ q))))
13+ ' (<=> (v p q)
14+ (^ (~ p)
15+ (~ q)))))))
Original file line number Diff line number Diff line change 1+ (in-package # :lisp-inference/tests/test-pratt)
2+
3+ (deftest test-pratt
4+ (testing " == Pratt Parser"
5+ (ok (equal (parse-logic " p v q" )
6+ ' (v p q)))
7+
8+ (ok (equal (parse-logic " (p v q)" )
9+ ' (v p q)))
10+
11+ (ok (equal (parse-logic " p => q ^ r" )
12+ ' (=> p (^ q r))))
13+
14+ (ok (equal (parse-logic " (p => q) ^ r" )
15+ ' (^ (=> p q) r)))
16+
17+ (ok (equal (parse-logic " p -> ~ q" )
18+ ' (-> p (~ q))))
19+
20+ (ok (equal (parse-logic " p [+] (r => s)" )
21+ ' ([+] p (=> r s))))
22+
23+ (ok (equal (parse-logic " ~p " )
24+ ' (~ p)))
25+ ))
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1+ (defpackage #:lisp-inference/tests/test-equivalence-rules
2+ (:use # :cl
3+ # :lisp-inference
4+ # :rove))
5+
6+ (defpackage #:lisp-inference/tests/test-inference-rules
7+ (:use # :cl
8+ # :lisp-inference
9+ # :rove))
10+
11+ (defpackage #:lisp-inference/tests/test-infix-parsing
12+ (:use # :cl
13+ # :lisp-inference
14+ # :rove))
15+
16+ (defpackage #:lisp-inference/tests/test-pratt
17+ (:use # :cl
18+ # :lisp-inference
19+ # :rove))
20+
21+ (defpackage #:lisp-inference/tests
22+ (:use # :cl)
23+ (:import-from # :lisp-inference/tests/test-equivalence-rules)
24+ (:import-from # :lisp-inference/tests/test-inference-rules)
25+ (:import-from # :lisp-inference/tests/test-infix-parsing)
26+ (:import-from # :lisp-inference/tests/test-pratt))
You can’t perform that action at this time.
0 commit comments