ルート検索アルゴリズムがあるとします。
def myHeuristicTSP(graph):
/*implementation*/
return route
これをユニットテストしたいと思います:
class TestMyHeuristicTSP:
def testNullGraphRaiseValueError(self):
self.assertRaises(ValueError, myHueristicTSP(None))
def testSimpleTwoNodeGraphReturnsRoute:
self.assertEquals(expectedResult, myHeuristicTSP(input))
問題は、非ヒューリスティックTSPアルゴリズムの場合、さまざまなグラフを提供し、常に絶対最短ルートを返すことを確認できることです。
しかし、ヒューリスティックアルゴリズムはまだ確定的ではありますが、予測可能性が低いため、アルゴリズムがどのように機能するかを理解し、それらのエッジケースを見つけることを単に目的としていますか?