summaryrefslogtreecommitdiffstatshomepage
path: root/tests
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-02-27 22:22:04 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-03-03 11:42:53 +0800
commitd08fd6866462a4544a938773285b18ab4d7d0970 (patch)
treef6ec4fe0410dfa17e7e70d6a6e09419ec3fde700 /tests
parent61f9b1c6217d2371e01638354c852913e071fbea (diff)
downloadmicropython-d08fd6866462a4544a938773285b18ab4d7d0970.tar.gz
micropython-d08fd6866462a4544a938773285b18ab4d7d0970.zip
Add basic collections.namedtuple implementation.
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/namedtuple1.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/basics/namedtuple1.py b/tests/basics/namedtuple1.py
new file mode 100644
index 0000000000..331c7dec1f
--- /dev/null
+++ b/tests/basics/namedtuple1.py
@@ -0,0 +1,40 @@
+from collections import namedtuple
+
+T = namedtuple("Tup", "foo bar")
+# CPython prints fully qualified name, what we don't bother to do so far
+#print(T)
+t = T(1, 2)
+print(t)
+print(t.foo, t.bar)
+
+print(isinstance(t, tuple))
+
+try:
+ t[0] = 200
+except TypeError:
+ print("TypeError")
+try:
+ t.bar = 200
+except AttributeError:
+ print("AttribiteError")
+
+try:
+ t = T(1)
+except TypeError:
+ print("TypeError")
+
+try:
+ t = T(1, 2, 3)
+except TypeError:
+ print("TypeError")
+
+# Try comma field separator
+T2 = namedtuple("TupComma", "foo,bar")
+t = T2(1, 2)
+print(t)
+print(t.foo, t.bar)
+
+# Try list of fields
+# Not implemented so far
+#T3 = namedtuple("TupComma", ["foo", "bar"])
+#t = T3(1, 2)