public void Equals_Obj_Test_Matching_Same_Solotion() { IHeuristic AirDistance = new MazeAirDistance(); ASearchingAlgorithm astarAir = new Astar(AirDistance); MazeGenerator DfsMazeGenerator = new DfsMazeGenerator(); maze Dfs = DfsMazeGenerator.generatMaze(20, 20); ISearchable SearchableMaze = new SearchableMaze(Dfs, false); Solution target = astarAir.Solve(SearchableMaze); Solution inObject = astarAir.Solve(SearchableMaze); bool expected = true; bool actual = target.GetSolutionPath().Capacity.Equals(inObject.GetSolutionPath().Capacity); Assert.AreEqual(expected, actual); }
public void Equals_Sol_Test_null() { IHeuristic AirDistance = new MazeAirDistance(); ASearchingAlgorithm astarAir = new Astar(AirDistance); MazeGenerator DfsMazeGenerator = new DfsMazeGenerator(); maze Dfs = DfsMazeGenerator.generatMaze(20, 20); ISearchable SearchableMazeA = new SearchableMaze(Dfs, false); ISearchable SearchableMazeB = new SearchableMaze(Dfs, true); Solution target = astarAir.Solve(SearchableMazeA); Solution inObject = astarAir.Solve(SearchableMazeB); bool expected = false; bool actual = target.Equals(inObject); Assert.AreEqual(expected, actual); }
public void Run100() { IHeuristic AirDistance = new MazeAirDistance(); ASearchingAlgorithm astarAir = new Astar(AirDistance); MazeGenerator DfsMazeGenerator = new DfsMazeGenerator(); maze Dfs = DfsMazeGenerator.generatMaze(20, 20); ISearchable SearchableMaze = new SearchableMaze(Dfs, true); Solution inObject = astarAir.Solve(SearchableMaze); Solution target; bool expected = true; for (int i = 0; i < 100; i++) { target = astarAir.Solve(SearchableMaze); bool actual = target.GetSolutionPath().Capacity.Equals(inObject.GetSolutionPath().Capacity); Assert.AreEqual(expected, actual); } }
/// ThreadPoolGeneratMaze<summary> /// thrading to genrate maze by give algorithem /// </summary> /// <param name="param">'hight' 'width' 'name'</param> public void ThreadPoolGeneratMaze(object param) { string[] p = (string[])param; IStoppable NewMazeGenerator; if (Curr_Genrator == "Dfs")//// Change from Configure { NewMazeGenerator = new DfsMazeGenerator(); } else { NewMazeGenerator = new RandomMazeGenerator(); } Workers.Add(NewMazeGenerator); maze m_Maze = new maze(); m_Status = string.Format("Maze {0} started Genarate...", p[2]); PrintEvent(); m_Maze = (maze)(((MazeGenerator)NewMazeGenerator).generatMaze(Convert.ToInt32(p[0]), Convert.ToInt32(p[1]))); if (m_Maze != null) { extendedMaze ex_Maze = new extendedMaze(m_Maze); ex_Maze.setName(p[2]); if (p[3] != "0") { ex_Maze.SaveGuiParams(p[3]); } addMaze(ex_Maze, p[2]); m_Status = string.Format("Maze {0} is ready...", p[2]); PrintEvent(); } }