def test_add_named_dataset(self): ps = Particles('my particles') ps.add([Particle(), Particle()]) c = CUDS() c.add([ps]) self.assertEqual(c.get_by_name(ps.name), ps) self.assertRaises(ValueError, c.add, [ps])
def test_remove_dataset(self): ps = Particles('my particles') ps.add([Particle(), Particle()]) c = CUDS() c.add([ps]) c.remove([ps.uid]) self.assertRaises(KeyError, c.get, ps.uid)
def test_iter_datasets_types(self): dataset = Particles('M1') dataset.add([Particle(), Particle()]) c = CUDS() c.add([dataset]) for ps in c.iter(item_type=CUBA.PARTICLES): self.assertIsInstance(ps, Particles) self.assertIn(ps, [dataset])
def test_compare_particles_equal(self): # given particle = Particle(uid=None, coordinates=(10.0, 0.0, 2.0), data=create_data_container()) reference = Particle(uid=None, coordinates=(10.0, 0.0, 2.0), data=create_data_container()) # this should pass without problems compare_particles(particle, reference, testcase=self)
def test_iter_datasets_dimention(self): ps1 = Particles('M1') ps2 = Particles('M2') ps1.add([Particle(), Particle()]) ps2.add([Particle(), Particle()]) c = CUDS() c.add([ps1]) c.add([ps2]) cuds_list = [] for component in c.iter(item_type=CUBA.PARTICLES): cuds_list.append(component) self.assertTrue(len(cuds_list), 2)
def test_simple_particle_custom(self): data = DataContainer() data[CUBA.RADIUS] = 3.0 particle = Particle([20.5, 30.5, 40.5], uuid.UUID(int=33), data) self.assertIsInstance(particle, Particle) self.assertEqual(particle.coordinates, (20.5, 30.5, 40.5)) self.assertEqual(particle.uid, uuid.UUID(int=33)) self.assertEqual(particle.data, data)
def test_compare_particles_not_equal(self): # given particle = Particle(uid=uuid.uuid4(), coordinates=(10.0, 0.0, 2.0), data=create_data_container()) reference = Particle(uid=uuid.uuid4(), coordinates=(10.0, 0.0, 2.0), data=create_data_container()) # when/then with self.assertRaises(AssertionError): compare_particles(particle, reference, testcase=self) # given particle = Particle(uid=reference.uid, coordinates=(340.0, 0.0, 2.0), data=create_data_container()) # when/then with self.assertRaises(AssertionError): compare_particles(particle, reference, testcase=self) # given particle = Particle(uid=reference.uid, coordinates=(10.0, 0.0, 2.0), data=DataContainer()) # when/then with self.assertRaises(AssertionError): compare_particles(particle, reference, testcase=self) # given particle = Particle() # when/then with self.assertRaises(AssertionError): compare_particles(particle, reference, testcase=self)
def test_add_nameless_dataset(self): ps = Particles(None) ps.add([Particle(), Particle()]) c = CUDS() self.assertRaises(TypeError, c.add, [ps])
def test_str(self): self.assertEqual( str(Particle()), "uid:None\ncoordinates:(0.0, 0.0, 0.0)\ndata:{}")
def test_simple_particle_default(self): particle = Particle() self.assertIsInstance(particle, Particle) self.assertEqual(particle.coordinates, (0, 0, 0)) self.assertEqual(particle.uid, None) self.assertEqual(particle.data, DataContainer())
import os import shutil import tempfile import uuid from .util import bench from simphony.io.h5_cuds import H5CUDS from simphony.cuds.particles import Particles from simphony.cuds.particles_items import Particle particles = [ Particle(coordinates=(0.0, 1.1, 2.2)) for i in range(10000)] id_particles = [ Particle( uid=uuid.uuid4(), coordinates=(0.0, 1.1, 2.2)) for i in range(10000)] def create_file_with_particles(): with Container() as pc: add_particles_to_container(pc) def create_file_with_id_particles(): with Container() as pc: add_id_particles_to_container(pc) def add_id_particles_to_container(particle_container): particle_container.add_particles(id_particles)