summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/class-contains.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-06-10 23:07:56 +0100
committerDamien George <damien.p.george@gmail.com>2014-06-10 23:07:56 +0100
commit58cbb4d661ee40af5ef2b6a6a7f15b1b2ee5b4e5 (patch)
tree924c497329cff6482fdf3829dedd5ecda232b9dd /tests/basics/class-contains.py
parent62f7ba7a815f34fb49967e925ac28ea340a46777 (diff)
downloadmicropython-58cbb4d661ee40af5ef2b6a6a7f15b1b2ee5b4e5.tar.gz
micropython-58cbb4d661ee40af5ef2b6a6a7f15b1b2ee5b4e5.zip
py: Implement __contains__ special method.
Diffstat (limited to 'tests/basics/class-contains.py')
-rw-r--r--tests/basics/class-contains.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/basics/class-contains.py b/tests/basics/class-contains.py
new file mode 100644
index 0000000000..b6dd3661cd
--- /dev/null
+++ b/tests/basics/class-contains.py
@@ -0,0 +1,23 @@
+# A contains everything
+class A:
+ def __contains__(self, key):
+ return True
+
+a = A()
+print(True in a)
+print(1 in a)
+print(() in a)
+
+# B contains given things
+class B:
+ def __init__(self, items):
+ self.items = items
+ def __contains__(self, key):
+ return key in self.items
+
+b = B([])
+print(1 in b)
+b = B([1, 2])
+print(1 in b)
+print(2 in b)
+print(3 in b)