summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/namedtuple1.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics/namedtuple1.py')
-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)