public void Ctor_RegistersToViewModelEvents()
        {
            var viewModel   = CreateViewModel("any");
            var testSubject = new TaintToolWindow(viewModel.Object);

            viewModel.VerifyAdd(x => x.PropertyChanged += It.IsAny <PropertyChangedEventHandler>());
        }
        public void Ctor_CaptionIsSet()
        {
            var viewModel   = CreateViewModel("initial");
            var testSubject = new TaintToolWindow(viewModel.Object);

            testSubject.Caption.Should().Be("initial");
        }
        public void Dispose_UnregistersFromViewModelEvents()
        {
            var viewModel   = CreateViewModel("any");
            var testSubject = new TaintToolWindow(viewModel.Object);

            testSubject.Dispose();

            viewModel.VerifyRemove(x => x.PropertyChanged -= It.IsAny <PropertyChangedEventHandler>(), Times.Once);
        }
        public void PropertyChanged_IsNotCaptionProperty_CaptionNotUpdated()
        {
            var viewModel   = CreateViewModel("initial caption");
            var testSubject = new TaintToolWindow(viewModel.Object);

            SetCaption(viewModel, "new caption");
            RaisePropertyChanged(viewModel, "SomeOtherProperty");

            testSubject.Caption.Should().Be("initial caption");
        }