protected override void Context()
        {
            _view          = A.Fake <IApplicationSettingsView>();
            _dialogCreator = A.Fake <IDialogCreator>();

            _applicationSettings = new ApplicationSettings();
            _speciesRepository   = A.Fake <ISpeciesRepository>();
            A.CallTo(() => _speciesRepository.All()).Returns(new[]
            {
                new Species {
                    Name = "Dog", Id = "Dog"
                },
                new Species {
                    Name = "Human", Id = "Human"
                },
                new Species {
                    Name = "Rat", Id = "Rat"
                }
            });
            _speciesDatabaseDTOMapper     = new SpeciesDatabaseMapToSpeciesDatabaseMapDTOMapper(_speciesRepository, new RepresentationInfoRepositoryForSpecs());
            _applicationSettingsPersistor = A.Fake <IApplicationSettingsPersistor>();

            sut = new ApplicationSettingsPresenter(_view, _applicationSettings, _speciesRepository, _speciesDatabaseDTOMapper, _dialogCreator, _applicationSettingsPersistor);

            A.CallTo(() => _view.BindTo(A <ApplicationSettingsDTO> ._))
            .Invokes(x => _dto = x.GetArgument <ApplicationSettingsDTO>(0));
        }
 public ApplicationSettingsPresenter(IApplicationSettingsView view, IApplicationSettings applicationSettings,
                                     ISpeciesRepository speciesRepository, ISpeciesDatabaseMapToSpeciesDatabaseMapDTOMapper speciesMapper,
                                     IDialogCreator dialogCreator, IApplicationSettingsPersitor applicationSettingsPersitor) : base(view)
 {
     _applicationSettings         = applicationSettings;
     _speciesRepository           = speciesRepository;
     _speciesMapper               = speciesMapper;
     _dialogCreator               = dialogCreator;
     _applicationSettingsPersitor = applicationSettingsPersitor;
 }