summaryrefslogtreecommitdiffstatshomepage
path: root/tests
diff options
context:
space:
mode:
authorJohn R. Lenton <jlenton@gmail.com>2014-01-11 12:39:33 +0000
committerJohn R. Lenton <jlenton@gmail.com>2014-01-11 12:39:33 +0000
commitc1bef21920d7fa03484647f2c339f53663fe0180 (patch)
tree859bd2c4a8c4cc40e53ce2403328a889abe072ac /tests
parentcf11c961b4d602c8b77f7d67aa976cf3fbb026b5 (diff)
downloadmicropython-c1bef21920d7fa03484647f2c339f53663fe0180.tar.gz
micropython-c1bef21920d7fa03484647f2c339f53663fe0180.zip
Implemented support for `in` and `not in` operators.
Diffstat (limited to 'tests')
-rwxr-xr-xtests/basics/run-tests3
-rw-r--r--tests/basics/tests/containment.py23
2 files changed, 26 insertions, 0 deletions
diff --git a/tests/basics/run-tests b/tests/basics/run-tests
index 0c3995da15..bc2969ae3d 100755
--- a/tests/basics/run-tests
+++ b/tests/basics/run-tests
@@ -42,4 +42,7 @@ echo "$numpassed tests passed"
if [[ $numfailed != 0 ]]
then
echo "$numfailed tests failed -$namefailed"
+ exit 1
+else
+ exit 0
fi
diff --git a/tests/basics/tests/containment.py b/tests/basics/tests/containment.py
new file mode 100644
index 0000000000..84d40b4e8f
--- /dev/null
+++ b/tests/basics/tests/containment.py
@@ -0,0 +1,23 @@
+for i in 1, 2:
+ for o in {1:2}, {1}, {1:2}.keys():
+ print("{} in {}: {}".format(i, o, i in o))
+ print("{} not in {}: {}".format(i, o, i not in o))
+
+haystack = "supercalifragilistc"
+for needle in (haystack[i:] for i in range(len(haystack))):
+ print(needle, "in", haystack, "::", needle in haystack)
+ print(needle, "not in", haystack, "::", needle not in haystack)
+ print(haystack, "in", needle, "::", haystack in needle)
+ print(haystack, "not in", needle, "::", haystack not in needle)
+for needle in (haystack[:i+1] for i in range(len(haystack))):
+ print(needle, "in", haystack, "::", needle in haystack)
+ print(needle, "not in", haystack, "::", needle not in haystack)
+ print(haystack, "in", needle, "::", haystack in needle)
+ print(haystack, "not in", needle, "::", haystack not in needle)
+
+# until here, the tests would work without the 'second attempt' iteration thing.
+
+for i in 1, 2:
+ for o in [], [1], [1, 2]:
+ print("{} in {}: {}".format(i, o, i in o))
+ print("{} not in {}: {}".format(i, o, i not in o))