public async Task TopLayer_MiddleFrontLeftOnTopLeftCentre_MiddleFrontLeftIsCorrect()
        {
            var configuration = UnitTests.Helpers.CreateConfiguration(new[] { Rotations.LeftAntiClockwise }, 3);
            var solution = new List<IRotation>();
            var solver = new MiddleLayerSolver();

            await solver.CheckTopLeftLayer(configuration, solution).ConfigureAwait(true);


            CubeConfigurationAssert.MiddleFrontLeftIsCorrect(configuration);
        }
        private static void Solve()
        {
            var configuration = ConfigurationGenerator.GenerateRandomConfiguration(3, 50);
            new BottomCrossSolver().Solve(configuration).Wait();
            new BottomLayerSolver().Solve(configuration).Wait();
            var solver = new MiddleLayerSolver();

            solver.Solve(configuration).Wait(TestRunner.Timeout);

            CubeConfigurationAssert.MiddleLayerIsCorrect(configuration);
        }