summaryrefslogtreecommitdiffstatshomepage
path: root/tests
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-01-14 15:23:09 -0800
committerDamien George <damien.p.george@gmail.com>2014-01-14 15:23:09 -0800
commit66a5bf681def9404a624eba9235d024a104b2602 (patch)
tree055d871ff4ba92b7077e4534530859d6db41f9ac /tests
parent0f59203e37de155c3c7e3fadb35fd3b06cb75478 (diff)
parentf5a0a7d2b30d390f03dd0b6f8866ec619d2c5ee3 (diff)
downloadmicropython-66a5bf681def9404a624eba9235d024a104b2602.tar.gz
micropython-66a5bf681def9404a624eba9235d024a104b2602.zip
Merge pull request #142 from chipaca/containment
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))