def testComparatorToCompareNodeData(self):
    n1 = Node('n1', CustomData('marcos'))
    n2 = Node('n2', CustomData('eduardo'))
    comparator = CustomDataComparator()

    fringe = [n1, n2]
    s = ClosestStrategy(comparator)

    selected = s.selectNext(fringe)
    self.assertEqual(selected, fringe[0])
  def testSelectNoneFromEmptyFringe(self):
    fringe = []
    s = ClosestStrategy(None)

    selected = s.selectNext(fringe)
    self.assertEqual(selected, None)
  def testSelectNextFromSingleNode(self):
    fringe = [Node('node')]
    s = ClosestStrategy(None)

    selected = s.selectNext(fringe)
    self.assertEqual(selected, fringe[0])