Exemplo n.º 1
0
 public void TestStrategy(Strategy strategy, World environment, StrategyTesterReport start, List<PointD> expectedPoints, List<double> expectedAngles, List<bool> expectedResults)
 {
     var curReport = start;
     var reports = new List<StrategyTesterReport>();
     while (true)
     {
         var newAction = strategy.GetNextState(curReport);
         var movesList = newAction.Item1;
         if (newAction.Item2 is EndOfStrategy) break;
         curReport = environment.TryMove(curReport, movesList, true);
         reports.Add(curReport);
     }
     CollectionAssert.AreEqual(reports.Select(x => x.Coords).ToList(), expectedPoints);
     CollectionAssert.AreEqual(reports.Select(x => x.AngleInRadians).ToList(), expectedAngles, new DoubleComaperer());
     CollectionAssert.AreEqual(reports.Select(x => x.Success).ToList(), expectedResults);
 }