public async Task OriginalShouldBeSameAsInput(string fileName, ContextDataEnum contextData, decimal autId)
        {
            string filepath = this.GetType().AssemblyDirectory() + "\\input\\" + fileName;

            string xml_result_ori        = null;
            string xml_result_actual     = null;
            XmlComparisonResult result   = null;
            XmlComparisonUtils  xmlUtils = new XmlComparisonUtils();

            using (SampleContext sampleContext = DbContextFactory <SampleContext> .Create(filepath, ConnectionBehaviour.Persistent, connectionName))
            {
                sampleContext.StartRecordingOriginalValues();

                //just load the author
                var autor = sampleContext.Authors.FirstOrDefault(aut => aut.Id == autId);
                autor.ShouldNotBe(null, $"author with id {autId} test {fileName}");

                xml_result_actual = await sampleContext.AsXmlAsync(contextData);

                xml_result_ori = await sampleContext.GetRecordedContext().AsXmlAsync(contextData);

                result = xmlUtils.CompareXml(xml_result_actual, xml_result_ori);
                result.AreEqual.ShouldBe(true, result.ToString());

                sampleContext.StopRecordingOriginalValues();
            }
        }
        public void ShouldCompareIdenticalXml()
        {
            XmlComparisonUtils xmlUtils = new XmlComparisonUtils();
            string xmlString = "<Root><Author><FirstName>Cedric</FirstName><LastName></LastName></Author></Root>";

            var result = xmlUtils.CompareXml(xmlString, xmlString);

            result.AreEqual.ShouldBe(true);
            result.Errors.ShouldBe(null);
        }
        public void ShouldCompareIdenticalXml()
        {
            XmlComparisonUtils xmlUtils  = new XmlComparisonUtils();
            string             xmlString = "<Root><Author><FirstName>Cedric</FirstName><LastName></LastName></Author></Root>";

            var result = xmlUtils.CompareXml(xmlString, xmlString);

            result.AreEqual.ShouldBe(true);
            result.Errors.ShouldBe(null);
        }
        public void ShouldFailInCompaingTwoXml()
        {
            XmlComparisonUtils xmlUtils = new XmlComparisonUtils();
            string expected = "<Root><Author><FirstName>Cedric</FirstName><LastName>Dumont</LastName><Age></Age></Author></Root>";
            string actual = "<Root><Author><FirstName>AnotherName</FirstName><LastName>AnotherLastName</LastName></Author></Root>";

            var result = xmlUtils.CompareXml(actual, expected);

            result.AreEqual.ShouldBe(false);
            result.Errors.Count().ShouldBe(4);
        }
        public void ShouldFailInCompaingTwoXml()
        {
            XmlComparisonUtils xmlUtils = new XmlComparisonUtils();
            string             expected = "<Root><Author><FirstName>Cedric</FirstName><LastName>Dumont</LastName><Age></Age></Author></Root>";
            string             actual   = "<Root><Author><FirstName>AnotherName</FirstName><LastName>AnotherLastName</LastName></Author></Root>";

            var result = xmlUtils.CompareXml(actual, expected);

            result.AreEqual.ShouldBe(false);
            result.Errors.Count().ShouldBe(4);
        }