public void ShouldReadSimpleXml()
        {
            XmlReader reader = XmlReaderUtil.Read(
                "<r>" +
                "  <o>" +
                "    <i1>1</i1>" +
                "    <i2>2</i2>" +
                "  </o>" +
                "  <o>" +
                "    <i1>3</i1>" +
                "    <i2>4</i2>" +
                "  </o>" +
                "</r>"
                );
            string recordName = "o";

            XmlFormatReader xmlFormatReader = new XmlFormatReader(reader, recordName);

            xmlFormatReader.HasNext().Should().BeTrue();
            xmlFormatReader.Next().Should().Equal(new Dictionary <string, string> {
                { "i1", "1" }, { "i2", "2" }
            });
            xmlFormatReader.HasNext().Should().BeTrue();
            xmlFormatReader.Next().Should().Equal(new Dictionary <string, string> {
                { "i1", "3" }, { "i2", "4" }
            });
            xmlFormatReader.HasNext().Should().BeFalse();
        }
        public void ShouldReadRealWorldNoark4Xml()
        {
            var sb = new StringBuilder();

            sb.AppendLine(@"<?xml version=""1.0"" encoding=""ISO-8859-1""?>");
            sb.AppendLine(@"<!DOCTYPE AVGRADKODE.TAB SYSTEM ""AVGRKODE.DTD"">");
            sb.AppendLine(@"<AVGRADKODE.TAB VERSJON=""1.0"">");
            sb.AppendLine(@"   <AVGRADKODE>");
            sb.AppendLine(@"      <AG.KODE>A</AG.KODE>");
            sb.AppendLine(@"      <AG.BETEGN>Avgraderes ved funksjon kjørt etter avgraderingstidspunkt</AG.BETEGN>");
            sb.AppendLine(@"   </AVGRADKODE>");
            sb.AppendLine(@"   <AVGRADKODE>");
            sb.AppendLine(@"      <AG.KODE>G</AG.KODE>");
            sb.AppendLine(@"      <AG.BETEGN>Gjennomgås for vurdering ved avgraderingstidspunkt</AG.BETEGN>");
            sb.AppendLine(@"   </AVGRADKODE>");
            sb.AppendLine(@"   <AVGRADKODE>");
            sb.AppendLine(@"      <AG.KODE>S</AG.KODE>");
            sb.AppendLine(@"      <AG.BETEGN>Sperrefrist, avgraderes automatisk på avgraderingsdato</AG.BETEGN>");
            sb.AppendLine(@"   </AVGRADKODE>");
            sb.AppendLine(@"   <AVGRADKODE>");
            sb.AppendLine(@"      <AG.KODE>AU</AG.KODE>");
            sb.AppendLine(@"      <AG.BETEGN>Avgradering utført</AG.BETEGN>");
            sb.AppendLine(@"   </AVGRADKODE>");
            sb.AppendLine(@"   <AVGRADKODE>");
            sb.AppendLine(@"      <AG.KODE>U</AG.KODE>");
            sb.AppendLine(@"      <AG.BETEGN>Unntatt fra automatisk avgradering</AG.BETEGN>");
            sb.AppendLine(@"   </AVGRADKODE>");
            sb.AppendLine(@"</AVGRADKODE.TAB>");

            XmlReader reader     = XmlReaderUtil.Read(sb.ToString());
            string    recordName = "AVGRADKODE";

            XmlFormatReader xmlFormatReader = new XmlFormatReader(reader, recordName);

            xmlFormatReader.HasNext().Should().BeTrue();
            xmlFormatReader.Next()
            .Should()
            .Equal(new Dictionary <string, string>
            {
                { "AG.KODE", "A" },
                { "AG.BETEGN", "Avgraderes ved funksjon kjørt etter avgraderingstidspunkt" }
            });
            xmlFormatReader.HasNext().Should().BeTrue();
            xmlFormatReader.Next()
            .Should()
            .Equal(new Dictionary <string, string>
            {
                { "AG.KODE", "G" },
                { "AG.BETEGN", "Gjennomgås for vurdering ved avgraderingstidspunkt" }
            });
            xmlFormatReader.HasNext().Should().BeTrue();
            xmlFormatReader.Next()
            .Should()
            .Equal(new Dictionary <string, string>
            {
                { "AG.KODE", "S" },
                { "AG.BETEGN", "Sperrefrist, avgraderes automatisk på avgraderingsdato" }
            });
            xmlFormatReader.HasNext().Should().BeTrue();
            xmlFormatReader.Next()
            .Should()
            .Equal(new Dictionary <string, string> {
                { "AG.KODE", "AU" }, { "AG.BETEGN", "Avgradering utført" }
            });
            xmlFormatReader.HasNext().Should().BeTrue();
            xmlFormatReader.Next()
            .Should()
            .Equal(new Dictionary <string, string>
            {
                { "AG.KODE", "U" },
                { "AG.BETEGN", "Unntatt fra automatisk avgradering" }
            });
            xmlFormatReader.HasNext().Should().BeFalse();
        }