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 WhenBuildingDsmThenMetaDataIsCopied() { DsmBuilder builder = new DsmBuilder(_dsiModel.Object, _dsmModel.Object, _importPolicy.Object, false); builder.Build(null); _importPolicy.Verify(x => x.ImportMetaDataItem(MetaDataGroup, MetaDataItemName1, MetaDataItemValue1), Times.Once()); _importPolicy.Verify(x => x.ImportMetaDataItem(MetaDataGroup, MetaDataItemName2, MetaDataItemValue2), Times.Once()); _importPolicy.Verify(x => x.ImportMetaDataItem(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Exactly(2)); }
public void WhenBuildingDsmThenRelationsAreResolvedAndAdded() { DsmBuilder builder = new DsmBuilder(_dsiModel.Object, _dsmModel.Object, _importPolicy.Object, false); builder.Build(null); _importPolicy.Verify(x => x.ImportRelation(DsmElementIdC, DsmElementIdD, DsiRelationTypeAbCtoAbd, DsiRelationWeightAbCtoAbd), Times.Exactly(1)); // Between a.b.c and a.b.d _importPolicy.Verify(x => x.ImportRelation(DsmElementIdD, DsmElementIdE, DsiRelationTypeAbDtoE, DsiRelationWeightAbDtoE), Times.Exactly(1)); // Between a.b.d and a _importPolicy.Verify(x => x.ImportRelation(DsmElementIdC, DsmElementIdE, DsiRelationTypeAbCtoE, DsiRelationWeightAbCtoE), Times.Exactly(1)); // Between a.b.d and a _importPolicy.Verify(x => x.ImportRelation(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), It.IsAny <int>()), Times.Exactly(3)); }
public void WhenBuildingDsmThenElementHierarchyIsCreated() { DsmBuilder builder = new DsmBuilder(_dsiModel.Object, _dsmModel.Object, _importPolicy.Object, false); builder.Build(null); _importPolicy.Verify(x => x.ImportElement(DsiElementNameA, DsmElementNameA, string.Empty, null), Times.Exactly(2)); // For a.b.c and a.b.d _importPolicy.Verify(x => x.ImportElement(DsiElementNameAb, DsmElementNameB, string.Empty, _dsmElementA.Object), Times.Exactly(2)); // For a.b.c and a.b.d _importPolicy.Verify(x => x.ImportElement(DsiElementNameAbc, DsmElementNameC, DsiElementTypeAbc, _dsmElementB.Object), Times.Exactly(1)); // For a.b.c _importPolicy.Verify(x => x.ImportElement(DsiElementNameAbd, DsmElementNameD, DsiElementTypeAbd, _dsmElementB.Object), Times.Exactly(1)); // For a.b.d _importPolicy.Verify(x => x.ImportElement(DsiElementNameE, DsmElementNameE, DsiElementTypeE, null), Times.Exactly(1)); // For e _importPolicy.Verify(x => x.ImportElement(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <IDsmElement>()), Times.Exactly(7)); }