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)); }
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); }
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); }
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); }