示例#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 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);
        }