def testSimpleGood(self): ''' Test good path simple locations ''' simple1 = Location('TS','a') self.assertEqual(simple1.get_location(),'a') simple2 = Location('TS','a.b') self.assertEqual(simple2.get_location(),'a.b') simple3 = Location('TS','a.b.c') self.assertEqual(simple3.get_location(),'a.b.c')
def testComplexGood(self): ''' Test good path complex locations ''' # Minimum tree specified complex1 = Location('TC',"R") self.assertEqual(complex1.get_location(),'R') complex2 = Location('TC',"R-H") self.assertEqual(complex2.get_location(),'R-H') # No value allowed complex3 = Location('TC',"R-H-JC") self.assertEqual(complex3.get_location(),'R-H-JC') # min-only specified complex4 = Location('TC',"R-H-MM12345") self.assertEqual(complex4.get_location(),'R-H-MM12345') complex4a = Location('TC',"R-H-MM"+str(sys.maxint)) self.assertEqual(complex4a.get_location(),'R-H-MM'+str(sys.maxint)) # Range specified complex5 = Location('TC',"R-H-PS9") self.assertEqual(complex5.get_location(),'R-H-PS9') # max-only specified complex6 = Location('TC',"R-H-K0") self.assertEqual(complex6.get_location(),'R-H-K0') # Full tree specified complex7 = Location('TC',"R-H-K20-S") self.assertEqual(complex7.get_location(),'R-H-K20-S')
def testLocation(self): ''' Test location is handled correctly ''' s = struct.Struct("3p256p") fmt = 0x5445535400000003 loc = Location('C','MB-SL3-ET1-PT2') raw_data = s.pack(loc.get_id(),loc.get_location()) ed = ExtensionData(fmt,None, raw_data) self.assertEqual(raw_data,ed['raw_data']) self.assertEqual(loc,ed['neighbor']) self.assertEqual(len(ed.keys()),2) self.assertEqual(fmt,ed.get_format())
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
def testToFromDict(self): ''' Test to and from dict is handled correctly ''' s = struct.Struct("3p256p") fmt = 0x5445535400000003 loc = Location('C','MB-SL3-ET1-PT2') raw_data = s.pack(loc.get_id(),loc.get_location()) ed = ExtensionData(fmt,None, raw_data) self.assertEqual(raw_data,ed['raw_data']) self.assertEqual(loc,ed['neighbor']) self.assertEqual(len(ed.keys()),2) self.assertEqual(fmt,ed.get_format()) tmp_dict = ed.write_to_dictionary() new_ed = ExtensionData(fmt, None, None, tmp_dict) self.assertEqual(raw_data, new_ed['raw_data']) self.assertEqual(loc, new_ed['neighbor']) self.assertEqual(len(new_ed.keys()), 2) self.assertEqual(fmt, new_ed.get_format()) return