From 1fcb072e822e2a179df1a6aaec3db4279ae12123 Mon Sep 17 00:00:00 2001 From: Mehdi Sadeghi Date: Wed, 25 May 2016 15:49:19 +0200 Subject: [PATCH 1/2] Fix iter method of CUDS --- simphony/cuds/model.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/simphony/cuds/model.py b/simphony/cuds/model.py index a3968806..d06e1285 100644 --- a/simphony/cuds/model.py +++ b/simphony/cuds/model.py @@ -166,7 +166,13 @@ def iter(self, component_type): ------ iterator over the components of the given type """ - for component in self._store.itervalues(): + values = None + if issubclass(component_type, (ABCParticles, ABCLattice, ABCMesh)): + values = self._dataset_store.iter_datasets() + else: + values = self._store.itervalues() + + for component in values: if isinstance(component, component_type): yield component From ef367cf6ccf0914e8c9b0d58d35be89b8e3eac3d Mon Sep 17 00:00:00 2001 From: Mehdi Sadeghi Date: Wed, 25 May 2016 16:48:15 +0200 Subject: [PATCH 2/2] Fix CUDS.iter tests. --- simphony/cuds/tests/test_cuds.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/simphony/cuds/tests/test_cuds.py b/simphony/cuds/tests/test_cuds.py index 68f9a318..e628ec8e 100644 --- a/simphony/cuds/tests/test_cuds.py +++ b/simphony/cuds/tests/test_cuds.py @@ -89,7 +89,7 @@ def test_get_names(self): [self.dummpy_component1.name, self.dummpy_component2.name]) - def test_iter(self): + def test_iter_with_dataset(self): p1 = Particle() p2 = Particle() p3 = Particle() @@ -100,11 +100,26 @@ def test_iter(self): ps2.add_particles([p3, p4]) self.cuds.add(ps1) self.cuds.add(ps2) + + cuds_list = [] for item in self.cuds.iter(Particles): - self.assertIn(item, [ps1, ps2]) + cuds_list.append(item) + + self.assertTrue(len(cuds_list), 2) + + for cuds in cuds_list: + self.assertIsInstance(cuds, Particles) + self.assertIn(cuds, [ps1, ps2]) + def test_iter_with_component(self): self.cuds.add(self.dummpy_component1) self.cuds.add(self.dummpy_component2) + + component_list = [] for item in self.cuds.iter(type(self.dummpy_component1)): - self.assertIn(item, [self.dummpy_component1, - self.dummpy_component2]) + component_list.append(item) + + self.assertTrue(len(component_list), 2) + for cmp in component_list: + self.assertIn(cmp, [self.dummpy_component1, + self.dummpy_component2])