public void BreadthFirstSearch_PlacedObjectsNull_ShouldReturnEmptyResult_Issue197() { // Arrange IEnumerable <AnnoObject> placedObjects = null; var startObjects = defaultObjectList; var expectedResult = new bool[0][]; // Act var visitedCells = RoadSearchHelper.BreadthFirstSearch(placedObjects, startObjects, o => (int)o.InfluenceRange); // Assert Assert.Equal(expectedResult, visitedCells); }
public void BreadthFirstSearch_StartObjectCountIsZero_ShouldReturnEmptyResult() { // Arrange var placedObjects = defaultObjectList; var startObjects = Enumerable.Empty <AnnoObject>(); var expectedResult = new bool[0][]; // Act var visitedCells = RoadSearchHelper.BreadthFirstSearch(placedObjects, startObjects, o => (int)o.InfluenceRange); // Assert Assert.Equal(expectedResult, visitedCells); }
public void BreadthFirstSearch_StartObjectCountIsZero_ShouldReturnEMptyResult() { // Arrange var placedObjects = new LayoutLoader().LoadLayout(GetTestDataFile("BreadthFirstSearch_FindBuildingInfluenceRange"), true); var startObjects = Enumerable.Empty <AnnoObject>(); var expectedResult = new bool[0][]; // Act var visitedCells = RoadSearchHelper.BreadthFirstSearch(placedObjects, startObjects, o => (int)o.InfluenceRange); // Assert Assert.Equal(expectedResult, visitedCells); }
public void BreadthFirstSearch_FindObjectsInInfluenceRange() { // Arrange var placedObjects = new LayoutLoader().LoadLayout(GetTestDataFile("BreadthFirstSearch_FindObjectsInInfluenceRange"), true); var startObjects = placedObjects.Where(o => o.Label == "Start").ToList(); // Act var objectsInInfluence = new List <AnnoObject>(); RoadSearchHelper.BreadthFirstSearch(placedObjects, startObjects, o => (int)o.InfluenceRange + 1, inRangeAction: o => objectsInInfluence.Add(o)); // Assert Assert.Equal(placedObjects.Where(o => o.Label == "TargetIn").ToHashSet(), objectsInInfluence.ToHashSet()); Assert.True(placedObjects.Where(o => o.Label == "TargetOut").All(o => !objectsInInfluence.Contains(o))); }
public void BreadthFirstSearch_FindBuildingInfluenceRange() { // Arrange var placedObjects = defaultObjectList; var startObjects = placedObjects.Where(o => o.Label == "Start").ToList(); foreach (var startObject in startObjects) { var expectedCount = 4 * Enumerable.Range(1, (int)startObject.InfluenceRange).Sum() + 1; // Act var visitedCells = RoadSearchHelper.BreadthFirstSearch(placedObjects, new[] { startObject }, o => (int)o.InfluenceRange); // Assert Assert.Equal(expectedCount, visitedCells.Sum(c => c.Count(visited => visited))); } }