protected override void Action() { bool secondFileIsOlder = _inputFile1.CreationTime < _inputFile2.CreationTime; FileInfo oldModelFile = secondFileIsOlder ? _inputFile1 : _inputFile2; FileInfo newModelFile = secondFileIsOlder ? _inputFile2 : _inputFile1; DsiModel oldModel = new DsiModel("Diff", new List <string>(), Assembly.GetExecutingAssembly()); DsiModel newModel = new DsiModel("Diff", new List <string>(), Assembly.GetExecutingAssembly()); oldModel.Load(oldModelFile.FullName, this); newModel.Load(newModelFile.FullName, this); DsiModelCompare comparer = new DsiModelCompare(oldModel, newModel, this); comparer.Compare(); if (comparer.AreIdentical) { Logger.LogUserMessage("Models are identical"); } else { Logger.LogUserMessage("Models are different"); ReportDeltas(comparer); } }
public void TestInitialize() { _oldModel = new DsiModel("Test1", new List <string>(), Assembly.GetExecutingAssembly()); _newModel = new DsiModel("Test2", new List <string>(), Assembly.GetExecutingAssembly()); _dsiModelCompare = new DsiModelCompare(_oldModel, _newModel, null); _allModels = new [] { _oldModel, _newModel }; _onlyOldModel = new [] { _oldModel }; _onlyNewModel = new [] { _newModel }; }
private void ReportDeltas(DsiModelCompare comparer) { Logger.LogUserMessage("Added Elements"); Logger.LogUserMessage("=============="); foreach (string elementName in comparer.AddedElements) { Logger.LogUserMessage($" {elementName}"); } Logger.LogUserMessage(""); Logger.LogUserMessage("Removed Elements"); Logger.LogUserMessage("==============="); foreach (string elementName in comparer.RemovedElements) { Logger.LogUserMessage($" {elementName}"); } Logger.LogUserMessage(""); Logger.LogUserMessage("Added Relations"); Logger.LogUserMessage("=============="); foreach (KeyValuePair <string, HashSet <string> > relations in comparer.AddedRelations) { string consumer = relations.Key; foreach (string provider in relations.Value) { Logger.LogUserMessage($" {consumer} -> {provider}"); } } Logger.LogUserMessage(""); Logger.LogUserMessage("Removed Relations"); Logger.LogUserMessage("================="); foreach (KeyValuePair <string, HashSet <string> > relations in comparer.RemovedRelations) { string consumer = relations.Key; foreach (string provider in relations.Value) { Logger.LogUserMessage($" {consumer} -> {provider}"); } } Console.WriteLine(""); }