From 4673fde605090320fbab227e56bb085eec97362a Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Sun, 10 Oct 2021 12:11:45 +0200 Subject: Add boolean primitives and more (better) tests --- examples/booleans.bdl | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 examples/booleans.bdl (limited to 'examples/booleans.bdl') diff --git a/examples/booleans.bdl b/examples/booleans.bdl new file mode 100644 index 0000000..d248bf8 --- /dev/null +++ b/examples/booleans.bdl @@ -0,0 +1,45 @@ +;; +;; Boolean primitives. +;; + +;; Boolean test. +(print "(boolean? true) -> ") (boolean? true) +(print "(boolean? false) -> ") (boolean? false) +(print "(boolean? 1) -> ") (boolean? 1) +(print "(boolean? 5) -> ") (boolean? 5) +(print "(boolean? \"string\") -> ") (boolean? "string") +(print "(boolean? (+ 1 2 3)) -> ") (boolean? (+ 1 2 3)) +(print "(boolean? (not 1)) -> ") (boolean? (not 1)) + +;; Not. +(print "(not true) -> ") (not true) +(print "(not false) -> ") (not false) +(print "(not (not true)) -> ") (not (not true)) +(print "(not (not false)) -> ") (not (not false)) +(print "(not 1) -> ") (not 1) +(print "(not (not 1)) -> ") (not (not 1)) +(print "(not \"string\") -> ") (not "string") +(print "(not (not \"string\")) -> ") (not (not "string")) + +;; And. +(print "(and 1 \"string\" 4 true) -> ") (and 1 "string" 4 true) +(print "(and true true true) -> ") (and true true true) +(print "(and (+ 1 2 3)) -> ") (and (+ 1 2 3)) +(print "(and false false false) -> ") (and false false false) +(print "(and true false false) -> ") (and true false false) +(print "(and false true false) -> ") (and false true false) +(print "(and false true true) -> ") (and false true true) +(print "(and (not false) true true) -> ") (and (not false) true true) + +;; Or. +(print "(or 1 \"string\" 4 true) -> ") (or 1 "string" 4 true) +(print "(or false 1) -> ") (or false 1) +(print "(or false \"string\") -> ") (or false "string") +(print "(or false) -> ") (or false) +(print "(or true true true) -> ") (or true true true) +(print "(or false false false) -> ") (or false false false) +(print "(or true false false) -> ") (or true false false) +(print "(or false true false) -> ") (or false true false) +(print "(or false true true) -> ") (or false true true) +(print "(or (not false) true true) -> ") (or (not false) true true) +(print "(or (not true) false) -> ") (or (not true) false) -- cgit v1.2.1