public void InitialPheromoneGivenMockProblemAndStartNode7ShouldReturn0Point5()
        {
            // arrange
              var problem = new MockProblem();
              var random = Substitute.For<Random>();
              random.Next(0, 9).Returns(7); // force start node to be 7

              // act
              var result = new Parameters(problem.NodeProvider.CountNodes(), problem.GetNearestNeighbourTourLength(random));

              // assert
              Assert.AreEqual(0.5, result.InitialPheromone);
        }
        public void ProblemGetNearestNeighbourTourLengthGivenMockProblemAndStartNode7ShouldReturn20()
        {
            // arrange
              var problem = new MockProblem();
              var random = Substitute.For<Random>();
              random.Next(0, 9).Returns(7); // force start node to be 7

              // act
              var result = problem.GetNearestNeighbourTourLength(random);

              // assert
              Assert.AreEqual(20, result);
        }
        public void NearestNeighbourTourLengthGivenTspLib95ItemFromMockProblemShouldBeSetCorrectly()
        {
            // arrange
              var random = Substitute.For<Random>();
              random.Next(0, 9).Returns(7); // force start node to be 7

              var problem = new MockProblem();
              var expected = problem.GetNearestNeighbourTourLength(random);

              var infoProvider = CreateInfoProviderFromMockProblem();

              // act
              var result = infoProvider.NearestNeighbourTourLength;

              // assert
              Assert.AreEqual(expected, result);
        }