public void GettingContexts_WhenInitialized_ReturnsInitializedContextsPresenter()
        {
            DoLaterPresenter test = BuildDefaultDoLaterPresenter();

            test.Initialize();

            Assert.Same(_fakeContextChooser.Object, test.Contexts);
            _fakeContextChooser.Verify(x => x.Initialize());
        }
        public void GettingDetails_WhenInitialized_ReturnsInitializedActionDetailsPresenter()
        {
            DoLaterPresenter test = BuildDefaultDoLaterPresenter();

            test.Initialize();

            Assert.Same(_fakeDetails.Object, test.Details);
            _fakeDetails.Verify(x => x.Initialize());
        }
        public void SettingDisplayName__DoesNothing()
        {
            DoLaterPresenter test = BuildDefaultDoLaterPresenter();

            string originalName = test.DisplayName;

            test.DisplayName = "Another name";

            Assert.Equal(originalName, test.DisplayName);
        }
        public void GettingContextsCurrentItem_Initially_ReturnsContextFromCommand()
        {
            IGtdContext context = AContext.Build();

            _applyCommand.Context = context;

            DoLaterPresenter test = BuildDefaultDoLaterPresenter();

            test.Initialize();

            _fakeContextChooser.VerifySet(x => x.SelectedItem = context);
        }
        public void GettingApplyCommandProject_WhenProjectHasBeenSelected_ReturnsTheProject()
        {
            DoLaterPresenter test = BuildDefaultDoLaterPresenter();

            test.Initialize();

            IAction project = AnAction.Build();

            ProjectIsSelected(project);

            GC.KeepAlive(test);
            Assert.Same(project, _applyCommand.Project);
        }
        public void GettingApplyCommandContext_WhenContextHasBeenSelected_ReturnsTheContext()
        {
            DoLaterPresenter test = BuildDefaultDoLaterPresenter();

            test.Initialize();

            IGtdContext context = AContext.Build();

            ContextIsSelected(context);

            GC.KeepAlive(test);
            Assert.Same(context, _applyCommand.Context);
        }
        public void GettingProjects__ReturnsProjectsPresenter()
        {
            DoLaterPresenter test = BuildDefaultDoLaterPresenter();

            Assert.Same(_stubProjects.Object, test.Projects);
        }
        public void GettingApplyCommand__ReturnsDoLaterCommand()
        {
            DoLaterPresenter test = BuildDefaultDoLaterPresenter();

            Assert.Same(_applyCommand, test.ApplyCommand);
        }
        public void GettingDisplayName__ReturnsLater()
        {
            DoLaterPresenter test = BuildDefaultDoLaterPresenter();

            Assert.Equal("Later", test.DisplayName);
        }