Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        public static void AreEqual(string expected, string actual)
        {
            Diff d = DiffBuilder.Compare(Input.FromString(expected))
                     .WithTest(actual).Build();

            Assert.IsFalse(d.HasDifferences());
        }
Ejemplo n.º 3
0
        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 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());
        }
Ejemplo n.º 5
0
        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());
            }
Ejemplo n.º 6
0
        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""?>
<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 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 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 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");
        }
Ejemplo n.º 11
0
        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 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");
        }
Ejemplo n.º 13
0
        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());
        }
Ejemplo n.º 16
0
        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));
            }
        }
Ejemplo n.º 17
0
        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 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 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());
        }
Ejemplo n.º 20
0
        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());
        }
Ejemplo n.º 21
0
        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());
        }
Ejemplo n.º 22
0
        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);
        }
Ejemplo n.º 23
0
        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);
        }
Ejemplo n.º 24
0
        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());
        }
Ejemplo n.º 25
0
        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);
        }
Ejemplo n.º 26
0
        public void Setup()
        {
            _mockSyncPair = new Mock <ISyncPair>();

            _mockSyncPair.Setup(m => m.Source).Returns(source);
            _mockSyncPair.Setup(m => m.Destination).Returns(destination);

            _mockSourceFolderInfo = new Mock <IKoreFolderInfo>();
            _mockSourceFolderInfo.Setup(m => m.FullName).Returns(source);
            _mockSourceFolderInfo.Setup(m => m.Exists).Returns(true);

            _mockDestinationFolderInfo = new Mock <IKoreFolderInfo>();
            _mockDestinationFolderInfo.Setup(m => m.FullName).Returns(destination);
            _mockDestinationFolderInfo.Setup(m => m.EnsureExists());

            _mockDiffInfo = new Mock <IDiffInfo>();
            _mockDiffInfo.Setup(m => m.Source).Returns(_mockSourceFolderInfo.Object);
            _mockDiffInfo.Setup(m => m.Destination).Returns(_mockDestinationFolderInfo.Object);

            _mockDiffInfoBuilder = new Mock <IDiffInfoBuilder>();
            _mockDiffInfoBuilder.Setup(m => m.BuildInfo(It.IsAny <ISyncPair>()));
            _mockDiffInfoBuilder.Setup(m => m.BuildInfo(It.IsAny <ISyncPair>())).Returns(_mockDiffInfo.Object);

            _mockFolderDiffer = new Mock <IFolderDiffer>();

            _mockScanEventFileInfo = new Mock <IKoreFileInfo>();

            _mockFileScanner = new Mock <IFileScanner>();
            _mockFileScanner.Setup(m => m.Scan(It.IsAny <IKoreFolderInfo>())).
            Returns(new Mock <IFileScanResult>().Object).Raises(m => m.FileFound += null, _mockScanEventFileInfo.Object);

            _builder = new DiffBuilder(_mockDiffInfoBuilder.Object, _mockFileScanner.Object, _mockFolderDiffer.Object);
        }
Ejemplo n.º 27
0
        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());
        }
Ejemplo n.º 28
0
        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"">
    <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());
        }
Ejemplo n.º 30
0
        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());
        }
Ejemplo n.º 31
0
 public void AddDiffs(
     DiffBuilder collectionBuilder,
     object x,
     object y,
     MemberSettings settings)
 {
     this.AddDiffs(collectionBuilder, (Array)x, (Array)y, settings);
 }
Ejemplo n.º 32
0
        private void AddDiffs(
            DiffBuilder collectionBuilder,
            Array x,
            Array y,
            MemberSettings settings)
        {
            RankDiff rankDiff;
            if (TryGetRankDiff(x, y, out rankDiff))
            {
                collectionBuilder.Add(rankDiff);
                return;
            }

            foreach (var index in x.Indices())
            {
                collectionBuilder.UpdateCollectionItemDiff(x.GetValue(index), y.GetValue(index), new Index(index), settings);
            }
        }