public void Execute(XmlNode testConfig, Context context) { var configuration = new BizUnitXmlCompareConfiguration(testConfig, context); string foundFilePath = GetFoundFilePath(context, configuration); try { StringBuilder diff; bool comparisonResult = Compare(out diff, configuration.GoalFilePath, foundFilePath, configuration.StringsToSearchAndReplace, configuration.ElementsToExclude, configuration.AttributesToExclude, configuration.IgnoreChildOrder, configuration.IgnoreComments); if (!comparisonResult) { context.LogInfo(string.Format(CultureInfo.CurrentCulture, "This is the diff result: {0}", diff)); throw new ApplicationException(string.Format(CultureInfo.CurrentCulture, "Xml comparison failed between {0} and {1}. This is the diff result: {2}", foundFilePath, configuration.GoalFilePath, diff)); } context.LogInfo("Files are identical."); } finally { if (!string.IsNullOrEmpty(foundFilePath) && configuration.DeleteFile) { File.Delete(foundFilePath); context.LogInfo(string.Format(CultureInfo.CurrentCulture, "Found file ({0}) deleted.", foundFilePath)); } } }
public void DeleteFileProperty() { const bool testValue = false; var testInstance = new BizUnitXmlCompareConfiguration(); testInstance.DeleteFile = false; Assert.AreEqual(testValue, testInstance.DeleteFile); }
public void FilterProperty() { string testValue = "testValue"; var testInstance = new BizUnitXmlCompareConfiguration(); testInstance.Filter = testValue; Assert.AreEqual(testValue, testInstance.Filter); }
public void ElementsToExcludeProperty() { var testValue = new List<string>(); testValue.Add("this is an item"); var testInstance = new BizUnitXmlCompareConfiguration(); testInstance.ElementsToExclude = testValue; Assert.AreEqual(testValue, testInstance.ElementsToExclude); }
public void Constructor() { var testInstance = new BizUnitXmlCompareConfiguration(); Assert.NotNull(testInstance.ElementsToExclude); Assert.NotNull(testInstance.AttributesToExclude); Assert.NotNull(testInstance.StringsToSearchAndReplace); }
public void AttributesToExcludeProperty() { var testValue = new List<Attribute>(); var testAttribute = new Attribute(); testAttribute.Name = "name"; testAttribute.ParentElementXPath = "xpath"; testValue.Add(testAttribute); var testInstance = new BizUnitXmlCompareConfiguration(); testInstance.AttributesToExclude = testValue; Assert.AreEqual("name", testInstance.AttributesToExclude[0].Name); Assert.AreEqual("xpath", testInstance.AttributesToExclude[0].ParentElementXPath); }
public void IgnoreChildOrderProperty() { const bool testValue = false; var testInstance = new BizUnitXmlCompareConfiguration(); testInstance.IgnoreChildOrder = false; Assert.AreEqual(testValue, testInstance.IgnoreChildOrder); }
public void GoalFilePathProperty() { string testValue = "testValue"; var testInstance = new BizUnitXmlCompareConfiguration(); testInstance.GoalFilePath = testValue; Assert.AreEqual(testValue, testInstance.GoalFilePath); }
public void TimeoutProperty() { uint testValue = 10000; var testInstance = new BizUnitXmlCompareConfiguration(); testInstance.Timeout = testValue; Assert.AreEqual(testValue, testInstance.Timeout); }
public void StringsToSearchAndReplaceProperty() { var testValue = new List<Replacement>(); var testReplacement = new Replacement(); testReplacement.NewString = "new"; testReplacement.OldString = "old"; testValue.Add(testReplacement); var testInstance = new BizUnitXmlCompareConfiguration(); testInstance.StringsToSearchAndReplace = testValue; Assert.AreEqual("new", testInstance.StringsToSearchAndReplace[0].NewString); Assert.AreEqual("old", testInstance.StringsToSearchAndReplace[0].OldString); }
public void SearchDirectoryProperty() { string testValue = "testValue"; var testInstance = new BizUnitXmlCompareConfiguration(); testInstance.SearchDirectory = testValue; Assert.AreEqual(testValue, testInstance.SearchDirectory); }
public void IgnoreCommentsProperty() { const bool testValue = true; var testInstance = new BizUnitXmlCompareConfiguration(); testInstance.IgnoreComments = true; Assert.AreEqual(testValue, testInstance.IgnoreComments); }