Exemple #1
0
 def test_get_dir_rel(self):
     rdir_helper = Rdir(self.fnames)
     rdir = rdir_helper.get_dir('/tmp/test_Rdir0.root:/dirc/dird/dire')
     if rdir.cd():
         self.assertTrue(rdir_helper.get_dir('../../'))
         self.assertTrue(rdir_helper.get_dir('../../../'))
     else:
         self.fail(msg='Prep for Rdir.get_dir() with relative path failed')
Exemple #2
0
    def test_ls_names(self):
        rdir_helper = Rdir(self.fnames)
        keys_t = rdir_helper.ls_names('/tmp/test_Rdir0.root:/hist0')
        keys_r = [rdir_helper.files[0].GetKey('hist0').GetName()]
        self.assertListEqual(keys_r, keys_t)

        keys_t = rdir_helper.ls_names('/tmp/test_Rdir1.root')
        keys_r = [k.GetName() for k in rdir_helper.files[1].GetListOfKeys()]
        self.assertListEqual(keys_r, keys_t)
Exemple #3
0
 def test_get_dir_full(self):
     rdir_helper = Rdir(self.fnames)
     self.assertTrue(rdir_helper.get_dir('/tmp/test_Rdir1.root:/dira'))
     self.assertTrue(rdir_helper.get_dir('/tmp/test_Rdir1.root:'))
     self.assertTrue(rdir_helper.get_dir('/tmp/test_Rdir1.root'))
     # not a directory
     self.assertFalse(
         rdir_helper.get_dir('/tmp/test_Rdir1.root:/dira/hista'))
     # non-existent
     self.assertFalse(rdir_helper.get_dir('/tmp/test_Rdir1.root:/boohoo'))
Exemple #4
0
    def test_read(self):
        from functools import reduce
        rdir_helper = Rdir(self.fnames)
        objs_t = rdir_helper.read('/tmp/test_Rdir1.root')
        objs_r = [k.ReadObj() for k in rdir_helper.files[1].GetListOfKeys()]
        # self.assertListEqual(objs_r, objs_t) # doesn't work'
        res = map(lambda i, j: i.GetName() == j.GetName(), objs_t, objs_r)
        self.assertTrue(reduce(lambda i, j: i and j, res),
                        msg='Keys do not match')

        objs_t = rdir_helper.read('/tmp/test_Rdir1.root', metainfo=True)
        res = map(lambda o: o.file == '/tmp/test_Rdir1.root', objs_t)
        self.assertTrue(reduce(lambda i, j: i and j, res))
Exemple #5
0
    def test_ls_full(self):
        from functools import reduce
        rdir_helper = Rdir(self.fnames)

        keys_t = rdir_helper.ls('/tmp/test_Rdir0.root:/dirb')
        keys_r = rdir_helper.files[0].GetDirectory('/dirb').GetListOfKeys()
        res = map(lambda i, j: i.GetName() == j.GetName(), keys_t, keys_r)
        self.assertTrue(reduce(lambda i, j: i and j, res),
                        msg='Keys do not match')

        # FIXME: change files to see if any effects show up, need better test
        keys_t = rdir_helper.ls('/tmp/test_Rdir1.root')
        keys_r = rdir_helper.files[1].GetListOfKeys()
        res = map(lambda i, j: i.GetName() == j.GetName(), keys_t, keys_r)
        self.assertTrue(reduce(lambda i, j: i and j, res),
                        msg='Keys do not match')
Exemple #6
0
    def test_ls_rel(self):
        from functools import reduce
        rdir_helper = Rdir(self.fnames)
        rdir = rdir_helper.get_dir('/tmp/test_Rdir0.root:/dirc/dird/dire')
        if rdir.cd():
            keys_t = rdir_helper.ls('../../')
            keys_r = rdir.GetDirectory('../../').GetListOfKeys()
            res = map(lambda i, j: i.GetName() == j.GetName(), keys_t, keys_r)
            self.assertTrue(reduce(lambda i, j: i and j, res),
                            msg='Keys do not match')

            keys_t = rdir_helper.ls('../../../')
            keys_r = rdir.GetDirectory('../../../').GetListOfKeys()
            res = map(lambda i, j: i.GetName() == j.GetName(), keys_t, keys_r)
            self.assertTrue(reduce(lambda i, j: i and j, res),
                            msg='Keys do not match')
        else:
            self.fail(msg='Prep for Rdir.ls() with relative path failed')
Exemple #7
0
    def test_filter(self):
        rdir_helper = Rdir(self.fnames)
        keys_t = [
            k for k in rdir_helper.ls('/tmp/test_Rdir0.root:',
                                      robj_t=ROOT.TDirectoryFile)
        ]
        keys_r = [
            k for k in rdir_helper.files[0].GetListOfKeys()
            if ROOT.TClass.GetClass(k.GetClassName()).InheritsFrom(
                ROOT.TDirectoryFile.Class())
        ]
        self.assertListEqual(keys_r, keys_t)

        keys_t = [
            k for k in rdir_helper.ls(
                '/tmp/test_Rdir0.root:',
                robj_p=lambda k: k.GetName().find('hist') >= 0)
        ]
        keys_r = [
            k for k in rdir_helper.files[0].GetListOfKeys()
            if k.GetName().find('hist') >= 0
        ]
        self.assertListEqual(keys_r, keys_t)
Exemple #8
0
 def add_files(self, files):
     self.rdir_helper = Rdir(files)
Exemple #9
0
 def test_init(self):
     self.assertTrue(Rdir(self.fnames))
     self.assertRaises(TypeError, Rdir, self.rfiles)