示例#1
0
    def test_clone(self):
        store = Storage(filename=self.filename, template=self.template_snapshot, mode='w')
        assert(os.path.isfile(self.filename))

        copy = self.template_snapshot.copy()
        store.save(copy)

        store.save(self.traj)

        store.clone(filename=self.filename_clone, subset = self.solute_indices)

        # clone the storage and reduce the number of atoms to only solute

        store2 = Storage(filename=self.filename_clone, mode='a')

        # do some tests, if this is still the same data

        compare_snapshot(
            store2.snapshots.load(0),
            store.snapshots.load(0).subset(self.solute_indices)
        )

        compare_snapshot(
            store2.snapshots.load(1),
            store.snapshots.load(1).subset(self.solute_indices)
        )
        store.close()
        store2.close()

        pass
示例#2
0
    def test_clone_empty(self):
        store = Storage(filename=self.filename, template=self.template_snapshot, mode='w')
        assert(os.path.isfile(self.filename))

        copy = self.template_snapshot.copy()
        store.save(copy)

        store.save(self.traj)
        store.clone_empty(filename=self.filename_clone)

        # clone the storage and reduce the number of atoms to only solute

        store2 = Storage(filename=self.filename_clone, mode='a')

        # do some tests, if this is still the same data

        compare_snapshot(
            store2.snapshots.load(0),
            store.snapshots.load(0)
        )

        # check if the reversed copy also works
        compare_snapshot(
            store2.snapshots.load(1),
            store.snapshots.load(1)
        )

        assert_equal(len(store2.snapshots), 2)
        assert_equal(len(store2.trajectories), 0)

        store.close()
        store2.close()

        pass
示例#3
0
    def test_clone(self):
        store = Storage(filename=self.filename, template=self.template_snapshot, mode='w')
        assert(os.path.isfile(self.filename))

        copy = self.template_snapshot.copy()
        store.save(copy)

        store.save(self.traj)

        store.clone(filename=self.filename_clone, subset = self.solute_indices)

        # clone the storage and reduce the number of atoms to only solute

        store2 = Storage(filename=self.filename_clone, mode='a')

        # do some tests, if this is still the same data

        compare_snapshot(
            store2.snapshots.load(0),
            store.snapshots.load(0).subset(self.solute_indices)
        )

        compare_snapshot(
            store2.snapshots.load(1),
            store.snapshots.load(1).subset(self.solute_indices)
        )
        store.close()
        store2.close()

        pass
示例#4
0
    def test_clone_empty(self):
        store = Storage(filename=self.filename, template=self.template_snapshot, mode='w')
        assert(os.path.isfile(self.filename))

        copy = self.template_snapshot.copy()
        store.save(copy)

        store.save(self.traj)
        store.clone_empty(filename=self.filename_clone)

        # clone the storage and reduce the number of atoms to only solute

        store2 = Storage(filename=self.filename_clone, mode='a')

        # do some tests, if this is still the same data

        compare_snapshot(
            store2.snapshots.load(0),
            store.snapshots.load(0)
        )

        # check if the reversed copy also works
        compare_snapshot(
            store2.snapshots.load(1),
            store.snapshots.load(1)
        )

        assert_equal(len(store2.snapshots), 2)
        assert_equal(len(store2.trajectories), 0)

        store.close()
        store2.close()

        pass
示例#5
0
    def test_load_save_uuid(self):
        store = Storage(filename=self.filename, mode='w')
        assert (os.path.isfile(self.filename))

        store.save(self.template_snapshot)
        store.close()

        store = Storage(filename=self.filename, mode='a')
        loaded_template = store.snapshots[self.template_snapshot.__uuid__]
        loaded_r = store.snapshots[self.template_snapshot.reversed.__uuid__]

        compare_snapshot(loaded_template, self.template_snapshot, True)
        compare_snapshot(loaded_template.reversed,
                         self.template_snapshot.reversed, True)
        compare_snapshot(loaded_r, self.template_snapshot.reversed)

        store.close()
示例#6
0
    def test_load_save_toy(self):
        store = Storage(filename=self.filename, mode='w')
        assert (os.path.isfile(self.filename))

        store.save(self.toy_template)

        store.close()

        store = Storage(filename=self.filename, mode='a')
        loaded_template = store.snapshots[0]
        loaded_r = store.snapshots[1]

        compare_snapshot(loaded_template, self.toy_template, True)
        compare_snapshot(loaded_template.reversed, self.toy_template.reversed,
                         True)
        compare_snapshot(loaded_r, self.toy_template.reversed)

        store.close()
示例#7
0
    def test_load_save(self):
        store = Storage(filename=self.filename, template=self.template_snapshot, mode='w')
        assert(os.path.isfile(self.filename))

        copy = self.template_snapshot.copy()
        store.save(copy)

        store.close()

        store = Storage(filename=self.filename, mode='a')
        loaded_template = store.template

        compare_snapshot(loaded_template, self.template_snapshot)
        loaded_copy = store.load(Snapshot, 1)

        compare_snapshot(loaded_template, loaded_copy)

        store.close()
