using Infrastructure.StockData; namespace Application.Tests; /// SEIBro getAssetXrcInfo 파서 — 대문자 <RESULT> 래퍼. 행사기준일련번호(XrcStdSeq)별 기준비율·행사가격 다수 행 매핑. [TestClass] public sealed class SeibroAssetXrcParserTests { [TestMethod] public void Parse_SampleXml_MapsExerciseRows() { var rows = SeibroAssetXrcParser.Parse(SeibroXml.Parse(SeibroFixtures.Read("getAssetXrcInfo.xml"))); Assert.AreEqual(8, rows.Count, "행사기준 8단계"); var first = rows.Single(c => c.XrcStdSeq == 1); Assert.AreEqual(1, first.AssetSeq); Assert.AreEqual(100m, first.XrcStdRatio); Assert.AreEqual(278.83m, first.XrcPrice); var last = rows.Single(c => c.XrcStdSeq == 8); Assert.AreEqual(65m, last.XrcStdRatio, "마지막 배리어 65%"); Assert.AreEqual(181.2395m, last.XrcPrice); } [TestMethod] public void Parse_MissingKeys_SkipsRow() { const string xml = """ """; var rows = SeibroAssetXrcParser.Parse(SeibroXml.Parse(xml)); Assert.AreEqual(0, rows.Count, "XRC_STD_SEQ 없으면 스킵"); } }