summaryrefslogtreecommitdiff
path: root/testsuite.py
diff options
context:
space:
mode:
authorUlf Magnusson <ulfalizer@gmail.com>2012-12-14 15:08:31 +0100
committerUlf Magnusson <ulfalizer@gmail.com>2012-12-14 15:08:31 +0100
commit471a37eb6099be19f0ecda6525da07c46b6656d4 (patch)
treef449079a56bfae5a31f8f1cc61ce4aa5273b331c /testsuite.py
parente2a2d7f62b36f60c90f3b858b27f5f25b1691944 (diff)
Add selftests for tristate comparisons.
Diffstat (limited to 'testsuite.py')
-rw-r--r--testsuite.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/testsuite.py b/testsuite.py
index e7be164..3913eb7 100644
--- a/testsuite.py
+++ b/testsuite.py
@@ -121,6 +121,38 @@ def run_selftests():
print "Running selftests...\n"
+ print "Testing tristate comparisons..."
+
+ def verify_truth_table(comp_fn, *bools):
+ bools_list = list(bools)
+ for (x, y) in (("n", "n"), ("n", "m"), ("n", "y"),
+ ("m", "n"), ("m", "m"), ("m", "y"),
+ ("y", "n"), ("y", "m"), ("y", "y")):
+ expected = bools_list.pop(0)
+ verify(comp_fn(x, y) == expected,
+ "Expected {0} on ('{1}', '{2}') to be {3}".
+ format(comp_fn, x, y, expected))
+
+ verify_truth_table(kconfiglib.tri_less,
+ False, True, True,
+ False, False, True,
+ False, False, False)
+
+ verify_truth_table(kconfiglib.tri_less_eq,
+ True, True, True,
+ False, True, True,
+ False, False, True)
+
+ verify_truth_table(kconfiglib.tri_greater,
+ False, False, False,
+ True, False, False,
+ True, True, False)
+
+ verify_truth_table(kconfiglib.tri_greater_eq,
+ True, False, False,
+ True, True, False,
+ True, True, True)
+
print "Testing is_modifiable() and range queries..."
#