public void ImportModel(string dsiFilename, string dsmFilename, bool autoPartition, bool recordChanges, bool compressDsmFile, IProgress <ProgressInfo> progress) { string processStep = "Builder"; Assembly assembly = Assembly.GetEntryAssembly(); DsiModel dsiModel = new DsiModel(processStep, assembly); dsiModel.Load(dsiFilename, progress); IImportPolicy importPolicy; if (!File.Exists(dsmFilename) || !recordChanges) { importPolicy = new CreateNewModelPolicy(_dsmModel); } else { importPolicy = new UpdateExistingModelPolicy(_dsmModel, dsmFilename, _actionManager, progress); } DsmBuilder builder = new DsmBuilder(dsiModel, _dsmModel, importPolicy, autoPartition); builder.Build(progress); _actionStore.SaveToModel(); _dsmModel.SaveModel(dsmFilename, compressDsmFile, progress); }
public void WhenImportIsFinalizedThenMakeTimeStampActionIsExecuted() { UpdateExistingModelPolicy policy = new UpdateExistingModelPolicy(_dsmModel.Object, DsmFilename, _actionManager.Object, null); policy.FinalizeImport(null); _actionManager.Verify(x => x.Execute(It.IsAny <MakeSnapshotAction>()), Times.Once); }
public void WhenImportIsFinalizedThenElementOrderIsAssigned() { UpdateExistingModelPolicy policy = new UpdateExistingModelPolicy(_dsmModel.Object, DsmFilename, _actionManager.Object, null); policy.FinalizeImport(null); _dsmModel.Verify(x => x.AssignElementOrder(), Times.Once()); }
public void WhenMetaDataItemIsImportedThenMetaDataItemIsAddedToModel() { UpdateExistingModelPolicy policy = new UpdateExistingModelPolicy(_dsmModel.Object, DsmFilename, _actionManager.Object, null); _dsmModel.Setup(x => x.AddMetaData(MetaDataGroup, MetaDataItemName, MetaDataItemValue)).Returns(_createMetaDataItem.Object); IMetaDataItem metaDataItem = policy.ImportMetaDataItem(MetaDataGroup, MetaDataItemName, MetaDataItemValue); Assert.AreEqual(_createMetaDataItem.Object, metaDataItem); _dsmModel.Verify(x => x.AddMetaData(MetaDataGroup, MetaDataItemName, MetaDataItemValue), Times.Once()); }
public void GivenRelationIsInModelWithTheOtherWeightWhenRelationIsImportedThenRelationUpdateWeigthActionIsExecuted() { IDsmRelation foundRelation = _existingRelation.Object; _dsmModel.Setup(x => x.FindRelation(ConsumerId, ProviderId, RelationType)).Returns(foundRelation); UpdateExistingModelPolicy policy = new UpdateExistingModelPolicy(_dsmModel.Object, DsmFilename, _actionManager.Object, null); IDsmRelation relation = policy.ImportRelation(ConsumerId, ProviderId, RelationType, NewRelationWeight); Assert.AreEqual(_existingRelation.Object, relation); _actionManager.Verify(x => x.Execute(It.IsAny <RelationChangeWeightAction>()), Times.Once); }
public void GivenElementIsInModelWhenElementIsImportedThenNoActionIsTaken() { IDsmElement foundElement = _existingElement.Object; _dsmModel.Setup(x => x.GetElementByFullname(ElementFullName)).Returns(foundElement); UpdateExistingModelPolicy policy = new UpdateExistingModelPolicy(_dsmModel.Object, DsmFilename, _actionManager.Object, null); IDsmElement element = policy.ImportElement(ElementFullName, ElementName, ElementType, _elementParent.Object); Assert.AreEqual(_existingElement.Object, element); _actionManager.Verify(x => x.Execute(It.IsAny <IAction>()), Times.Never); }
public void GivenRelationIsInModelButNotImportedAgainWhenImportIsFinalizedThenRelationDeleteActionIsExecuted() { IDsmRelation foundRelation = _existingRelation.Object; _dsmModel.Setup(x => x.FindRelation(ConsumerId, ProviderId, RelationType)).Returns(foundRelation); List <IDsmRelation> relations = new List <IDsmRelation>() { _existingRelation.Object }; _dsmModel.Setup(x => x.GetRelations()).Returns(relations); UpdateExistingModelPolicy policy = new UpdateExistingModelPolicy(_dsmModel.Object, DsmFilename, _actionManager.Object, null); policy.FinalizeImport(null); _actionManager.Verify(x => x.Execute(It.IsAny <RelationDeleteAction>()), Times.Once); }
public void GivenElementIsInModelButNotImportedAgainWhenImportIsFinalizedThenElementDeleteActionIsExecuted() { IDsmElement foundElement = _existingElement.Object; _dsmModel.Setup(x => x.GetElementByFullname(ElementFullName)).Returns(foundElement); List <IDsmElement> elements = new List <IDsmElement>() { _existingElement.Object }; _dsmModel.Setup(x => x.GetElements()).Returns(elements); UpdateExistingModelPolicy policy = new UpdateExistingModelPolicy(_dsmModel.Object, DsmFilename, _actionManager.Object, null); policy.FinalizeImport(null); _actionManager.Verify(x => x.Execute(It.IsAny <ElementDeleteAction>()), Times.Once); }
public void WhenPolicyIsConstructedThenModelIsLoaded() { UpdateExistingModelPolicy policy = new UpdateExistingModelPolicy(_dsmModel.Object, DsmFilename, _actionManager.Object, null); _dsmModel.Verify(x => x.LoadModel(DsmFilename, null), Times.Once()); }