Skip to content

Commit 78c3c72

Browse files
Re-enable test involving assigning to a struct.
1 parent 9add30d commit 78c3c72

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

dynd/nd/test/test_array_setitem.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import sys
22
import unittest
3+
from collections import OrderedDict as odict
34
from dynd import nd, ndt
45

56
@unittest.skip('Test disabled since callables were reworked')
@@ -27,20 +28,24 @@ def test_strided_dim(self):
2728
# a[4] = 101.0 + 0j
2829
# self.assertEqual(nd.as_py(a[4]), 101)
2930

30-
"""
31-
Todo: Fix this test when structs can assign to named tuples.
32-
31+
# Todo: Add to this test when structs can assign to named tuples.
3332
def test_assign_to_struct(self):
3433
value = [(8, u'world', 4.5), (16, u'!', 8.75)]
3534
# Assign list of tuples
3635
a = nd.empty('2 * { i : int32, msg : string, price : float64 }')
3736
a[:] = value
38-
self.assertEqual(nd.as_py(a), value)
37+
keys = ['i', 'msg', 'price']
38+
out_val = [{key:val for key, val in zip(keys, val_row)}
39+
for val_row in value]
40+
self.assertEqual(nd.as_py(a), out_val)
3941
# Assign iterator of tuples
4042
a = nd.empty('2 * { i : int32, msg : string, price : float64 }')
4143
a[:] = iter(value)
42-
self.assertEqual(nd.as_py(a, tuple=True), value)
43-
"""
44+
self.assertEqual(nd.as_py(a), out_val)
45+
# Assign a list of OrderedDicts
46+
a = nd.empty('2 * { i : int32, msg : string, price : float64 }')
47+
a[:] = odict([zip(keys, vals) for vals in value])
48+
self.assertEqual(nd.as_py(a), out_val)
4449

4550
if __name__ == '__main__':
4651
unittest.main(verbosity=2)

0 commit comments

Comments
 (0)