Ejemplo n.º 1
0
Archivo: utils_t.py Proyecto: ktf/DAS
 def test_cartesian_product(self):
     """Test cartesian product function"""
     list1 = [{'ds':1, 'site':2, 'admin':None, 'block':1}, 
              {'ds':1, 'site':1, 'admin':None, 'block':1},
              {'ds':2, 'site':1, 'admin':None, 'block':1},
              {'ds':2, 'site':1, 'admin':None, 'block':1},
             ]
     list2 = [{'ds':None, 'site':2, 'admin':'vk', 'block':''}, 
              {'ds':None, 'site':2, 'admin':'simon', 'block':''}, 
              {'ds':None, 'site':1,'admin':'pet', 'block':''}]
     res = cartesian_product(list1, list2)
     result = [i for i in res]
     result.sort()
     expect = [{'ds':1, 'site':2, 'admin':'vk', 'block':1},
               {'ds':1, 'site':2, 'admin':'simon', 'block':1},
               {'ds':1, 'site':1, 'admin':'pet', 'block':1},
               {'ds':2, 'site':1, 'admin':'pet', 'block':1},
               {'ds':2, 'site':1, 'admin':'pet', 'block':1},
              ]
     expect.sort()
     self.assertEqual(expect, result)
Ejemplo n.º 2
0
Archivo: utils_t.py Proyecto: ktf/DAS
    def testCartesianProduct(self):
        """
        Test cartesian product utility
        """
        dbs_set = [
        {
                'system' : 'dbs',
                'admin' : '',
                'block' : '123-123-100',
                'dataset' : '/a/b/c',
                'site' : 'T2',
        },

        {
                'system' : 'dbs',
                'admin' : '',
                'block' : '123-123-101',
                'dataset' : '/a/b/c',
                'site' : 'T2',
        },

        {
                'system' : 'dbs',
                'admin' : '',
                'block' : '123-123-102',
                'dataset' : '/e/d/f',
                'site' : 'T2',
        }
        ]

        # results from SiteDB
        sitedb_set = [
        {
                'system' : 'sitedb',
                'admin' : 'vk',
                'block' : '',
                'dataset' : '',
                'site' : 'T2',
        },
        {
                'system' : 'sitedb',
                'admin' : 'simon',
                'block' : '',
                'dataset' : '',
                'site' : 'T2',
        }
        ]

        # results from Phedex
        phedex_set = [
        {
                'system' : 'phedex',
                'admin' : '',
                'block' : '123-123-100',
                'dataset' : '',
                'site' : 'T2',
        },

        {
                'system' : 'phedex',
                'admin' : '',
                'block' : '123-123-102',
                'dataset' : '',
                'site' : 'T2',
        }
        ]
#        result = cartesian_product(dbs_set, sitedb_set, ['site'])
#        result = cartesian_product(result, phedex_set, ['block','site'])
        result = cartesian_product(dbs_set, sitedb_set)
        result = cartesian_product(result, phedex_set)
        resultlist = [res for res in result]
        resultlist.sort()
        expectlist = [
        {
                'system': 'dbs+sitedb+phedex', 
                'admin' : 'vk',
                'block': '123-123-100',
                'dataset': '/a/b/c', 
                'site': 'T2', 
        },
        {
                'system': 'dbs+sitedb+phedex', 
                'admin' : 'vk',
                'block': '123-123-102',
                'dataset': '/e/d/f', 
                'site': 'T2', 
        },
        {
                'system': 'dbs+sitedb+phedex', 
                'admin' : 'simon',
                'block': '123-123-100',
                'dataset': '/a/b/c', 
                'site': 'T2', 
        },
        {
                'system': 'dbs+sitedb+phedex', 
                'admin' : 'simon',
                'block': '123-123-102',
                'dataset': '/e/d/f', 
                'site': 'T2', 
        }
        ]
        expectlist.sort()
        self.assertEqual(expectlist, resultlist)
Ejemplo n.º 3
0
    def testCartesianProduct(self):
        """
        Test cartesian product utility
        """
        dbs_set = [{
            'system': 'dbs',
            'admin': '',
            'block': '123-123-100',
            'dataset': '/a/b/c',
            'site': 'T2',
        }, {
            'system': 'dbs',
            'admin': '',
            'block': '123-123-101',
            'dataset': '/a/b/c',
            'site': 'T2',
        }, {
            'system': 'dbs',
            'admin': '',
            'block': '123-123-102',
            'dataset': '/e/d/f',
            'site': 'T2',
        }]

        # results from SiteDB
        sitedb_set = [{
            'system': 'sitedb',
            'admin': 'vk',
            'block': '',
            'dataset': '',
            'site': 'T2',
        }, {
            'system': 'sitedb',
            'admin': 'simon',
            'block': '',
            'dataset': '',
            'site': 'T2',
        }]

        # results from Phedex
        phedex_set = [{
            'system': 'phedex',
            'admin': '',
            'block': '123-123-100',
            'dataset': '',
            'site': 'T2',
        }, {
            'system': 'phedex',
            'admin': '',
            'block': '123-123-102',
            'dataset': '',
            'site': 'T2',
        }]
        result = cartesian_product(dbs_set, sitedb_set)
        result = cartesian_product(result, phedex_set)
        resultlist = [res for res in result]
        expectlist = [{
            'system': 'dbs+sitedb+phedex',
            'admin': 'vk',
            'block': '123-123-100',
            'dataset': '/a/b/c',
            'site': 'T2',
        }, {
            'system': 'dbs+sitedb+phedex',
            'admin': 'vk',
            'block': '123-123-102',
            'dataset': '/e/d/f',
            'site': 'T2',
        }, {
            'system': 'dbs+sitedb+phedex',
            'admin': 'simon',
            'block': '123-123-100',
            'dataset': '/a/b/c',
            'site': 'T2',
        }, {
            'system': 'dbs+sitedb+phedex',
            'admin': 'simon',
            'block': '123-123-102',
            'dataset': '/e/d/f',
            'site': 'T2',
        }]
        for x in resultlist:
            self.assertEqual(x in expectlist, True)
Ejemplo n.º 4
0
 def test_cartesian_product(self):
     """Test cartesian product function"""
     list1 = [
         {
             'ds': 1,
             'site': 2,
             'admin': None,
             'block': 1
         },
         {
             'ds': 1,
             'site': 1,
             'admin': None,
             'block': 1
         },
         {
             'ds': 2,
             'site': 1,
             'admin': None,
             'block': 1
         },
         {
             'ds': 2,
             'site': 1,
             'admin': None,
             'block': 1
         },
     ]
     list2 = [{
         'ds': None,
         'site': 2,
         'admin': 'vk',
         'block': ''
     }, {
         'ds': None,
         'site': 2,
         'admin': 'simon',
         'block': ''
     }, {
         'ds': None,
         'site': 1,
         'admin': 'pet',
         'block': ''
     }]
     res = cartesian_product(list1, list2)
     result = [i for i in res]
     expect = [
         {
             'ds': 1,
             'site': 2,
             'admin': 'vk',
             'block': 1
         },
         {
             'ds': 1,
             'site': 2,
             'admin': 'simon',
             'block': 1
         },
         {
             'ds': 1,
             'site': 1,
             'admin': 'pet',
             'block': 1
         },
         {
             'ds': 2,
             'site': 1,
             'admin': 'pet',
             'block': 1
         },
         {
             'ds': 2,
             'site': 1,
             'admin': 'pet',
             'block': 1
         },
     ]
     for x in result:
         self.assertEqual(x in expect, True)