diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-02-27 22:22:04 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-03-03 11:42:53 +0800 |
commit | d08fd6866462a4544a938773285b18ab4d7d0970 (patch) | |
tree | f6ec4fe0410dfa17e7e70d6a6e09419ec3fde700 /tests | |
parent | 61f9b1c6217d2371e01638354c852913e071fbea (diff) | |
download | micropython-d08fd6866462a4544a938773285b18ab4d7d0970.tar.gz micropython-d08fd6866462a4544a938773285b18ab4d7d0970.zip |
Add basic collections.namedtuple implementation.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/basics/namedtuple1.py | 40 |
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) |