Disons que nous avons notre algorithme de recherche d'itinéraire:
def myHeuristicTSP(graph):
/*implementation*/
return route
Maintenant, nous voulons tester ceci de manière unitaire:
class TestMyHeuristicTSP:
def testNullGraphRaiseValueError(self):
self.assertRaises(ValueError, myHueristicTSP(None))
def testSimpleTwoNodeGraphReturnsRoute:
self.assertEquals(expectedResult, myHeuristicTSP(input))
La question est, pour un algorithme TSP non heuristique, nous pouvons donner une variété de graphiques et vérifier qu'ils retournent toujours absolument la route la plus courte.
Mais parce qu'un algorithme heurtistique, bien qu'il soit encore déterministe, est moins prévisible, sont-ils simplement destinés à comprendre comment l'algorithme est censé fonctionner et à trouver ces cas limites?