summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/dict_construct.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-06-03 12:53:44 +0100
committerDamien George <damien.p.george@gmail.com>2014-06-03 12:53:44 +0100
commitbcb6ca4d5e926d9571d150fb045c5ac4b53f8ecd (patch)
tree4d230743b401c641bf727adb013d7b5ca1336cdc /tests/basics/dict_construct.py
parent07995e947967b7159cf88c48c2f09463015c1d45 (diff)
downloadmicropython-bcb6ca4d5e926d9571d150fb045c5ac4b53f8ecd.tar.gz
micropython-bcb6ca4d5e926d9571d150fb045c5ac4b53f8ecd.zip
py: Implement full behaviour of dict.update(), and dict().
Add keyword args to dict.update(), and ability to take a dictionary as argument. dict() class constructor can now use dict.update() directly. This patch loses fast path for dict(other_dict), but is that really needed? Any anyway, this idiom will now re-hash the dictionary, so is arguably more memory efficient. Addresses issue #647.
Diffstat (limited to 'tests/basics/dict_construct.py')
-rw-r--r--tests/basics/dict_construct.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/basics/dict_construct.py b/tests/basics/dict_construct.py
new file mode 100644
index 0000000000..0035e9c0f9
--- /dev/null
+++ b/tests/basics/dict_construct.py
@@ -0,0 +1,16 @@
+# dict constructor
+
+d = dict()
+print(d)
+
+d = dict({1:2})
+print(d)
+
+d = dict(a=1)
+print(d)
+
+d = dict({1:2}, a=3)
+print(d[1], d['a'])
+
+d = dict([(1, 2)], a=3, b=4)
+print(d[1], d['a'], d['b'])