def test_get_data_by_id(self):
dim, data, cpd, ids = self.gen_data()
node = undertest.Node(name='test node', data=data, cpd=cpd, ids=ids)
# test setting of ids
np.testing.assert_array_equal(node.ids, ids)
# test for one id
idx = np.random.randint(0, dim)
np.testing.assert_array_equal(node.get_data_by_id(ids[idx]).ravel(), node.data[idx])
# test for a random set of ids
ids_subset = np.random.choice(ids, dim, replace=True)
np.testing.assert_array_equal(node.get_data_by_id(ids_subset),
[node.data[np.flatnonzero(ids == x)[0]] for x in ids_subset])
# test for all ids
self.assertEqual(node.get_all_data_and_ids(), {x: node.get_data_by_id(x) for x in ids})
# test when data are singleton
dim, _, cpd, ids = self.gen_data(dim=1)
node = undertest.Node(name='test node', data=1, cpd=cpd, ids=ids)
self.assertEqual(node.get_all_data_and_ids(), {x: node.get_data_by_id(x) for x in ids})
评论列表
文章目录