public void TestSaveNewSource()
        {
            //arrange
            var expectedResourceName = "ResourceName";
            var expectedResourcePath = "ResourcePath";

            _requestServiceNameViewModel.Setup(x => x.ShowSaveDialog()).Returns(MessageBoxResult.OK);
            _requestServiceNameViewModel.SetupGet(it => it.ResourceName).Returns(new ResourceName(expectedResourcePath, expectedResourceName));

            //act
            _manageRabbitMQSourceViewModelWithTask.Save();

            //assert
            Assert.IsFalse(_manageRabbitMQSourceViewModelWithTask.TestPassed);
            Assert.AreEqual(_manageRabbitMQSourceViewModelWithTask.HeaderText, expectedResourceName);
            Assert.AreEqual(_manageRabbitMQSourceViewModelWithTask.ResourceName, expectedResourceName);
            _rabbitMQSourceModel.Verify(x => x.SaveSource(It.IsAny <IRabbitMQServiceSourceDefinition>()));
        }
        public void TestSaveSource()
        {
            //arrange
            var expectedResourceName = "ResourceName";
            var expectedResourcePath = "ResourcePath";
            var expectedHeader       = expectedResourceName + " *";
            var expectedHostName     = "HostName";
            var expectedPort         = 1234;
            var expectedUserName     = "******";
            var expectedPassword     = "******";
            var expectedVirtualHost  = "VirtualHost";

            _manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.HostName    = expectedHostName;
            _manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.Port        = expectedPort;
            _manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.UserName    = expectedUserName;
            _manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.Password    = expectedPassword;
            _manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.VirtualHost = expectedVirtualHost;
            _rabbitMQServiceSourceDefinition.SetupGet(it => it.ResourcePath).Returns(expectedResourcePath);
            _rabbitMQServiceSourceDefinition.SetupGet(it => it.ResourceName).Returns(expectedResourceName);
            _manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.Item = _rabbitMQServiceSourceDefinition.Object;

            //act
            _manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.Save();

            //assert
            Assert.IsFalse(_manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.TestPassed);
            Assert.AreSame(_manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.Item, _rabbitMQServiceSourceDefinition.Object);
            Assert.AreEqual(_manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.HeaderText, expectedResourceName);
            Assert.AreEqual(_manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.Header, expectedHeader);
            Assert.AreEqual(_manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.HostName, expectedHostName);
            Assert.AreEqual(_manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.Port, expectedPort);
            Assert.AreEqual(_manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.UserName, expectedUserName);
            Assert.AreEqual(_manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.Password, expectedPassword);
            Assert.AreEqual(_manageRabbitMQSourceViewModelWithRabbitMQServiceSourceDefinition.VirtualHost, expectedVirtualHost);
            _rabbitMQServiceSourceDefinition.VerifySet(x => x.HostName    = expectedHostName);
            _rabbitMQServiceSourceDefinition.VerifySet(x => x.Port        = expectedPort);
            _rabbitMQServiceSourceDefinition.VerifySet(x => x.UserName    = expectedUserName);
            _rabbitMQServiceSourceDefinition.VerifySet(x => x.Password    = expectedPassword);
            _rabbitMQServiceSourceDefinition.VerifySet(x => x.VirtualHost = expectedVirtualHost);
            _rabbitMQSourceModel.Verify(x => x.SaveSource(_rabbitMQServiceSourceDefinition.Object));
        }