aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/fun-defargs2.py13
-rw-r--r--tests/basics/namedtuple1.py46
2 files changed, 59 insertions, 0 deletions
diff --git a/tests/basics/fun-defargs2.py b/tests/basics/fun-defargs2.py
new file mode 100644
index 000000000..c9090a3cd
--- /dev/null
+++ b/tests/basics/fun-defargs2.py
@@ -0,0 +1,13 @@
+# overriding default arguments
+
+def foo(a, b=3):
+ print(a, b)
+
+# override with positional
+foo(1, 333)
+
+# override with keyword
+foo(1, b=333)
+
+# override with keyword
+foo(a=2, b=333)
diff --git a/tests/basics/namedtuple1.py b/tests/basics/namedtuple1.py
new file mode 100644
index 000000000..1e194472f
--- /dev/null
+++ b/tests/basics/namedtuple1.py
@@ -0,0 +1,46 @@
+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[0], t[1])
+print(t.foo, t.bar)
+
+print(len(t))
+print(bool(t))
+print(t + t)
+print(t * 3)
+
+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)