public void TestSavePluginSourceNullPathNull()
        {
            //arrange
            var expectedName    = "someName";
            var selectedDllMock = new Mock <IDllListingModel>();

            selectedDllMock.SetupGet(it => it.FullName).Returns(_selectedDllFullName);
            _targetRequestServiceNameViewModel.SelectedDll = selectedDllMock.Object;
            _requestServiceNameViewModelMock.Setup(it => it.ShowSaveDialog()).Returns(MessageBoxResult.OK);
            _requestServiceNameViewModelMock.SetupGet(it => it.ResourceName)
            .Returns(new ResourceName(null, expectedName));
            _changedPropertiesRequestServiceNameViewModel.Clear();

            //act
            _targetRequestServiceNameViewModel.Save();

            //assert
            Assert.IsTrue(_changedPropertiesRequestServiceNameViewModel.Contains("Header"));
            Assert.AreNotEqual(Guid.NewGuid(), _targetRequestServiceNameViewModel.Item.Id);
            Assert.AreEqual(expectedName, _targetRequestServiceNameViewModel.Item.ResourceName);
            Assert.AreEqual(expectedName, _targetRequestServiceNameViewModel.ResourceName);
            Assert.AreSame(selectedDllMock.Object, _targetRequestServiceNameViewModel.Item.SelectedDll);
            Assert.AreEqual(_targetRequestServiceNameViewModel.HeaderText, _targetRequestServiceNameViewModel.ResourceName);
            Assert.AreEqual(_targetRequestServiceNameViewModel.Header, _targetRequestServiceNameViewModel.ResourceName);
        }
        public void TestSave()
        {
            //arrange
            var expectedId   = Guid.NewGuid();
            var expectedName = "someName";
            var expectedPath = "somePath";

            _pluginSourceMock.SetupGet(it => it.Id).Returns(expectedId);
            _pluginSourceMock.SetupGet(it => it.ResourceName).Returns(expectedName);
            _pluginSourceMock.SetupGet(it => it.ResourcePath).Returns(expectedPath);
            var selectedDllMock = new Mock <IDllListingModel>();

            _targetPluginSource.SelectedDll = selectedDllMock.Object;
            _changedPropertiesPluginSource.Clear();

            //act
            _targetPluginSource.Save();

            //assert
            _pluginSourceMock.VerifySet(it => it.SelectedDll = It.IsAny <IFileListing>());
            _updateManagerMock.Verify(it => it.Save(It.IsAny <IComPluginSource>()));
            Assert.IsTrue(_changedPropertiesPluginSource.Contains("Header"));
        }