diff --git a/bench/data_container_bench.py b/bench/data_container_bench.py index a5cc9db2..abd61168 100644 --- a/bench/data_container_bench.py +++ b/bench/data_container_bench.py @@ -6,9 +6,9 @@ from simphony.core.data_container import DataContainer from simphony.core.cuba import CUBA -dict_data = {key: key + 3 for key in CUBA} +dict_data = {key: 3 for key in CUBA} data_container = DataContainer(dict_data) -indices = [int(key) for key in CUBA] +indices = [key for key in CUBA] random.shuffle(indices) @@ -27,7 +27,7 @@ def getitem_access(data, indices): def setitem_with_CUBA_keys(data): for item in CUBA: - data[item] = int(item) + data[item] = str(item) return data diff --git a/bench/data_container_table_bench.py b/bench/data_container_table_bench.py index 37c276bf..46ced80d 100644 --- a/bench/data_container_table_bench.py +++ b/bench/data_container_table_bench.py @@ -23,8 +23,10 @@ dict_data = create_data_container() dict_data_half = create_data_container() -for i in range(min(CUBA), max(CUBA), 2): - del dict_data_half[CUBA(i)] +for i, cuba in enumerate(CUBA): + if i % 2: + continue + del dict_data_half[cuba] data_container = DataContainer(dict_data) data_container_half = DataContainer(dict_data_half) diff --git a/bench/indexed_data_container_table_bench.py b/bench/indexed_data_container_table_bench.py index 16e128d3..cfe655b8 100644 --- a/bench/indexed_data_container_table_bench.py +++ b/bench/indexed_data_container_table_bench.py @@ -22,8 +22,10 @@ dict_data = create_data_container() dict_data_half = create_data_container() -for i in range(min(CUBA), max(CUBA), 2): - del dict_data_half[CUBA(i)] +for i, cuba in enumerate(CUBA): + if i % 2: + continue + del dict_data_half[cuba] data_container = DataContainer(dict_data) data_container_half = DataContainer(dict_data_half) diff --git a/scripts/generate.py b/scripts/generate.py index 931ae720..291a757b 100644 --- a/scripts/generate.py +++ b/scripts/generate.py @@ -8,7 +8,7 @@ from collections import OrderedDict, MutableSequence from contextlib import contextmanager -from itertools import chain, count +from itertools import chain import click import yaml @@ -991,22 +991,20 @@ def cuba_enum(cuba_input, cuds_input, output): '# code auto-generated by the\n', '# simphony-metadata/scripts/generate.py script.\n', '# cuba.yml VERSION: {}\n'.format(keywords['VERSION']), - 'from enum import IntEnum, unique\n', + 'from enum import Enum, unique\n', '\n', '\n', '@unique\n', - 'class CUBA(IntEnum):\n', + 'class CUBA(Enum):\n', '\n'] - template = " {} = {}\n" - - counter = count(1) + template = ' {} = "{}"\n' all_keys = set(keywords['CUBA_KEYS']) | set(metadata['CUDS_KEYS']) for keyword in all_keys: if keyword in CUBA_DATA_CONTAINER_EXCLUDE: continue - lines.append(template.format(keyword, counter.next())) + lines.append(template.format(keyword, keyword)) output.writelines(lines) diff --git a/simphony/core/cuba.py b/simphony/core/cuba.py index 9a579927..312e857a 100644 --- a/simphony/core/cuba.py +++ b/simphony/core/cuba.py @@ -1,224 +1,224 @@ # code auto-generated by the # simphony-metadata/scripts/generate.py script. # cuba.yml VERSION: 1.0 -from enum import IntEnum, unique +from enum import Enum, unique @unique -class CUBA(IntEnum): +class CUBA(Enum): - ENGINE = 1 - BOX = 2 - BOND_TYPE = 3 - INTEGRATION_TIME = 4 - RHOMBOHEDRAL_LATTICE = 5 - PATCH = 6 - THERMAL_MODEL = 7 - NUMBER_OF_TIME_STEPS = 8 - EXTERNAL_FORCING = 9 - POTENTIAL_ENERGY = 10 - MOMENT_INERTIA = 11 - TIME_STEP = 12 - DIFFUSION_COEFFICIENT = 13 - DIFFUSION_VELOCITY = 14 - DIRECTION = 15 - FREE_SURFACE_MODEL = 16 - FORCE = 17 - INITIAL_VISCOSITY = 18 - SPH = 19 - MONOCLINIC_LATTICE = 20 - FLOW_TYPE = 21 - VAN_DER_WAALS_RADIUS = 22 - SYMMETRY_LATTICE_VECTORS = 23 - CONDITION = 24 - FVM = 25 - FULL = 26 - HOMOGENIZED_STRESS_TENSOR = 27 - CROSS_POWER_LAW_MODEL = 28 - EXTERNAL_APPLIED_FORCE = 29 - ENERGY = 30 - MATERIAL_RELATION = 31 - CURRENT = 32 - PRESSURE = 33 - SHAPE_LENGTH_UC = 34 - VERSION = 35 - POSITION = 36 - COHESION_ENERGY_DENSITY = 37 - ANGULAR_VELOCITY = 38 - BODY_CENTERED_ORTHORHOMBIC_LATTICE = 39 - STRAIN_TENSOR = 40 - MINIMUM_VISCOSITY = 41 - LATTICE_SPACING = 42 - UUID = 43 - LATTICE_VECTORS = 44 - POWER_LAW_VISCOSITY_MODEL = 45 - DELTA_DISPLACEMENT = 46 - CHARGE = 47 - SHAPE_SIDE = 48 - DIELECTRIC_CONSTANT = 49 - CONCENTRATION = 50 - ENERGY_WELL_DEPTH = 51 - CUDS_ITEM = 52 - INDEX = 53 - PROBABILITY_COEFFICIENT = 54 - TURBULENCE_MODEL = 55 - COULOMB = 56 - SHAPE_RADIUS = 57 - VISCOSITY = 58 - LABEL = 59 - VOLUME = 60 - YOUNG_MODULUS = 61 - FRICTION_COEFFICIENT = 62 - DEM = 63 - SCALING_COEFFICIENT = 64 - SMOOTHING_LENGTH = 65 - EMPTY = 66 - ORDER_PARAMETER = 67 - ACCELERATION = 68 - NUMBER_OF_POINTS = 69 - NONE = 70 - SPHERICITY = 71 - RHEOLOGY_MODEL = 72 - PRIMITIVE_CELL = 73 - CHARGE_DENSITY = 74 - VELOCITY = 75 - CHEMICAL_SPECIE = 76 - SIMULATION_DOMAIN_DIMENSIONS = 77 - TEMPERATURE = 78 - COUPLING_TIME = 79 - DYNAMIC_PRESSURE = 80 - PHYSICS_EQUATION = 81 - TORQUE = 82 - VOLUME_FRACTION_GRADIENT = 83 - OCCUPANCY = 84 - ATOMISTIC = 85 - ELECTRON_MASS = 86 - INTERATOMIC_POTENTIAL = 87 - INTEGRATION_STEP = 88 - INCOMPRESSIBLE_FLUID_MODEL = 89 - BASE_CENTERED_MONOCLINIC_LATTICE = 90 - LENNARD_JONES_6_12 = 91 - MINOR = 92 - SIZE = 93 - NEUMANN = 94 - EQUATION_OF_STATE_COEFFICIENT = 95 - LINEAR_CONSTANT = 96 - NOSE_HOOVER = 97 - COMPUTATIONAL_MODEL = 98 - ROLLING_FRICTION = 99 - SJKR_COHESION_FORCE = 100 - BIRD_CARREAU_MODEL = 101 - STRESS_TENSOR = 102 - COMPUTATIONAL_METHOD = 103 - REFERENCE_DENSITY = 104 - CUTOFF_DISTANCE = 105 - BOUNDARY = 106 - SHAPE_CENTER = 107 - ANGULAR_ACCELERATION = 108 - KS_DFT = 109 - SURFACE_TENSION_RELATION = 110 - ELECTROSTATIC_FIELD = 111 - MESOSCOPIC = 112 - MODEL_EQUATION = 113 - LATTICE = 114 - HEAT_CONDUCTIVITY = 115 - TETRAGONAL_LATTICE = 116 - CUBIC_LATTICE = 117 - ELECTRONIC = 118 - THERMOSTAT = 119 - NODE = 120 - POINT = 121 - FACE_CENTERED_CUBIC_LATTICE = 122 - ENGINE_FEATURE = 123 - PAIR_POTENTIAL = 124 - BASE_CENTERED_ORTHORHOMBIC_LATTICE = 125 - LAMINAR_FLOW_MODEL = 126 - POWER_LAW_INDEX = 127 - FLUX = 128 - MASS = 129 - HEXAGONAL_LATTICE = 130 - RELATIVE_VELOCITY = 131 - CRYSTAL_STORAGE = 132 - MOMENTUM = 133 - BOND = 134 - ORIGIN = 135 - ORTHORHOMBIC_LATTICE = 136 - SHAPE_LENGTH = 137 - MATERIAL = 138 - DENSITY = 139 - MATERIAL_TYPE = 140 - SOLVER_PARAMETER = 141 - FREE = 142 - GRAVITY_MODEL = 143 - RADIUS = 144 - PARTICLE = 145 - BOND_LABEL = 146 - AMPHIPHILICITY = 147 - NEWTONIAN_FLUID_MODEL = 148 - CONTACT_ANGLE = 149 - MAJOR = 150 - NAME = 151 - EULER_ANGLES = 152 - VERLET = 153 - FINAL = 154 - THERMODYNAMIC_ENSEMBLE = 155 - ELECTRIC_FIELD = 156 - VECTOR = 157 - TRICLINIC_LATTICE = 158 - BERENDSEN = 159 - DISTRIBUTION = 160 - MESH_ELEMENT = 161 - SIMULATION_DOMAIN_ORIGIN = 162 - BASIS = 163 - SINGLE_PHASE_MODEL = 164 - RESTITUTION_COEFFICIENT = 165 - COLLISION_OPERATOR = 166 - DEBYE_LENGTH = 167 - PARTICLES = 168 - CONSTANT_ELECTROSTATIC_FIELD_MODEL = 169 - POISSON_RATIO = 170 - GRANULAR_DYNAMICS = 171 - SOFTWARE_TOOL = 172 - MOLECULAR_DYNAMICS = 173 - CUDS_COMPONENT = 174 - NAME_UC = 175 - TEMPERATURE_RESCALING = 176 - BODY_CENTERED_TETRAGONAL_LATTICE = 177 - HERSCHEL_BULKLEY_MODEL = 178 - HAMAKER_CONSTANT = 179 - ION_VALENCE_EFFECT = 180 - CELL = 181 - DISSIPATION_FORCE = 182 - PERIODIC = 183 - MIXTURE_MODEL = 184 - MAXIMUM_VISCOSITY = 185 - BODY_CENTERED_CUBIC_LATTICE = 186 - ZETA_POTENTIAL = 187 - STATUS = 188 - ORIGINAL_POSITION = 189 - FEM = 190 - COULOMB_FRICTION_FORCE = 191 - CONTINUUM = 192 - DATA_SET = 193 - TIME = 194 - COMPRESSIBILITY_MODEL = 195 - MESH = 196 - ATOM = 197 - VARIABLE = 198 - DYNAMIC_VISCOSITY = 199 - DIRICHLET = 200 - FACE_CENTERED_ORTHORHOMBIC_LATTICE = 201 - MOLECULAR_STATICS = 202 - DESCRIPTION = 203 - ISOTHERMAL_MODEL = 204 - CFD = 205 - KINEMATIC_VISCOSITY = 206 - BRAVAIS_LATTICE = 207 - FACE = 208 - ELECTROSTATIC_MODEL = 209 - PHASE_INTERACTION_STRENGTH = 210 - EDGE = 211 - VOLUME_FRACTION = 212 - SURFACE_TENSION = 213 - RELAXATION_TIME = 214 - MULTIPHASE_MODEL = 215 + ENGINE = "ENGINE" + BOX = "BOX" + BOND_TYPE = "BOND_TYPE" + INTEGRATION_TIME = "INTEGRATION_TIME" + RHOMBOHEDRAL_LATTICE = "RHOMBOHEDRAL_LATTICE" + PATCH = "PATCH" + THERMAL_MODEL = "THERMAL_MODEL" + NUMBER_OF_TIME_STEPS = "NUMBER_OF_TIME_STEPS" + EXTERNAL_FORCING = "EXTERNAL_FORCING" + POTENTIAL_ENERGY = "POTENTIAL_ENERGY" + MOMENT_INERTIA = "MOMENT_INERTIA" + TIME_STEP = "TIME_STEP" + DIFFUSION_COEFFICIENT = "DIFFUSION_COEFFICIENT" + DIFFUSION_VELOCITY = "DIFFUSION_VELOCITY" + DIRECTION = "DIRECTION" + FREE_SURFACE_MODEL = "FREE_SURFACE_MODEL" + FORCE = "FORCE" + INITIAL_VISCOSITY = "INITIAL_VISCOSITY" + SPH = "SPH" + MONOCLINIC_LATTICE = "MONOCLINIC_LATTICE" + FLOW_TYPE = "FLOW_TYPE" + VAN_DER_WAALS_RADIUS = "VAN_DER_WAALS_RADIUS" + SYMMETRY_LATTICE_VECTORS = "SYMMETRY_LATTICE_VECTORS" + CONDITION = "CONDITION" + FVM = "FVM" + FULL = "FULL" + HOMOGENIZED_STRESS_TENSOR = "HOMOGENIZED_STRESS_TENSOR" + CROSS_POWER_LAW_MODEL = "CROSS_POWER_LAW_MODEL" + EXTERNAL_APPLIED_FORCE = "EXTERNAL_APPLIED_FORCE" + ENERGY = "ENERGY" + MATERIAL_RELATION = "MATERIAL_RELATION" + CURRENT = "CURRENT" + PRESSURE = "PRESSURE" + SHAPE_LENGTH_UC = "SHAPE_LENGTH_UC" + VERSION = "VERSION" + POSITION = "POSITION" + COHESION_ENERGY_DENSITY = "COHESION_ENERGY_DENSITY" + ANGULAR_VELOCITY = "ANGULAR_VELOCITY" + BODY_CENTERED_ORTHORHOMBIC_LATTICE = "BODY_CENTERED_ORTHORHOMBIC_LATTICE" + STRAIN_TENSOR = "STRAIN_TENSOR" + MINIMUM_VISCOSITY = "MINIMUM_VISCOSITY" + LATTICE_SPACING = "LATTICE_SPACING" + UUID = "UUID" + LATTICE_VECTORS = "LATTICE_VECTORS" + POWER_LAW_VISCOSITY_MODEL = "POWER_LAW_VISCOSITY_MODEL" + DELTA_DISPLACEMENT = "DELTA_DISPLACEMENT" + CHARGE = "CHARGE" + SHAPE_SIDE = "SHAPE_SIDE" + DIELECTRIC_CONSTANT = "DIELECTRIC_CONSTANT" + CONCENTRATION = "CONCENTRATION" + ENERGY_WELL_DEPTH = "ENERGY_WELL_DEPTH" + CUDS_ITEM = "CUDS_ITEM" + INDEX = "INDEX" + PROBABILITY_COEFFICIENT = "PROBABILITY_COEFFICIENT" + TURBULENCE_MODEL = "TURBULENCE_MODEL" + COULOMB = "COULOMB" + SHAPE_RADIUS = "SHAPE_RADIUS" + VISCOSITY = "VISCOSITY" + LABEL = "LABEL" + VOLUME = "VOLUME" + YOUNG_MODULUS = "YOUNG_MODULUS" + FRICTION_COEFFICIENT = "FRICTION_COEFFICIENT" + DEM = "DEM" + SCALING_COEFFICIENT = "SCALING_COEFFICIENT" + SMOOTHING_LENGTH = "SMOOTHING_LENGTH" + EMPTY = "EMPTY" + ORDER_PARAMETER = "ORDER_PARAMETER" + ACCELERATION = "ACCELERATION" + NUMBER_OF_POINTS = "NUMBER_OF_POINTS" + NONE = "NONE" + SPHERICITY = "SPHERICITY" + RHEOLOGY_MODEL = "RHEOLOGY_MODEL" + PRIMITIVE_CELL = "PRIMITIVE_CELL" + CHARGE_DENSITY = "CHARGE_DENSITY" + VELOCITY = "VELOCITY" + CHEMICAL_SPECIE = "CHEMICAL_SPECIE" + SIMULATION_DOMAIN_DIMENSIONS = "SIMULATION_DOMAIN_DIMENSIONS" + TEMPERATURE = "TEMPERATURE" + COUPLING_TIME = "COUPLING_TIME" + DYNAMIC_PRESSURE = "DYNAMIC_PRESSURE" + PHYSICS_EQUATION = "PHYSICS_EQUATION" + TORQUE = "TORQUE" + VOLUME_FRACTION_GRADIENT = "VOLUME_FRACTION_GRADIENT" + OCCUPANCY = "OCCUPANCY" + ATOMISTIC = "ATOMISTIC" + ELECTRON_MASS = "ELECTRON_MASS" + INTERATOMIC_POTENTIAL = "INTERATOMIC_POTENTIAL" + INTEGRATION_STEP = "INTEGRATION_STEP" + INCOMPRESSIBLE_FLUID_MODEL = "INCOMPRESSIBLE_FLUID_MODEL" + BASE_CENTERED_MONOCLINIC_LATTICE = "BASE_CENTERED_MONOCLINIC_LATTICE" + LENNARD_JONES_6_12 = "LENNARD_JONES_6_12" + MINOR = "MINOR" + SIZE = "SIZE" + NEUMANN = "NEUMANN" + EQUATION_OF_STATE_COEFFICIENT = "EQUATION_OF_STATE_COEFFICIENT" + LINEAR_CONSTANT = "LINEAR_CONSTANT" + NOSE_HOOVER = "NOSE_HOOVER" + COMPUTATIONAL_MODEL = "COMPUTATIONAL_MODEL" + ROLLING_FRICTION = "ROLLING_FRICTION" + SJKR_COHESION_FORCE = "SJKR_COHESION_FORCE" + BIRD_CARREAU_MODEL = "BIRD_CARREAU_MODEL" + STRESS_TENSOR = "STRESS_TENSOR" + COMPUTATIONAL_METHOD = "COMPUTATIONAL_METHOD" + REFERENCE_DENSITY = "REFERENCE_DENSITY" + CUTOFF_DISTANCE = "CUTOFF_DISTANCE" + BOUNDARY = "BOUNDARY" + SHAPE_CENTER = "SHAPE_CENTER" + ANGULAR_ACCELERATION = "ANGULAR_ACCELERATION" + KS_DFT = "KS_DFT" + SURFACE_TENSION_RELATION = "SURFACE_TENSION_RELATION" + ELECTROSTATIC_FIELD = "ELECTROSTATIC_FIELD" + MESOSCOPIC = "MESOSCOPIC" + MODEL_EQUATION = "MODEL_EQUATION" + LATTICE = "LATTICE" + HEAT_CONDUCTIVITY = "HEAT_CONDUCTIVITY" + TETRAGONAL_LATTICE = "TETRAGONAL_LATTICE" + CUBIC_LATTICE = "CUBIC_LATTICE" + ELECTRONIC = "ELECTRONIC" + THERMOSTAT = "THERMOSTAT" + NODE = "NODE" + POINT = "POINT" + FACE_CENTERED_CUBIC_LATTICE = "FACE_CENTERED_CUBIC_LATTICE" + ENGINE_FEATURE = "ENGINE_FEATURE" + PAIR_POTENTIAL = "PAIR_POTENTIAL" + BASE_CENTERED_ORTHORHOMBIC_LATTICE = "BASE_CENTERED_ORTHORHOMBIC_LATTICE" + LAMINAR_FLOW_MODEL = "LAMINAR_FLOW_MODEL" + POWER_LAW_INDEX = "POWER_LAW_INDEX" + FLUX = "FLUX" + MASS = "MASS" + HEXAGONAL_LATTICE = "HEXAGONAL_LATTICE" + RELATIVE_VELOCITY = "RELATIVE_VELOCITY" + CRYSTAL_STORAGE = "CRYSTAL_STORAGE" + MOMENTUM = "MOMENTUM" + BOND = "BOND" + ORIGIN = "ORIGIN" + ORTHORHOMBIC_LATTICE = "ORTHORHOMBIC_LATTICE" + SHAPE_LENGTH = "SHAPE_LENGTH" + MATERIAL = "MATERIAL" + DENSITY = "DENSITY" + MATERIAL_TYPE = "MATERIAL_TYPE" + SOLVER_PARAMETER = "SOLVER_PARAMETER" + FREE = "FREE" + GRAVITY_MODEL = "GRAVITY_MODEL" + RADIUS = "RADIUS" + PARTICLE = "PARTICLE" + BOND_LABEL = "BOND_LABEL" + AMPHIPHILICITY = "AMPHIPHILICITY" + NEWTONIAN_FLUID_MODEL = "NEWTONIAN_FLUID_MODEL" + CONTACT_ANGLE = "CONTACT_ANGLE" + MAJOR = "MAJOR" + NAME = "NAME" + EULER_ANGLES = "EULER_ANGLES" + VERLET = "VERLET" + FINAL = "FINAL" + THERMODYNAMIC_ENSEMBLE = "THERMODYNAMIC_ENSEMBLE" + ELECTRIC_FIELD = "ELECTRIC_FIELD" + VECTOR = "VECTOR" + TRICLINIC_LATTICE = "TRICLINIC_LATTICE" + BERENDSEN = "BERENDSEN" + DISTRIBUTION = "DISTRIBUTION" + MESH_ELEMENT = "MESH_ELEMENT" + SIMULATION_DOMAIN_ORIGIN = "SIMULATION_DOMAIN_ORIGIN" + BASIS = "BASIS" + SINGLE_PHASE_MODEL = "SINGLE_PHASE_MODEL" + RESTITUTION_COEFFICIENT = "RESTITUTION_COEFFICIENT" + COLLISION_OPERATOR = "COLLISION_OPERATOR" + DEBYE_LENGTH = "DEBYE_LENGTH" + PARTICLES = "PARTICLES" + CONSTANT_ELECTROSTATIC_FIELD_MODEL = "CONSTANT_ELECTROSTATIC_FIELD_MODEL" + POISSON_RATIO = "POISSON_RATIO" + GRANULAR_DYNAMICS = "GRANULAR_DYNAMICS" + SOFTWARE_TOOL = "SOFTWARE_TOOL" + MOLECULAR_DYNAMICS = "MOLECULAR_DYNAMICS" + CUDS_COMPONENT = "CUDS_COMPONENT" + NAME_UC = "NAME_UC" + TEMPERATURE_RESCALING = "TEMPERATURE_RESCALING" + BODY_CENTERED_TETRAGONAL_LATTICE = "BODY_CENTERED_TETRAGONAL_LATTICE" + HERSCHEL_BULKLEY_MODEL = "HERSCHEL_BULKLEY_MODEL" + HAMAKER_CONSTANT = "HAMAKER_CONSTANT" + ION_VALENCE_EFFECT = "ION_VALENCE_EFFECT" + CELL = "CELL" + DISSIPATION_FORCE = "DISSIPATION_FORCE" + PERIODIC = "PERIODIC" + MIXTURE_MODEL = "MIXTURE_MODEL" + MAXIMUM_VISCOSITY = "MAXIMUM_VISCOSITY" + BODY_CENTERED_CUBIC_LATTICE = "BODY_CENTERED_CUBIC_LATTICE" + ZETA_POTENTIAL = "ZETA_POTENTIAL" + STATUS = "STATUS" + ORIGINAL_POSITION = "ORIGINAL_POSITION" + FEM = "FEM" + COULOMB_FRICTION_FORCE = "COULOMB_FRICTION_FORCE" + CONTINUUM = "CONTINUUM" + DATA_SET = "DATA_SET" + TIME = "TIME" + COMPRESSIBILITY_MODEL = "COMPRESSIBILITY_MODEL" + MESH = "MESH" + ATOM = "ATOM" + VARIABLE = "VARIABLE" + DYNAMIC_VISCOSITY = "DYNAMIC_VISCOSITY" + DIRICHLET = "DIRICHLET" + FACE_CENTERED_ORTHORHOMBIC_LATTICE = "FACE_CENTERED_ORTHORHOMBIC_LATTICE" + MOLECULAR_STATICS = "MOLECULAR_STATICS" + DESCRIPTION = "DESCRIPTION" + ISOTHERMAL_MODEL = "ISOTHERMAL_MODEL" + CFD = "CFD" + KINEMATIC_VISCOSITY = "KINEMATIC_VISCOSITY" + BRAVAIS_LATTICE = "BRAVAIS_LATTICE" + FACE = "FACE" + ELECTROSTATIC_MODEL = "ELECTROSTATIC_MODEL" + PHASE_INTERACTION_STRENGTH = "PHASE_INTERACTION_STRENGTH" + EDGE = "EDGE" + VOLUME_FRACTION = "VOLUME_FRACTION" + SURFACE_TENSION = "SURFACE_TENSION" + RELAXATION_TIME = "RELAXATION_TIME" + MULTIPHASE_MODEL = "MULTIPHASE_MODEL" diff --git a/simphony/core/tests/test_data_container.py b/simphony/core/tests/test_data_container.py index fded44ab..275df816 100644 --- a/simphony/core/tests/test_data_container.py +++ b/simphony/core/tests/test_data_container.py @@ -10,14 +10,14 @@ def setUp(self): self.maxDiff = None def test_initialization_with_a_dictionary(self): - data = {key: key + 3 for key in CUBA} + data = {key: 3 for key in CUBA} container = DataContainer(data) self.assertEqual(container, data) for key in container: self.assertIsInstance(key, CUBA) def test_initialization_with_a_iterable(self): - data = [(key, key + 3) for key in CUBA] + data = [(key, 3) for key in CUBA] container = DataContainer(data) for key, value in data: self.assertEqual(container[key], value) @@ -33,11 +33,11 @@ def test_initialization_with_keywords(self): def test_initialization_with_keywords_and_iterable(self): data = { - key: index + 3 for index, key in enumerate(CUBA.__members__) - if key != str(CUBA(10))[5:]} - container = DataContainer([(CUBA(10), 23)], **data) - expected = {key: index + 3 for index, key in enumerate(CUBA)} - expected[CUBA(10)] = 23 + key: 3 for index, key in enumerate(CUBA.__members__) + if key != str(CUBA("POTENTIAL_ENERGY"))[5:]} + container = DataContainer([(CUBA("POTENTIAL_ENERGY"), 23)], **data) + expected = {key: 3 for index, key in enumerate(CUBA)} + expected[CUBA("POTENTIAL_ENERGY")] = 23 self.assertDictEqual(container, expected) for key in container: self.assertIsInstance(key, CUBA) @@ -58,13 +58,13 @@ def test_initialization_with_multiple_arguments(self): with self.assertRaises(TypeError): DataContainer([('foo', 5)], 45) - def test_initialization_with_a_dictionary_of_ints(self): - data = {int(key): key + 3 for key in CUBA} + def test_initialization_with_a_dictionary_of_strings(self): + data = {str(key): 3 for key in CUBA} with self.assertRaises(ValueError): DataContainer(data) def test_initialization_with_generator(self): - generator = ((key, key + 3) for key in CUBA) + generator = ((key, 3) for key in CUBA) container = DataContainer(generator) self.assertEqual(len(container), len(CUBA)) @@ -75,21 +75,21 @@ def test_initialization_with_non_cuba_generator(self): def test_update_with_a_dictionary(self): container = DataContainer() - data = {key: key + 3 for key in CUBA} + data = {key: 3 for key in CUBA} container.update(data) self.assertEqual(container, data) for key in container: self.assertIsInstance(key, CUBA) - def test_update_with_a_dictionary_of_ints(self): + def test_update_with_a_dictionary_of_strings(self): container = DataContainer() - data = {int(key): key + 3 for key in CUBA} + data = {str(key): 3 for key in CUBA} with self.assertRaises(ValueError): container.update(data) def test_update_with_a_iterable(self): container = DataContainer() - data = [(key, key + 3) for key in CUBA] + data = [(key, 3) for key in CUBA] container.update(data) # Check that has all the values for key, value in data: @@ -108,12 +108,11 @@ def test_update_with_keywords(self): def test_update_with_keywords_and_iterable(self): container = DataContainer() data = { - key: index + 3 for index, key in enumerate(CUBA.__members__) - if key != str(CUBA(10))[5:]} - container.update([(CUBA(10), 23)], **data) + key: 3 for index, key in enumerate(CUBA.__members__) + if key != str(CUBA("POTENTIAL_ENERGY"))[5:]} + container.update([(CUBA("POTENTIAL_ENERGY"), 23)], **data) expected = {key: index + 3 for index, key in enumerate(CUBA)} - expected[CUBA(10)] = 23 - self.assertDictEqual(container, expected) + expected[CUBA("POTENTIAL_ENERGY")] = 23 for key in container: self.assertIsInstance(key, CUBA) @@ -139,9 +138,9 @@ def test_setitem_with_int_key(self): def test_setitem_with_cuba_key(self): container = DataContainer() - container[CUBA(10)] = 29 + container[CUBA("POTENTIAL_ENERGY")] = 29 self.assertIsInstance(container.keys()[0], CUBA) - self.assertEqual(container[CUBA(10)], 29) + self.assertEqual(container[CUBA("POTENTIAL_ENERGY")], 29) def test_setitem_with_non_cuba_key(self): container = DataContainer() diff --git a/simphony/testing/utils.py b/simphony/testing/utils.py index aff7e041..496ee999 100644 --- a/simphony/testing/utils.py +++ b/simphony/testing/utils.py @@ -356,10 +356,10 @@ def dummy_cuba_value(cuba, constant=None): shape = [random.randint(2, 10)] if shape == [1]: - return keyword.dtype(cuba+constant) + return keyword.dtype(constant) else: data = numpy.arange(numpy.prod(shape), - dtype=keyword.dtype)*(cuba+constant) + dtype=keyword.dtype)*constant return data.reshape(shape) elif keyword.dtype in (bool, numpy.bool): return bool(constant)