Esempio n. 1
0
 def testComplexMatchBad(self):
     ''' Test matching scopes with complex locations and errors '''
     simple1 = Location('TS','a.b.c')
     simple2 = Location('TS','a.b.z')
     complex1 = Location('TC',"R-H-PS9")
     
     # Can't mix location types
     self.assertFalse(simple1.match(complex1)) 
                     
     # Can't use an invalid location component
     self.assertRaises(KeyError, simple1.match, simple2,'mom')        
Esempio n. 2
0
 def testComplexBadDefered(self): 
     ''' Test invalid complex locations with validation deferred '''
     cbad1 = Location('TZ', 'R-H')   
     self.assertEqual('TZ: R-H', str(cbad1)) 
     self.assertRaises(KeyError, cbad1.get_substitution_dict)
     self.assertRaises(KeyError, cbad1.get_comp_value, 'dummy')
     self.assertRaises(KeyError, cbad1.new_location_by_scope, 'dummy')
     self.assertEqual('TZ', cbad1.get_id())
     self.assertEqual('R-H', cbad1.get_location())
     cbad2 = Location('TZ', 'R-H')
     cbad3 = Location('TZ', 'R-I')
     self.assertTrue(cbad1 == cbad2)
     self.assertFalse(cbad1 == cbad3)
     self.assertTrue(cbad1.match(cbad2, None))
     self.assertRaises(KeyError, cbad1.match, cbad2, 'dummy')
     return
Esempio n. 3
0
    def testSimpleMatch(self):
        simple1 = Location('TS','a.b.c')
        simple2 = Location('TS','a.b.z')
        simple3 = Location('TS','x.y.z')
        
        self.assertTrue(simple1.match(simple1))
        
        self.assertFalse(simple1.match(simple2))
        self.assertTrue(simple1.match(simple2,'child'))
        self.assertTrue(simple1.match(simple2,'parent'))

        self.assertFalse(simple1.match(simple3))
        self.assertFalse(simple1.match(simple3,'child'))
        self.assertFalse(simple1.match(simple3,'parent'))
Esempio n. 4
0
    def testComplexMatch(self):
        ''' Test matching scopes with complex locations '''
        complex1 = Location('TC',"R-H-PS9")
        complex2 = Location('TC',"R-H-K8-S")
        complex3 = Location('TC',"R-H-K9-S")
        
        self.assertTrue(complex1.match(complex1))
        
        self.assertTrue(complex1.match(complex1))
        self.assertFalse(complex1.match(complex2))
        self.assertTrue(complex1.match(complex2,'home'))
        self.assertTrue(complex1.match(complex2,'top'))

        self.assertFalse(complex2.match(complex3))
        
        # Can do different length w/o problems
        complex2 = Location('TC','R-H')
        complex3 = Location('TC','R-H-K9-S')
        self.assertFalse(complex2.match(complex3,'kilroy'))
        self.assertFalse(complex3.match(complex2,'kilroy'))