def test_error02(self): elem = create(StaCustom({"foo": 0, "bar": 1})) elem.append_updater(AddMap("foo", "bar", {0: 1})) self.check_error_msg("RuntimeError: Key 'bar' already exists", elem.get_data)
def test_error01(self): elem = create(StaCustom({"foo": 0, "bar": 1})) elem.append_updater(AddMap("dummy", "new", {1: 0})) self.check_error_msg("RuntimeError: Missing key(s) 'dummy' in AddMap", elem.get_data)
def test_positions(self): atoms = create(StaDumpAtoms("dumps_bead/bead.2990000.dump", 2990000)) atoms.append_updater(AddMap("type", "mass", {1: 147.28})) self._test_positions(atoms) atoms = create(StaDumpAtoms("dumps_atom/atom.0.dump", 0)) self._test_positions(atoms)
def test_nonarray(self): data_old = {"A": 1, "B": 2} data_new = {"A": 1, "B": 2, "C": 3} elem = create(StaCustom(data_old)) elem.append_updater(AddMap("A", "C", {1: 3, 2: 2, 3: 1})) self.assertEqual(data_new, elem.get_data()) self.assertEqual({"A", "B", "C"}, elem.get_keys())
def test_overwrite(self): data_old = [{"A": i, "B": i * i} for i in range(1000)] data_new = [{"A": i, "B": i % 3} for i in range(1000)] mapping = {i: i % 3 for i in range(1000)} elem = create(StaCustom(data_old)) elem.append_updater(AddMap("A", "B", mapping).overwrite()) self.assertEqual(data_new, elem.get_data()) self.assertEqual({"A", "B"}, elem.get_keys())