public SimulationParametersPresenter(ISimulationParametersView view, IEntitiesInSimulationRetriever entitiesInSimulationRetriever,
                                      IQuantityToSimulationParameterSelectionDTOMapper simulationParameterSelectionDTOMapper, IGroupRepository groupRepository,
                                      IParameterAnalysableParameterSelector parameterSelector) : base(view)
 {
     _entitiesInSimulationRetriever         = entitiesInSimulationRetriever;
     _simulationParameterSelectionDTOMapper = simulationParameterSelectionDTOMapper;
     _groupRepository       = groupRepository;
     _parameterSelector     = parameterSelector;
     _parameterGroupingMode = _parameterSelector.DefaultParameterSelectionMode;
 }
        protected override void Context()
        {
            _entitiesInSimulationRetriever = A.Fake <IEntitiesInSimulationRetriever>();
            _view = A.Fake <ISimulationParametersView>();
            _simulationParameterSelectionDTOMapper = A.Fake <IQuantityToSimulationParameterSelectionDTOMapper>();
            _groupRepository   = A.Fake <IGroupRepository>();
            _parameterSelector = A.Fake <IParameterAnalysableParameterSelector>();

            sut = new SimulationParametersPresenter(_view, _entitiesInSimulationRetriever, _simulationParameterSelectionDTOMapper, _groupRepository, _parameterSelector);

            _allParameters           = new PathCacheForSpecs <IParameter>();
            _parameterIdentification = new ParameterIdentification();
            _simulation = A.Fake <ISimulation>();
            _parameterIdentification.AddSimulation(_simulation);
            A.CallTo(() => _entitiesInSimulationRetriever.ParametersFrom(_simulation, A <Func <IParameter, bool> > ._)).Returns(_allParameters);

            A.CallTo(() => _view.BindTo(A <IEnumerable <SimulationParameterSelectionDTO> > ._))
            .Invokes(x => _allQuantitySelectionDTO = x.GetArgument <IEnumerable <SimulationParameterSelectionDTO> >(0));
        }