示例#1
0
    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])
示例#2
0
    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)
示例#3
0
    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])
示例#4
0
    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)
示例#5
0
    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)
示例#6
0
 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)
示例#7
0
    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)
示例#8
0
    def test_add_nameless_dataset(self):
        ps = Particles(None)
        ps.add([Particle(), Particle()])
        c = CUDS()

        self.assertRaises(TypeError, c.add, [ps])
示例#9
0
 def test_str(self):
     self.assertEqual(
         str(Particle()), "uid:None\ncoordinates:(0.0, 0.0, 0.0)\ndata:{}")
示例#10
0
 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)