ExhaustiveSearchPhaseScope phaseScope = mock(ExhaustiveSearchPhaseScope.class);
ExhaustiveSearchStepScope lastCompletedStepScope = mock(ExhaustiveSearchStepScope.class);
when(phaseScope.getLastCompletedStepScope()).thenReturn(lastCompletedStepScope);
ExhaustiveSearchStepScope stepScope = mock(ExhaustiveSearchStepScope.class);
when(stepScope.getPhaseScope()).thenReturn(phaseScope);
Solution workingSolution = mock(Solution.class);
when(phaseScope.getWorkingSolution()).thenReturn(workingSolution);
ExhaustiveSearchLayer layer0 = new ExhaustiveSearchLayer(0, mock(Object.class), 100);
ExhaustiveSearchLayer layer1 = new ExhaustiveSearchLayer(1, mock(Object.class), 99);
ExhaustiveSearchLayer layer2 = new ExhaustiveSearchLayer(2, mock(Object.class), 98);