示例#8
0
    def test_load_save_uuid(self):
        store = Storage(filename=self.filename, mode='w')
        assert(os.path.isfile(self.filename))

        store.save(self.template_snapshot)
        store.close()

        store = Storage(filename=self.filename, mode='a')
        loaded_template = store.snapshots[self.template_snapshot.__uuid__]
        loaded_r = store.snapshots[self.template_snapshot.reversed.__uuid__]

        compare_snapshot(loaded_template, self.template_snapshot, True)
        compare_snapshot(
            loaded_template.reversed,
            self.template_snapshot.reversed, True)
        compare_snapshot(loaded_r, self.template_snapshot.reversed)

        store.close()
示例#9
0
    def test_load_save(self):
        store = Storage(filename=self.filename, template=self.template_snapshot, mode='w')
        assert(os.path.isfile(self.filename))

        copy = self.template_snapshot.copy()
        store.save(copy)

        store.close()

        store = Storage(filename=self.filename, mode='a')
        loaded_template = store.template

        compare_snapshot(loaded_template, self.template_snapshot)
        loaded_copy = store.load(Snapshot, 1)

        compare_snapshot(loaded_template, loaded_copy)

        store.close()
示例#10
0
    def test_load_save_toy(self):
        store = Storage(filename=self.filename, mode='w', use_uuid=False)
        assert(os.path.isfile(self.filename))

        store.save(self.toy_template)

        store.close()

        store = Storage(filename=self.filename, mode='a')
        loaded_template = store.snapshots[0]
        loaded_r = store.snapshots[1]

        compare_snapshot(loaded_template, self.toy_template, True)
        compare_snapshot(
            loaded_template.reversed,
            self.toy_template.reversed, True)
        compare_snapshot(loaded_r, self.toy_template.reversed)

        store.close()
示例#11
0
    def test_load_save(self):
        for use_uuid in [True, False]:
            store = Storage(filename=self.filename, mode='w', use_uuid=use_uuid)
            assert(os.path.isfile(self.filename))

            store.save(self.template_snapshot)
            store.close()

            store = Storage(filename=self.filename, mode='a')
            loaded_template = store.snapshots[0]
            loaded_r = store.snapshots[1]

            compare_snapshot(loaded_template, self.template_snapshot, True)
            compare_snapshot(
                loaded_template.reversed,
                self.template_snapshot.reversed, True)
            compare_snapshot(loaded_r, self.template_snapshot.reversed)

            store.close()
    def test_proxy(self):
        for use_uuid in [True, False]:
            store = Storage(filename=self.filename,
                            mode='w',
                            use_uuid=use_uuid)
            assert (os.path.isfile(self.filename))

            tm = self.template_snapshot

            store.save(tm)

            px = store.snapshots.proxy(0)

            # make sure that the proxy and
            assert (hash(px) == hash(tm))
            assert (px == tm)

            store.snapshots.cache.clear()
            s0 = store.snapshots[0]

            assert (hash(px) == hash(s0))
            assert (px == s0)

            compare_snapshot(px, tm)
            compare_snapshot(s0, tm)

            px = store.snapshots.proxy(0)

            # make sure that after reloading it still works
            assert (hash(px) == hash(tm))
            assert (px == tm)

            store.close()

            store = Storage(filename=self.filename, mode='a')

            s1 = store.snapshots[0]

            store.close()

            # when loading only for uuid based storages you get the same id
            assert ((hash(px) == hash(s1)) is use_uuid)
            assert ((px == s1) is use_uuid)
    def test_load_save(self):
        for use_uuid in [True, False]:
            store = Storage(filename=self.filename,
                            mode='w',
                            use_uuid=use_uuid)
            assert (os.path.isfile(self.filename))

            store.save(self.template_snapshot)
            store.close()

            store = Storage(filename=self.filename, mode='a')
            loaded_template = store.snapshots[0]
            loaded_r = store.snapshots[1]

            compare_snapshot(loaded_template, self.template_snapshot, True)
            compare_snapshot(loaded_template.reversed,
                             self.template_snapshot.reversed, True)
            compare_snapshot(loaded_r, self.template_snapshot.reversed)

            store.close()
示例#14
0
    def test_proxy(self):
        for use_uuid in [True, False]:
            store = Storage(filename=self.filename, mode='w', use_uuid=use_uuid)
            assert(os.path.isfile(self.filename))

            tm = self.template_snapshot

            store.save(tm)

            px = store.snapshots.proxy(0)

            # make sure that the proxy and
            assert(hash(px) == hash(tm))
            assert(px == tm)

            store.snapshots.cache.clear()
            s0 = store.snapshots[0]

            assert(hash(px) == hash(s0))
            assert(px == s0)

            compare_snapshot(px, tm)
            compare_snapshot(s0, tm)

            px = store.snapshots.proxy(0)

            # make sure that after reloading it still works
            assert(hash(px) == hash(tm))
            assert(px == tm)

            store.close()

            store = Storage(filename=self.filename, mode='a')

            s1 = store.snapshots[0]

            store.close()

            # when loading only for uuid based storages you get the same id
            assert((hash(px) == hash(s1)) is use_uuid)
            assert((px == s1) is use_uuid)