public void HandleAddNewTagClicked_Test_NoEntry()
        {
            // arrange
            var fakeView = A.Fake <IAddMediaItemForm>();

            A.CallTo(() => fakeView.ShowNewTagDialog()).Returns("");
            var           fakeMediaItemService = A.Fake <IMediaItemService>();
            var           fakeTagService       = A.Fake <ITagService>();
            var           fakeImageFileReader  = A.Fake <IImageFileReader>();
            MockPresenter presenter            = new MockPresenter(fakeMediaItemService, fakeTagService, fakeView, fakeImageFileReader);

            // act
            presenter.HandleAddNewTagClicked(null, null);

            // assert
            A.CallTo(() => fakeView.ShowTagAlreadyExistsDialog("")).MustNotHaveHappened();
        }
        public void HandleAddNewTagClicked_Test_TagDoesNotYetExist()
        {
            // arrange
            var fakeView = A.Fake <IAddMediaItemForm>();

            A.CallTo(() => fakeView.ShowNewTagDialog()).Returns("tag2");
            var                       fakeMediaItemService = A.Fake <IMediaItemService>();
            var                       fakeTagService       = A.Fake <ITagService>();
            var                       fakeImageFileReader  = A.Fake <IImageFileReader>();
            MockPresenter             presenter            = new MockPresenter(fakeMediaItemService, fakeTagService, fakeView, fakeImageFileReader);
            Dictionary <string, bool> allTags = new Dictionary <string, bool>();

            allTags.Add("tag1", true);
            presenter.SetAllTags(allTags);

            // act
            presenter.HandleAddNewTagClicked(null, null);

            // assert
            Assert.IsTrue(presenter.GetAllTagsValueByKey("tag2"));
        }
        public void HandleAddNewTagClicked_Test_TagAlreadyExists()
        {
            // arrange
            var fakeView = A.Fake <IAddMediaItemForm>();

            A.CallTo(() => fakeView.ShowNewTagDialog()).Returns("tag1");
            var                       fakeMediaItemService = A.Fake <IMediaItemService>();
            var                       fakeTagService       = A.Fake <ITagService>();
            var                       fakeImageFileReader  = A.Fake <IImageFileReader>();
            MockPresenter             presenter            = new MockPresenter(fakeMediaItemService, fakeTagService, fakeView, fakeImageFileReader);
            Dictionary <string, bool> allTags = new Dictionary <string, bool>();

            allTags.Add("tag1", true);
            presenter.SetAllTags(allTags);

            // act
            presenter.HandleAddNewTagClicked(null, null);

            // assert
            A.CallTo(() => fakeView.ShowTagAlreadyExistsDialog("tag1")).MustHaveHappened();
        }