public void ProcessNeighboursPathFindParameters_OpenListCountCheck()
    {
        var destinationMazeElement  = GetMazeElementMock(new Vector2(5, 3));
        var currentMazeElement      = GetMazeElementMock(new Vector2(3, 3), 10);
        var planeBuilder            = GetPlaneBuilderMock(currentMazeElement, 10);
        var openCloseListController = GetOpenCloseListController();
        var aStarWeightHeuristic    = GetAStarDistanceHeuristic();

        var neighboursPathFindParametersProcessorTestSimplePasses = new NeighboursPathFindParametersProcessor(planeBuilder, destinationMazeElement, aStarWeightHeuristic);

        neighboursPathFindParametersProcessorTestSimplePasses.ProcessNeighboursPathFindParameters(currentMazeElement, openCloseListController, Substitute.For <IPathFindProcessMetric>());

        openCloseListController.ReceivedWithAnyArgs(4).AddToOpenList(Substitute.For <IMazeElement>());
    }
    public void ProcessNeighboursPathFindParameters_LeftNeighbourCheck()
    {
        var destinationMazeElement  = GetMazeElementMock(new Vector2(5, 3));
        var currentMazeElement      = GetMazeElementMock(new Vector2(3, 3), 10);
        var planeBuilder            = GetPlaneBuilderMock(currentMazeElement, 10);
        var openCloseListController = GetOpenCloseListController();
        var aStarWeightHeuristic    = GetAStarDistanceHeuristic();

        var neighboursPathFindParametersProcessorTestSimplePasses = new NeighboursPathFindParametersProcessor(planeBuilder, destinationMazeElement, aStarWeightHeuristic);

        neighboursPathFindParametersProcessorTestSimplePasses.ProcessNeighboursPathFindParameters(currentMazeElement, openCloseListController, Substitute.For <IPathFindProcessMetric>());

        Assert.AreEqual(planeBuilder.GetFromMazeArray(2, 3).PathFindWeight, 11);
        Assert.AreEqual(planeBuilder.GetFromMazeArray(2, 3).PathFindDistanceHeuristic, 3);
    }