public void CtorGivenNegativeInitialPheromoneShouldThrowArgumentOutOfRangeException() { // arrange var problem = new MockProblem(); var distances = problem.Distances; // assert // ReSharper disable once ObjectCreationAsStatement Assert.Throws<ArgumentOutOfRangeException>(() => new StandardProblemData(problem.NodeProvider.CountNodes(), -1, distances)); }
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); }
private static SymmetricTspItemInfoProvider CreateInfoProviderFromMockProblem() { var problem = new MockProblem(); const int optimalTourLength = 34534; var optimalTourNodes = new List<int> { 1, 2, 3 }; var optimalTour = Substitute.For<ITour>(); optimalTour.Nodes.Returns(optimalTourNodes); var tspLibItem = new TspLib95Item(problem, optimalTour, optimalTourLength); return new SymmetricTspItemInfoProvider(tspLibItem); }
public void TspNodesGivenTspLib95ItemFromMockProblemShouldReturnListofTspNodesOrderedById() { // arrange var problem = new MockProblem(); var infoProvider = CreateInfoProviderFromMockProblem(); var expected = problem.NodeProvider.GetNodes() .OfType<Node2D>() .Select(n => new TspNode(n.Id, n.X, n.Y)) .OrderBy(n => n.Id) .ToList(); // assert CollectionAssert.AreEqual(expected, infoProvider.TspNodes); }
private static StandardProblemData CreateDefaultDataStructuresFromMockProblem() { const int nodeCount = 10; var problem = new MockProblem(); var distances = problem.Distances; var data = new StandardProblemData(nodeCount, InitialPheromoneDensity, distances); return data; }