From 659c4440918e2e1c68cf388e9d9c7eb3e83eb4d7 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Sat, 7 Nov 2020 14:14:44 +0100 Subject: Adds more unit tests. --- data/unit-testing/cond.fate | 179 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 data/unit-testing/cond.fate (limited to 'data/unit-testing/cond.fate') diff --git a/data/unit-testing/cond.fate b/data/unit-testing/cond.fate new file mode 100644 index 0000000..0eae815 --- /dev/null +++ b/data/unit-testing/cond.fate @@ -0,0 +1,179 @@ +(fate_version 1) + +(global string test_name) + +(set test_name ( COND )) + +(global bool test) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;; INSTRUCTION ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(cond + ((false) + (assert (false) [FAILED] (var test_name) Reached dead code 0.) + ) +) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(set test (false)) + +(cond + ((true) + (set test (true)) + ) +) + +(assert test [FAILED] (var test_name) Ignored correct branch 0.) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(set test (false)) + +(cond + ((false) + (assert (false) [FAILED] (var test_name) Reached dead code 1.) + ) + ((false) + (assert (false) [FAILED] (var test_name) Reached dead code 2.) + ) + ((true) + (set test (true)) + ) + ((false) + (assert (false) [FAILED] (var test_name) Reached dead code 3.) + ) +) + +(assert test [FAILED] (var test_name) Ignored correct branch 1.) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(set test (false)) + +(cond + ((false) + (assert (false) [FAILED] (var test_name) Reached dead code 4.) + ) + ((false) + (assert (false) [FAILED] (var test_name) Reached dead code 5.) + ) + ((true) + (set test (true)) + ) + ((true) + (assert (false) [FAILED] (var test_name) Reached dead code 6.) + ) + ((false) + (assert (false) [FAILED] (var test_name) Reached dead code 7.) + ) +) + +(assert test [FAILED] (var test_name) Ignored correct branch 2.) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(set test (false)) + +(cond + ((false) + (assert (false) [FAILED] (var test_name) Reached dead code 8.) + ) + ((false) + (assert (false) [FAILED] (var test_name) Reached dead code 9.) + ) + ((true) + (set test (true)) + ) + ((true) + (assert (false) [FAILED] (var test_name) Reached dead code 10.) + ) +) + +(assert test [FAILED] (var test_name) Ignored correct branch 3.) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(set test (false)) + +(cond + ((false) + (cond + ((true) + (assert (false) [FAILED] (var test_name) Reached dead code 11.) + ) + ) + ) + ((false) + (cond + ((true) + (assert (false) [FAILED] (var test_name) Reached dead code 12.) + ) + ) + ) + ((true) + (cond + ((true) + (set test (true)) + ) + ((false) + (assert (false) [FAILED] (var test_name) Reached dead code 13.) + ) + ) + ) + ((true) + (cond + ((true) + (assert (false) [FAILED] (var test_name) Reached dead code 14.) + ) + ) + ) +) + +(assert test [FAILED] (var test_name) Ignored correct branch 4.) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;; COMPUTATION ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(assert + (cond ((false) (true))) + [FAILED] (var test_name) Questionable default value. +) + +(assert + (cond ((true) (true))) + [FAILED] (var test_name) Simple computation test 0. +) + +(assert + (cond + ((false) (true)) + ((true) (true)) + ) + [FAILED] (var test_name) Simple computation test 1. +) + +(assert + (cond + ((true) (true)) + ((false) (true)) + ) + [FAILED] (var test_name) Simple computation test 2. +) + +(assert + (cond + ( + (cond + ((false) (false)) + ((false) (false)) + ((true) (true)) + ((true) (false)) + ) + (true) + ) + ((false) (true)) + ) + [FAILED] (var test_name) Obtuse computation test. +) + +[COMPLETED] (var test_name) + +(end) -- cgit v1.2.3-70-g09d2