public void SerializeWithListOfEnums() { var request = new UserServiceAssignListRequest() { UserId = "*****@*****.**", ServiceName = new List <UserService>() { UserService.AdviceOfCharge, UserService.AlternateNumbers, UserService.AnonymousCallRejection, UserService.AttendantConsole } }; var document = new BroadsoftDocument <UserServiceAssignListRequest>() { SessionId = "acbdf1234567890", Protocol = "OCI", Command = new List <UserServiceAssignListRequest>() { request } }; var xml = _serializer.Serialize(document); var diff = DiffBuilder.Compare(Input.FromFile(@"test-data/UserServiceAssignListRequest.xml")) .WithTest(xml).Build(); Assert.False(diff.HasDifferences()); }
public void GetXmlTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?> <lineitem> <glaccountno /> <amount>76343.43</amount> </lineitem>"; Stream stream = new MemoryStream(); XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.UTF8; xmlSettings.Indent = true; xmlSettings.IndentChars = " "; IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings); BillLineCreate record = new BillLineCreate(); record.TransactionAmount = 76343.43M; record.WriteXml(ref xml); xml.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
public void CreditAmountTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?> <GLENTRY> <ACCOUNTNO /> <TR_TYPE>-1</TR_TYPE> <TRX_AMOUNT>400.23</TRX_AMOUNT> </GLENTRY>"; Stream stream = new MemoryStream(); XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.UTF8; xmlSettings.Indent = true; xmlSettings.IndentChars = " "; IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings); JournalEntryLineCreate record = new JournalEntryLineCreate(); record.TransactionAmount = -400.23M; record.WriteXml(ref xml); xml.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
public void ExtractItems() { var outputDir = Path.Combine(GetTestProjectDir("ConsoleApp"), NativeExeOutputDirectory); var exe = Path.Combine(outputDir, "ConsoleApp.exe"); var fileName = Path.GetTempFileName(); Console.WriteLine("Using temp file: " + fileName); var result = BuildProject("ConsoleApp", targets: "ExtractItemsTest", properties: new { ExtractItemsOutputFile = fileName }); var expected1 = Resources.ExtractItemsTestExpected1.Replace("$(TestProjects)", TestProjectsRoot); Diff diff = DiffBuilder.Compare(Input.FromFile(fileName)) .WithDifferenceEvaluator(DifferenceEvaluators.IgnorePrologDifferences()) .WithTest(Input.FromString(expected1)) .Build(); Assert.IsFalse(diff.HasDifferences(), diff.ToString()); fileName = Path.GetTempFileName(); Console.WriteLine("Using temp file: " + fileName); var expected2 = Resources.ExtractItemsTestExpected2.Replace("$(TestProjects)", TestProjectsRoot); result = BuildProject("ConsoleApp", targets: "ExtractItemsTest", properties: new { ExtractItemsOutputFile = fileName, TestVariable = "Something" }); diff = DiffBuilder.Compare(Input.FromFile(fileName)) .WithDifferenceEvaluator(DifferenceEvaluators.IgnorePrologDifferences()) .WithTest(Input.FromString(expected2)) .Build(); Assert.IsFalse(diff.HasDifferences(), diff.ToString()); }
public void TestComparisonType_NO_NAMESPACE_SCHEMA_LOCATION() { // prepare data Diff diff = DiffBuilder.Compare( "<a xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " + "xsi:noNamespaceSchemaLocation=\"Book.xsd\"/>") .WithTest("<a xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " + "xsi:noNamespaceSchemaLocation=\"Telephone.xsd\"/>") .Build(); AssertPreRequirements(diff, ComparisonType.NO_NAMESPACE_SCHEMA_LOCATION); Comparison firstDiff = diff.Differences.First().Comparison; // run test string description = compFormatter.GetDescription(firstDiff); string controlDetails = GetDetails(firstDiff.ControlDetails, firstDiff.Type); string testDetails = GetDetails(firstDiff.TestDetails, firstDiff.Type); // validate result Assert.AreEqual("Expected no namespace schema location 'Book.xsd' but was 'Telephone.xsd' - " + "comparing <a...> at /a[1] to <a...> at /a[1]", description); AssertEquals("<a xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " + "xsi:noNamespaceSchemaLocation=\"Book.xsd\" />", controlDetails); AssertEquals("<a xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " + "xsi:noNamespaceSchemaLocation=\"Telephone.xsd\" />", testDetails); }
public void GetXmlTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?> <TIMESHEETENTRY> <ENTRYDATE>06/30/2016</ENTRYDATE> <QTY /> </TIMESHEETENTRY>"; Stream stream = new MemoryStream(); XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.UTF8; xmlSettings.Indent = true; xmlSettings.IndentChars = " "; IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings); TimesheetEntryCreate entry = new TimesheetEntryCreate(); entry.EntryDate = new DateTime(2016, 06, 30); entry.WriteXml(ref xml); xml.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
public void ParamOverridesTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?> <function controlid=""unittest""> <inspect detail=""1""> <object>APBILL</object> </inspect> </function>"; Stream stream = new MemoryStream(); XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.UTF8; xmlSettings.Indent = true; xmlSettings.IndentChars = " "; IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings); Inspect inspect = new Inspect("unittest"); inspect.ObjectName = "APBILL"; inspect.ShowDetail = true; inspect.WriteXml(ref xml); xml.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
public void GetXmlTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?> <function controlid=""unittest""> <delete> <object>GLBATCH</object> <keys>1234</keys> </delete> </function>"; Stream stream = new MemoryStream(); XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.UTF8; xmlSettings.Indent = true; xmlSettings.IndentChars = " "; IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings); JournalEntryDelete record = new JournalEntryDelete("unittest"); record.RecordNo = 1234; record.WriteXml(ref xml); xml.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
public void GetXmlTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?> <updateccpayitem line_num=""3"" />"; Stream stream = new MemoryStream(); XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.UTF8; xmlSettings.Indent = true; xmlSettings.IndentChars = " "; IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings); ChargeCardTransactionLineUpdate record = new ChargeCardTransactionLineUpdate(); record.LineNo = 3; record.WriteXml(ref xml); xml.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
public void TestDemoFilteringAttributes() { string inputOne = "<x><something fluff='a'/><a stuff='a'/><b stuff='b'/></x>"; string inputtwo = "<x><something fluff='b'/><a stuff='b'/><b stuff='c'/></x>"; var diff = DiffBuilder.Compare(inputOne) .WithTest(inputtwo) .IgnoreWhitespace() .WithAttributeFilter( attribute => { return // Filter attribute out in all cases (!attribute.Name.Equals("fluff", StringComparison.CurrentCultureIgnoreCase) // Filter attribute out when the owner node is a specific tag type && !(attribute.Name.Equals("stuff", StringComparison.CurrentCultureIgnoreCase) && attribute.OwnerElement.Name.Equals("a", StringComparison.CurrentCultureIgnoreCase))); }).Build(); Assert.IsTrue(diff.HasDifferences()); int count = 0; foreach (var difference in diff.Differences) { Console.WriteLine(difference); Assert.AreEqual(@"Expected attribute value 'b' but was 'c' - comparing <b stuff=""b""...> at /x[1]/b[1]/@stuff to <b stuff=""c""...> at /x[1]/b[1]/@stuff (DIFFERENT)", difference.ToString()); count++; } Assert.AreEqual(1, count, "Only one diff expected"); }
public void TestDemoFilteringElements() { string inputOne = "<x><something fluff='a'/><something>a</something><a stuff='a'/><b stuff='b'/></x>"; string inputtwo = "<x><something fluff='b'/><something>b</something><a stuff='b'/><b stuff='c'/></x>"; var diff = DiffBuilder.Compare(inputOne) .WithTest(inputtwo) .IgnoreWhitespace() .WithNodeFilter( node => { return // Filter out an element in all casses (!(node.NodeType.Equals(System.Xml.XmlNodeType.Element) && node.Name.Equals("a", StringComparison.CurrentCultureIgnoreCase)) // Filter out an element if it has attributes && !(node.NodeType.Equals(System.Xml.XmlNodeType.Element) && node.Name.Equals("something", StringComparison.CurrentCultureIgnoreCase) && node.Attributes.Count > 0)); }).Build(); Assert.IsTrue(diff.HasDifferences()); int count = 0; foreach (var difference in diff.Differences) { Console.WriteLine(difference); count++; } Assert.AreEqual(2, count, "Two diffs expected"); }
public void GetXmlTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?> <function controlid=""unittest""> <getUserPermissions> <userId>helloworld</userId> </getUserPermissions> </function>"; Stream stream = new MemoryStream(); XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.UTF8; xmlSettings.Indent = true; xmlSettings.IndentChars = " "; IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings); UserPermissionsRead record = new UserPermissionsRead("unittest"); record.UserId = "helloworld"; record.WriteXml(ref xml); xml.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
public void SerializeWithEnums() { var request = new UserGetListInGroupRequest() { ServiceProviderId = "SP", GroupId = "Group", SearchCriteriaUserFirstName = new List <SearchCriteriaUserFirstName>() { new SearchCriteriaUserFirstName() { IsCaseInsensitive = false, Mode = SearchMode.EqualTo, Value = "John" } } }; var document = new BroadsoftDocument <UserGetListInGroupRequest>() { SessionId = "acbdf1234567890", Protocol = "OCI", Command = new List <UserGetListInGroupRequest>() { request } }; var xml = _serializer.Serialize(document); var diff = DiffBuilder.Compare(Input.FromFile(@"test-data/UserGetListInGroupRequest.xml")) .WithTest(xml).Build(); Assert.False(diff.HasDifferences()); }
public void TestNillableAbstractProperty() { var request = new UserModifyRequest22() { UserId = "*****@*****.**", Extension = "999", PhoneNumber = null, Department = null }; var document = new BroadsoftDocument <UserModifyRequest22>() { SessionId = "636956952081463406", Protocol = "OCI", Command = new List <UserModifyRequest22>() { request } }; var xml = _serializer.Serialize(document); var diff = DiffBuilder.Compare(Input.FromFile(@"test-data/UserModifyRequest22-nulldepartment.xml")) .WithTest(xml).Build(); Assert.False(diff.HasDifferences()); }
public void GetXmlTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?> <arpaymentitem> <invoicekey>1234</invoicekey> <amount>1023.45</amount> </arpaymentitem>"; Stream stream = new MemoryStream(); XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.UTF8; xmlSettings.Indent = true; xmlSettings.IndentChars = " "; IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings); ArPaymentItem record = new ArPaymentItem(); record.ApplyToRecordId = 1234; record.AmountToApply = 1023.45M; record.WriteXml(ref xml); xml.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
public void GetXmlTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?> <function controlid=""unittest""> <getDdsDdl> <object>GLACCOUNT</object> </getDdsDdl> </function>"; Stream stream = new MemoryStream(); XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.UTF8; xmlSettings.Indent = true; xmlSettings.IndentChars = " "; IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings); DdsObjectDdlRead runJob = new DdsObjectDdlRead("unittest"); runJob.ObjectName = "GLACCOUNT"; runJob.WriteXml(ref xml); xml.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
public void RoundTripTest(string path) { var file = GpxFile.ReadFrom(XmlReader.Create(path), null); using (var ms = new MemoryStream()) { var writerSettings = new XmlWriterSettings { Encoding = Encoding.UTF8, CloseOutput = false }; using (var wr = XmlWriter.Create(ms, writerSettings)) { file.WriteTo(wr, null); } ms.Position = 0; byte[] expected = File.ReadAllBytes(path); var diff = DiffBuilder.Compare(expected) .NormalizeWhitespace() .WithTest(ms) .IgnoreComments() .CheckForSimilar() .Build(); // note that this is not a guarantee in the general case. the inputs here have all been // slightly tweaked such that it should succeed for our purposes. Assert.False(diff.HasDifferences(), string.Join(Environment.NewLine, diff.Differences)); } }
public void GetXmlTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?> <subtotal> <description>Subtotal Description</description> <total>2340</total> </subtotal>"; Stream stream = new MemoryStream(); XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.UTF8; xmlSettings.Indent = true; xmlSettings.IndentChars = " "; IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings); TransactionSubtotalCreate record = new TransactionSubtotalCreate() { Description = "Subtotal Description", Total = 2340, }; record.WriteXml(ref xml); xml.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
public void GetXmlTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?> <function controlid=""unittest""> <update_supdocfolder> <supdocfoldername>My Folder</supdocfoldername> </update_supdocfolder> </function>"; Stream stream = new MemoryStream(); XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.UTF8; xmlSettings.Indent = true; xmlSettings.IndentChars = " "; IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings); AttachmentsFolderUpdate record = new AttachmentsFolderUpdate("unittest"); record.FolderName = "My Folder"; record.WriteXml(ref xml); xml.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
public void GetXmlTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?> <sotransitem> <itemid>26323</itemid> <quantity>2340</quantity> </sotransitem>"; Stream stream = new MemoryStream(); XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.UTF8; xmlSettings.Indent = true; xmlSettings.IndentChars = " "; IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings); OrderEntryTransactionLineCreate record = new OrderEntryTransactionLineCreate() { ItemId = "26323", Quantity = 2340, }; record.WriteXml(ref xml); xml.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
public void DefaultParamsTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?> <function controlid=""unittest""> <get_list object=""smarteventlog"" showprivate=""false"" /> </function>"; Stream stream = new MemoryStream(); XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.UTF8; xmlSettings.Indent = true; xmlSettings.IndentChars = " "; IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings); GetList getList = new GetList("unittest"); getList.ObjectName = "smarteventlog"; getList.WriteXml(ref xml); xml.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
public void TestPipeline() { IBaseMessage msg = MessageHelper.CreateFromString(Resource.GoogleBucketEntry_1); rcvpipeline.AddDocSpec(typeof(Schemas.BucketClaimCheck)); MessageCollection messages = rcvpipeline.Execute(msg); IBaseMessage message = messages[0]; SendPipelineWrapper snddirectpipeline = PipelineFactory.CreateSendPipeline(typeof(Pipelines.ClaimCheckSendPipeline)); IBaseMessage sendmessage = snddirectpipeline.Execute(messages); Diff myDiff = DiffBuilder.Compare(Input.FromString(Resource.GoogleBucketResult)) .WithTest(Input.FromStream(sendmessage.BodyPart.Data)) .CheckForIdentical().Build(); Assert.IsFalse(myDiff.HasDifferences()); }
public void TestComparisonType_DOCTYPE_SYSTEM_ID() { // prepare data XmlDocument controlDoc = Convert.ToDocument(Org.XmlUnit.Builder.Input.FromString( "<!DOCTYPE Book PUBLIC \"XMLUNIT/TEST/PUB\" \"http://example.org/nonsense\"><a/>").Build()); XmlDocument testDoc = Convert.ToDocument(Org.XmlUnit.Builder.Input.FromString( "<!DOCTYPE Book PUBLIC \"XMLUNIT/TEST/PUB\" \"http://example.org/404\"><a/>").Build()); Diff diff = DiffBuilder.Compare(controlDoc).WithTest(testDoc).Build(); AssertPreRequirements(diff, ComparisonType.DOCTYPE_SYSTEM_ID); Comparison firstDiff = diff.Differences.First().Comparison; // run test string description = compFormatter.GetDescription(firstDiff); string controlDetails = GetDetails(firstDiff.ControlDetails, firstDiff.Type); string testDetails = GetDetails(firstDiff.TestDetails, firstDiff.Type); // validate result Assert.AreEqual( "Expected doctype system id 'http://example.org/nonsense' but was 'http://example.org/404' - " + "comparing <!DOCTYPE Book PUBLIC \"XMLUNIT/TEST/PUB\" \"http://example.org/nonsense\"><a...> " + "to <!DOCTYPE Book PUBLIC \"XMLUNIT/TEST/PUB\" \"http://example.org/404\"><a...>", description); AssertEquals("<!DOCTYPE Book PUBLIC \"XMLUNIT/TEST/PUB\" \"http://example.org/nonsense\">\n<a>\n</a>", controlDetails); AssertEquals("<!DOCTYPE Book PUBLIC \"XMLUNIT/TEST/PUB\" \"http://example.org/404\">\n<a>\n</a>", testDetails); }
public static void HtmlEqual( string expected, string actual, Predicate <IDiff> excludeDiff = null, bool outputFullMarkupOnFailure = false) { excludeDiff ??= _ => false; var diffs = DiffBuilder.Compare(expected).WithTest(actual).Build() .Where(diff => !excludeDiff(diff) && !ExcludeDiff(diff)) .ToArray(); if (diffs.Any()) { var sb = new StringBuilder(); sb.AppendLine("AssertEx.HtmlEqual() Failure"); sb.AppendLine(); if (outputFullMarkupOnFailure) { sb.AppendLine("Expected:"); sb.AppendLine(HtmlHelper.ParseHtmlElement(expected).OuterHtml); sb.AppendLine(); sb.AppendLine("Actual:"); sb.AppendLine(HtmlHelper.ParseHtmlElement(actual).OuterHtml); } foreach (var diff in diffs) { DiffConverter.Append(diff, sb); } throw new XunitException(sb.ToString()); }
public void TestComparisonType_WhitespacesAndUnformattedDetails() { // prepare data Diff diff = DiffBuilder.Compare("<a><b/></a>").WithTest("<a>\n <b/>\n</a>").Build(); AssertPreRequirements(diff, ComparisonType.CHILD_NODELIST_LENGTH); Comparison firstDiff = diff.Differences.First().Comparison; // run test string description = compFormatter.GetDescription(firstDiff); string controlDetails = GetDetails(firstDiff.ControlDetails, firstDiff.Type); string testDetails = GetDetails(firstDiff.TestDetails, firstDiff.Type); string controlDetailsUnformatted = compFormatter .GetDetails(firstDiff.ControlDetails, firstDiff.Type, false); string testDetailsUnformatted = compFormatter .GetDetails(firstDiff.TestDetails, firstDiff.Type, false); // validate result Assert.AreEqual("Expected child nodelist length '1' but was '3' - " + "comparing <a...> at /a[1] to <a...> at /a[1]", description); AssertEquals("<a>\n <b>\n</b>\n</a>", controlDetails); AssertEquals("<a>\n <b>\n</b>\n</a>", testDetails); AssertEquals("<a><b>\n</b></a>", controlDetailsUnformatted); AssertEquals("<a>\n <b>\n</b>\n</a>", testDetailsUnformatted); }
public static void AreEqual(string expected, string actual) { Diff d = DiffBuilder.Compare(Input.FromString(expected)) .WithTest(actual).Build(); Assert.IsFalse(d.HasDifferences()); }
public void GetXmlTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?> <function controlid=""unittest""> <delete_allocation key=""SPLIT60-40"" /> </function>"; Stream stream = new MemoryStream(); XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.UTF8; xmlSettings.Indent = true; xmlSettings.IndentChars = " "; IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings); AllocationDelete record = new AllocationDelete("unittest"); record.AllocationId = "SPLIT60-40"; record.WriteXml(ref xml); xml.Flush(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
static CompareResult Compare( string received, string verified, IReadOnlyDictionary <string, object> context, Action <IDiffingStrategyCollection>?action) { var builder = DiffBuilder.Compare(verified); builder.WithTest(received); if (action != null) { builder.WithOptions(action); } if (context.GetCompareSettings(out var innerSettings)) { builder.WithOptions(innerSettings.Action); } var diffs = builder.Build().ToList(); if (diffs.Any()) { var stringBuilder = new StringBuilder(Environment.NewLine); foreach (var diff in diffs) { DiffConverter.Append(diff, stringBuilder); } return(CompareResult.NotEqual(stringBuilder.ToString())); } return(CompareResult.Equal); }
public void GetXmlTest() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?><request><control><senderid>testsenderid</senderid><password>pass123!</password><controlid>unittest</controlid><uniqueid>false</uniqueid><dtdversion>3.0</dtdversion><includewhitespace>false</includewhitespace></control><operation transaction=""false""><authentication><sessionid>testsession..</sessionid></authentication><content /></operation></request>"; SdkConfig config = new SdkConfig() { SenderId = "testsenderid", SenderPassword = "******", SessionId = "testsession..", ControlId = "unittest", }; Content contentBlock = new Content(); RequestBlock requestBlock = new RequestBlock(config, contentBlock); Stream stream = requestBlock.WriteXml(); stream.Position = 0; StreamReader reader = new StreamReader(stream); Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd()) .WithDifferenceEvaluator(DifferenceEvaluators.Default) .Build(); Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString()); }
public static Diff DiffNodeSetFiles(string controlFileName, string testFileName) { var controlInfo = LoadNamespaces(controlFileName); var testInfo = LoadNamespaces(testFileName); var controlNamespaces = controlInfo.Item1; var controlAliases = controlInfo.Item2; var testNamespaces = testInfo.Item1; var testAliases = testInfo.Item2; var controlFile = File.ReadAllText(controlFileName); var testFile = File.ReadAllText(testFileName); controlFile = NormalizeAliasesAndNamespaces(controlFile, controlAliases, controlNamespaces); testFile = NormalizeAliasesAndNamespaces(testFile, testAliases, testNamespaces); var diffHelper = new OpcNodeSetXmlUnit(controlAliases, controlNamespaces, testAliases, testNamespaces, controlFile, testFile); Diff d = DiffBuilder .Compare(Input.FromString(controlFile)) .WithTest(Input.FromString(testFile)) .CheckForSimilar() .WithDifferenceEvaluator(diffHelper.OpcNodeSetDifferenceEvaluator) .WithNodeMatcher(new DefaultNodeMatcher(new ElementSelector[] { diffHelper.OpcElementSelector })) .Build(); return(d); }