using Infrastructure.StockData; namespace Application.Tests; /// SEIBro getCDInfo 파서 — 빈 fixture(result="0") 빈결과 검증 + 스펙 기반 합성 XML 필드 매핑. [TestClass] public sealed class SeibroCDParserTests { [TestMethod] public void Parse_EmptySampleXml_ReturnsNoRows() { var rows = SeibroCDParser.Parse(SeibroXml.Parse(SeibroFixtures.Read("getCDInfo.xml"))); Assert.AreEqual(0, rows.Count, "실샘플 result=0 빈결과"); } [TestMethod] public void Parse_SyntheticXml_MapsSpecFields() { // 빈 fixture 대응 — 채권.md 스펙 기준 합성 XML const string xml = """ """; var rows = SeibroCDParser.Parse(SeibroXml.Parse(xml)); Assert.AreEqual(1, rows.Count); var row = rows[0]; Assert.AreEqual(3061, row.IssucoCustno); Assert.AreEqual("KRW", row.IssuCurCd); Assert.AreEqual(10000000000m, row.FirstIssuAmt); Assert.AreEqual(1.85m, row.DiscnRate); Assert.AreEqual("1", row.IntPayMannTpcd, "할인식"); Assert.AreEqual(new DateOnly(2018, 8, 1), row.IssuDt); Assert.AreEqual(new DateOnly(2018, 10, 31), row.XpirDt); Assert.IsTrue(row.EltscYn); } }