示例#1
0
        public void AcceptChanges_XmlDependencyHasChanges_DependencyIsRemovedFromChangeTrackingService()
        {
            var dependencies = _InitializeViewModelDependencies();
            var changeTrackingServiceMock = dependencies.GetEntry <Mock <IChangeTrackingService> >();

            // create the component
            var xmlComponentStub = new Mock <IXmlComponent>();

            // create a dependency
            var xmlDependencyStub = new Mock <IXmlDependency>();
            var xmlDependencyList = new List <IXmlDependency>
            {
                xmlDependencyStub.Object
            };

            xmlComponentStub.Setup(o => o.Dependencies)
            .Returns(xmlDependencyList);

            // act
            var target          = new XmlComponentViewModel(xmlComponentStub.Object);
            var firstDependency = target.GetDependencies().First();

            // make sure the dependency has a change
            firstDependency.SetChanged();
            // accept on component
            target.AcceptChanges();

            // make sure the dependency was removed from the tracking service too
            changeTrackingServiceMock.Verify(o => o.Remove(firstDependency));
        }
示例#2
0
        public void GetDependencies_XmlComponentHasMultipleDependencies_DependencyViewModelsAreCreatedAccordingly()
        {
            _InitializeViewModelDependencies();

            // create the component
            var xmlComponentStub = new Mock <IXmlComponent>();

            xmlComponentStub.Setup(o => o.Name)
            .Returns(TestComponentName);

            // create a dependency
            var xmlDependencyStub  = new Mock <IXmlDependency>();
            var xmlDependencyStub2 = new Mock <IXmlDependency>();
            var xmlDependencyList  = new List <IXmlDependency>
            {
                xmlDependencyStub.Object,
                xmlDependencyStub2.Object
            };

            xmlComponentStub.Setup(o => o.Dependencies)
            .Returns(xmlDependencyList);

            var target = new XmlComponentViewModel(xmlComponentStub.Object);
            var xmlDependencyViewModels = target.GetDependencies();

            Assert.AreEqual(xmlDependencyViewModels.Count(), xmlDependencyList.Count);
        }
示例#3
0
        public void IsChanged_XmlDependencyIsRemoved_IsChangedIsTrue()
        {
            _InitializeViewModelDependencies();

            // create the component
            var xmlComponentStub = new Mock <IXmlComponent>();

            // create a dependency
            var xmlDependencyStub  = new Mock <IXmlDependency>();
            var xmlDependencyStub2 = new Mock <IXmlDependency>();
            var xmlDependencyList  = new List <IXmlDependency>
            {
                xmlDependencyStub.Object,
                xmlDependencyStub2.Object
            };

            xmlComponentStub.Setup(o => o.Dependencies)
            .Returns(xmlDependencyList);

            var target          = new XmlComponentViewModel(xmlComponentStub.Object);
            var firstDependency = target.GetDependencies().First();

            target.RemoveDependency(firstDependency);

            Assert.IsTrue(target.IsChanged);
        }
示例#4
0
        public void Instance_IsCreated_ChangeTrackingServiceIsImported()
        {
            var dependencies = _InitializeViewModelDependencies();
            var changeTrackingServiceStub = dependencies.GetEntry <Mock <IChangeTrackingService> >();

            var xmlComponentStub = new Mock <IXmlComponent>();

            var target = new XmlComponentViewModel(xmlComponentStub.Object);

            Assert.AreEqual(changeTrackingServiceStub.Object, target.ChangeTrackingService);
        }
示例#5
0
        public void IsChanged_XmlComponentWithOutDependenciesIsSet_IsChangedIsFalse()
        {
            _InitializeViewModelDependencies();

            // create the component
            var xmlComponentStub = new Mock <IXmlComponent>();

            var target = new XmlComponentViewModel(xmlComponentStub.Object);

            Assert.IsFalse(target.IsChanged);
        }
示例#6
0
        public void ComponentName_XmlComponentIsSetInConstructor_ComponentNameIsReturned()
        {
            _InitializeViewModelDependencies();

            var xmlComponentStub = new Mock <IXmlComponent>();

            xmlComponentStub.Setup(o => o.Name)
            .Returns(TestComponentName);

            var target = new XmlComponentViewModel(xmlComponentStub.Object);

            Assert.AreEqual(TestComponentName, target.ComponentName);
        }
示例#7
0
        public void IsChanged_XmlDependencyIsAdded_IsChangedIsTrue()
        {
            _InitializeViewModelDependencies();

            // create the component
            var xmlComponentStub = new Mock <IXmlComponent>();
            var dependencyList   = new List <IXmlDependency>();

            xmlComponentStub.Setup(o => o.Dependencies)
            .Returns(dependencyList);

            // create a dependency
            var xmlDependencyStub          = new Mock <IXmlDependency>();
            var xmlDependencyViewModelStub = new Mock <XmlDependencyViewModel>(xmlDependencyStub.Object, true);

            var target = new XmlComponentViewModel(xmlComponentStub.Object);

            target.AddDependency(xmlDependencyViewModelStub.Object);

            Assert.IsTrue(target.IsChanged);
        }
示例#8
0
        public void GetDependencies_XmlComponentHasDependency_DependencyViewModelIsReturned()
        {
            _InitializeViewModelDependencies();

            // create the component
            var xmlComponentStub = new Mock <IXmlComponent>();

            // create a dependency
            var xmlDependencyStub = new Mock <IXmlDependency>();
            var xmlDependencyList = new List <IXmlDependency>
            {
                xmlDependencyStub.Object
            };

            xmlComponentStub.Setup(o => o.Dependencies)
            .Returns(xmlDependencyList);

            var target = new XmlComponentViewModel(xmlComponentStub.Object);
            var xmlDependencyViewModels = target.GetDependencies();

            Assert.AreEqual(xmlDependencyViewModels.First().XmlDependency, xmlDependencyStub.Object);
        }
示例#9
0
        public void IsChanged_XmlComponentWithDependenciesIsSet_IsChangedIsFalse()
        {
            _InitializeViewModelDependencies();

            // create the component
            var xmlComponentStub = new Mock <IXmlComponent>();

            // create a dependency
            var xmlDependencyStub  = new Mock <IXmlDependency>();
            var xmlDependencyStub2 = new Mock <IXmlDependency>();
            var xmlDependencyList  = new List <IXmlDependency>
            {
                xmlDependencyStub.Object,
                xmlDependencyStub2.Object
            };

            xmlComponentStub.Setup(o => o.Dependencies)
            .Returns(xmlDependencyList);

            var target = new XmlComponentViewModel(xmlComponentStub.Object);

            Assert.IsFalse(target.IsChanged);
        }
示例#10
0
        public void Instance_XmlComponentIsNullInConstructor_ExceptionIsThrown()
        {
            _InitializeViewModelDependencies();

            var target = new XmlComponentViewModel(null);
        }