public void TestConvertToXMLNormalizedRoundtrip() { MemoryStream out1 = null; using (var input = new FileStream(Environment.CurrentDirectory + StaticTestRecords.RESOURCES_BRKRTEST_MRC, FileMode.Open)) { Assert.IsNotNull(input); out1 = new MemoryStream(); MarcStreamReader marcReader = new MarcStreamReader(input); MarcXmlWriter xmlWriter = new MarcXmlWriter(out1); xmlWriter.Converter = new AnselToUnicode(); xmlWriter.UnicodeNormalization = true; while (marcReader.MoveNext()) { var record = marcReader.Current; xmlWriter.Write(record); } input.Close(); xmlWriter.Close(); out1.Close(); } using (MemoryStream out2 = new MemoryStream()) { using (MemoryStream @in = new MemoryStream(out1.ToArray())) { var xmlReader = new MarcXmlReader(@in).GetEnumerator(); MarcStreamWriter marcWriter = new MarcStreamWriter(out2); marcWriter.Converter = new UnicodeToAnsel(); while (xmlReader.MoveNext()) { var record = xmlReader.Current; marcWriter.Write(record); } @in.Close(); marcWriter.Close(); out2.Close(); using (var inputCompare1 = new FileStream(Environment.CurrentDirectory + StaticTestRecords.RESOURCES_BRKRTEST_MRC, FileMode.Open)) { Assert.IsNotNull(inputCompare1); var inputCompare2 = new MemoryStream(out2.ToArray()); MarcStreamReader readComp1 = new MarcStreamReader(inputCompare1); MarcStreamReader readComp2 = new MarcStreamReader(inputCompare2); IRecord r1, r2; do { r1 = (readComp1.MoveNext()) ? readComp1.Current : null; r2 = (readComp2.MoveNext()) ? readComp2.Current : null; if (r1 != null && r2 != null) { RecordTestingUtils.AssertEqualsIgnoreLeader(r1, r2); } } while (r1 != null && r2 != null); } } } }
public void TestReadIndicatorlessRecord() { using (var fs = new FileStream(Environment.CurrentDirectory + "\\Resources\\cruel-cruel-indicatorless-summerland.xml", FileMode.Open)) { Assert.IsNotNull(fs); var reader = new MarcXmlReader().Read(fs).GetEnumerator(); Assert.IsTrue(reader.MoveNext()); var record = reader.Current; } }
public void TestWriteAndReadRoundtrip() { MemoryStream out2 = null; using (var input = new FileStream(Environment.CurrentDirectory + StaticTestRecords.RESOURCES_CHABON_MRC, FileMode.Open)) { Assert.IsNotNull(input); using (var out1 = new MemoryStream()) { MarcStreamReader marcReader = new MarcStreamReader(input); using (MarcXmlWriter xmlWriter = new MarcXmlWriter(out1)) { while (marcReader.MoveNext()) { var record = marcReader.Current; xmlWriter.Write(record); } } out2 = new MemoryStream(); var @in = new MemoryStream(out1.ToArray()); var xmlReader = new MarcXmlReader(@in).GetEnumerator(); MarcStreamWriter marcWriter = new MarcStreamWriter(out2); while (xmlReader.MoveNext()) { var record = xmlReader.Current; marcWriter.Write(record); } @in.Close(); } } using (var inputCompare1 = new FileStream(Environment.CurrentDirectory + StaticTestRecords.RESOURCES_CHABON_MRC, FileMode.Open)) { var inputCompare2 = out2; var readComp1 = new MarcStreamReader(inputCompare1); var readComp2 = new MarcStreamReader(inputCompare2); IRecord r1, r2; do { r1 = (readComp1.MoveNext()) ? readComp1.Current : null; r2 = (readComp2.MoveNext()) ? readComp2.Current : null; if (r1 != null && r2 != null) { RecordTestingUtils.AssertEqualsIgnoreLeader(r1, r2); } } while (r1 != null && r2 != null); } out2.Dispose(); }
public void TestMarcXmlReader() { using (var fs = new FileStream(Environment.CurrentDirectory + StaticTestRecords.RESOURCES_CHABON_XML, FileMode.Open)) { Assert.IsNotNull(fs); var reader = new MarcXmlReader().Read(fs).GetEnumerator(); Assert.IsTrue(reader.MoveNext(), "Should have at least one record"); var record1 = reader.Current; TestUtils.ValidateKavalieAndClayRecord(record1); Assert.IsTrue(reader.MoveNext(), "Should have at least two records"); var record2 = reader.Current; TestUtils.ValidateSummerlandRecord(record2); Assert.IsFalse(reader.MoveNext(), " have more than two records"); } }