def testUpdateDist2(self):
   tl = [('dog', (), ()), ('cat', (), ())]
   td = {((13.0, ('bear', (), ()), ('raccoon', (), ())), ('dog', (), ())): 40.0, (('dog', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ()))): 40.0, ((13.0, ('bear', (), ()), ('raccoon', (), ())), ('seal', (), ())): 36.5, (('seal', (), ()), ('bear', (), ())): 29.0, (('seal', (), ()), ('cat', (), ())): 89.0, (('raccoon', (), ()), ('seal', (), ())): 44.0, (('cat', (), ()), ('bear', (), ())): 84.0, ((13.0, ('bear', (), ()), ('raccoon', (), ())), ('cat', (), ())): 88.0, (('dog', (), ()), ('raccoon', (), ())): 48.0, (('seal', (), ()), ('dog', (), ())): 50.0, (('dog', (), ()), ('seal', (), ())): 50.0, (('raccoon', (), ()), ('dog', (), ())): 48.0, (('cat', (), ()), ('seal', (), ())): 89.0, (('bear', (), ()), ('cat', (), ())): 84.0, (('raccoon', (), ()), ('cat', (), ())): 92.0, (('bear', (), ()), ('dog', (), ())): 32.0, (('seal', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ()))): 36.5, (('dog', (), ()), ('cat', (), ())): 98.0, (('raccoon', (), ()), ('bear', (), ())): 26.0, (('cat', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ()))): 88.0, (('dog', (), ()), ('bear', (), ())): 32.0, (('cat', (), ()), ('dog', (), ())): 98.0, (('bear', (), ()), ('raccoon', (), ())): 26.0, (('cat', (), ()), ('raccoon', (), ())): 92.0, (('bear', (), ()), ('seal', (), ())): 29.0, (('seal', (), ()), ('raccoon', (), ())): 44.0}
   tt = (18.25, ('seal', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ())))
   hw.updateDist( tl, td, tt )
   correct = [(((13.0, ('bear', (), ()), ('raccoon', (), ())), ('cat', (), ())), 88.0), (((13.0, ('bear', (), ()), ('raccoon', (), ())), ('dog', (), ())), 40.0), (((13.0, ('bear', (), ()), ('raccoon', (), ())), ('seal', (), ())), 36.5), (((18.25, ('seal', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ()))), ('cat', (), ())), 88.33333333333333), (((18.25, ('seal', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ()))), ('dog', (), ())), 43.33333333333333), ((('bear', (), ()), ('cat', (), ())), 84.0), ((('bear', (), ()), ('dog', (), ())), 32.0), ((('bear', (), ()), ('raccoon', (), ())), 26.0), ((('bear', (), ()), ('seal', (), ())), 29.0), ((('cat', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ()))), 88.0), ((('cat', (), ()), (18.25, ('seal', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ())))), 88.33333333333333), ((('cat', (), ()), ('bear', (), ())), 84.0), ((('cat', (), ()), ('dog', (), ())), 98.0), ((('cat', (), ()), ('raccoon', (), ())), 92.0), ((('cat', (), ()), ('seal', (), ())), 89.0), ((('dog', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ()))), 40.0), ((('dog', (), ()), (18.25, ('seal', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ())))), 43.33333333333333), ((('dog', (), ()), ('bear', (), ())), 32.0), ((('dog', (), ()), ('cat', (), ())), 98.0), ((('dog', (), ()), ('raccoon', (), ())), 48.0), ((('dog', (), ()), ('seal', (), ())), 50.0), ((('raccoon', (), ()), ('bear', (), ())), 26.0), ((('raccoon', (), ()), ('cat', (), ())), 92.0), ((('raccoon', (), ()), ('dog', (), ())), 48.0), ((('raccoon', (), ()), ('seal', (), ())), 44.0), ((('seal', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ()))), 36.5), ((('seal', (), ()), ('bear', (), ())), 29.0), ((('seal', (), ()), ('cat', (), ())), 89.0), ((('seal', (), ()), ('dog', (), ())), 50.0), ((('seal', (), ()), ('raccoon', (), ())), 44.0)]
   self.assertEqual(sorted(td.items()), correct, "Distances not updated correctly")
 def testUpdateDist1(self):
   tl = [('Snoody', (), ())]
   td = {(('Froody', (), ()), ('Snoody', (), ())): 12.0, (('Snoody', (), ()), ('Froody', (), ())): 12.0, (('Froody', (), ()), ('Groody', (), ())): 7.0, (('Snoody', (), ()), ('Groody', (), ())): 12.0, (('Groody', (), ()), ('Froody', (), ())): 7.0, (('Groody', (), ()), ('Snoody', (), ())): 12.0}
   tt = (3.5,('Groody', (), ()), ('Froody', (), ()))
   hw.updateDist( tl, td, tt )
   correct = [(((3.5, ('Groody', (), ()), ('Froody', (), ())), ('Snoody', (), ())), 12.0), ((('Froody', (), ()), ('Groody', (), ())), 7.0), ((('Froody', (), ()), ('Snoody', (), ())), 12.0), ((('Groody', (), ()), ('Froody', (), ())), 7.0), ((('Groody', (), ()), ('Snoody', (), ())), 12.0), ((('Snoody', (), ()), (3.5, ('Groody', (), ()), ('Froody', (), ()))), 12.0), ((('Snoody', (), ()), ('Froody', (), ())), 12.0), ((('Snoody', (), ()), ('Groody', (), ())), 12.0)]
   self.assertEqual(sorted(td.items()), correct, "Distances not updated correctly")
 def testUpdateDist1(self):
     tl = [('Snoody', (), ())]
     td = {
         (('Froody', (), ()), ('Snoody', (), ())): 12.0,
         (('Snoody', (), ()), ('Froody', (), ())): 12.0,
         (('Froody', (), ()), ('Groody', (), ())): 7.0,
         (('Snoody', (), ()), ('Groody', (), ())): 12.0,
         (('Groody', (), ()), ('Froody', (), ())): 7.0,
         (('Groody', (), ()), ('Snoody', (), ())): 12.0
     }
     tt = (3.5, ('Groody', (), ()), ('Froody', (), ()))
     hw.updateDist(tl, td, tt)
     correct = [(((3.5, ('Groody', (), ()), ('Froody', (), ())),
                  ('Snoody', (), ())), 12.0),
                ((('Froody', (), ()), ('Groody', (), ())), 7.0),
                ((('Froody', (), ()), ('Snoody', (), ())), 12.0),
                ((('Groody', (), ()), ('Froody', (), ())), 7.0),
                ((('Groody', (), ()), ('Snoody', (), ())), 12.0),
                ((('Snoody', (), ()), (3.5, ('Groody', (), ()),
                                       ('Froody', (), ()))), 12.0),
                ((('Snoody', (), ()), ('Froody', (), ())), 12.0),
                ((('Snoody', (), ()), ('Groody', (), ())), 12.0)]
     self.assertEqual(sorted(td.items()), correct,
                      "Distances not updated correctly")
 def testUpdateDist2(self):
     tl = [('dog', (), ()), ('cat', (), ())]
     td = {
         ((13.0, ('bear', (), ()), ('raccoon', (), ())), ('dog', (), ())):
         40.0,
         (('dog', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ()))):
         40.0,
         ((13.0, ('bear', (), ()), ('raccoon', (), ())), ('seal', (), ())):
         36.5,
         (('seal', (), ()), ('bear', (), ())): 29.0,
         (('seal', (), ()), ('cat', (), ())): 89.0,
         (('raccoon', (), ()), ('seal', (), ())): 44.0,
         (('cat', (), ()), ('bear', (), ())): 84.0,
         ((13.0, ('bear', (), ()), ('raccoon', (), ())), ('cat', (), ())):
         88.0,
         (('dog', (), ()), ('raccoon', (), ())): 48.0,
         (('seal', (), ()), ('dog', (), ())): 50.0,
         (('dog', (), ()), ('seal', (), ())): 50.0,
         (('raccoon', (), ()), ('dog', (), ())): 48.0,
         (('cat', (), ()), ('seal', (), ())): 89.0,
         (('bear', (), ()), ('cat', (), ())): 84.0,
         (('raccoon', (), ()), ('cat', (), ())): 92.0,
         (('bear', (), ()), ('dog', (), ())): 32.0,
         (('seal', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ()))):
         36.5,
         (('dog', (), ()), ('cat', (), ())): 98.0,
         (('raccoon', (), ()), ('bear', (), ())): 26.0,
         (('cat', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ()))):
         88.0,
         (('dog', (), ()), ('bear', (), ())): 32.0,
         (('cat', (), ()), ('dog', (), ())): 98.0,
         (('bear', (), ()), ('raccoon', (), ())): 26.0,
         (('cat', (), ()), ('raccoon', (), ())): 92.0,
         (('bear', (), ()), ('seal', (), ())): 29.0,
         (('seal', (), ()), ('raccoon', (), ())): 44.0
     }
     tt = (18.25, ('seal', (), ()), (13.0, ('bear', (), ()), ('raccoon', (),
                                                              ())))
     hw.updateDist(tl, td, tt)
     correct = [
         (((13.0, ('bear', (), ()), ('raccoon', (), ())), ('cat', (), ())),
          88.0),
         (((13.0, ('bear', (), ()), ('raccoon', (), ())), ('dog', (), ())),
          40.0),
         (((13.0, ('bear', (), ()), ('raccoon', (), ())), ('seal', (), ())),
          36.5),
         (((18.25, ('seal', (), ()), (13.0, ('bear', (), ()), ('raccoon',
                                                               (), ()))),
           ('cat', (), ())), 88.33333333333333),
         (((18.25, ('seal', (), ()), (13.0, ('bear', (), ()), ('raccoon',
                                                               (), ()))),
           ('dog', (), ())), 43.33333333333333),
         ((('bear', (), ()), ('cat', (), ())), 84.0),
         ((('bear', (), ()), ('dog', (), ())), 32.0),
         ((('bear', (), ()), ('raccoon', (), ())), 26.0),
         ((('bear', (), ()), ('seal', (), ())), 29.0),
         ((('cat', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ()))),
          88.0),
         ((('cat', (), ()), (18.25, ('seal', (), ()),
                             (13.0, ('bear', (), ()),
                              ('raccoon', (), ())))), 88.33333333333333),
         ((('cat', (), ()), ('bear', (), ())), 84.0),
         ((('cat', (), ()), ('dog', (), ())), 98.0),
         ((('cat', (), ()), ('raccoon', (), ())), 92.0),
         ((('cat', (), ()), ('seal', (), ())), 89.0),
         ((('dog', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ()))),
          40.0),
         ((('dog', (), ()), (18.25, ('seal', (), ()),
                             (13.0, ('bear', (), ()),
                              ('raccoon', (), ())))), 43.33333333333333),
         ((('dog', (), ()), ('bear', (), ())), 32.0),
         ((('dog', (), ()), ('cat', (), ())), 98.0),
         ((('dog', (), ()), ('raccoon', (), ())), 48.0),
         ((('dog', (), ()), ('seal', (), ())), 50.0),
         ((('raccoon', (), ()), ('bear', (), ())), 26.0),
         ((('raccoon', (), ()), ('cat', (), ())), 92.0),
         ((('raccoon', (), ()), ('dog', (), ())), 48.0),
         ((('raccoon', (), ()), ('seal', (), ())), 44.0),
         ((('seal', (), ()), (13.0, ('bear', (), ()), ('raccoon', (), ()))),
          36.5), ((('seal', (), ()), ('bear', (), ())), 29.0),
         ((('seal', (), ()), ('cat', (), ())), 89.0),
         ((('seal', (), ()), ('dog', (), ())), 50.0),
         ((('seal', (), ()), ('raccoon', (), ())), 44.0)
     ]
     self.assertEqual(sorted(td.items()), correct,
                      "Distances not updated correctly")