using Infrastructure.StockData; namespace Application.Tests; [TestClass] public sealed class SeibroIssucoCustnoParserTests { [TestMethod] public void Parse_FromSampleXml_MapsFields() { // SEIBro getIssucoCustnoByIsin 실응답 fixture (삼성전자) — 단건 fallback 파서 (배치 미사용) var rows = SeibroIssucoCustnoParser.Parse(SeibroXml.Parse(SeibroFixtures.Read("getIssucoCustnoByIsin.xml"))); Assert.AreEqual(1, rows.Count); Assert.AreEqual(593, rows[0].IssucoCustno); Assert.AreEqual("삼성전자", rows[0].RepSecnName); } [TestMethod] public void Parse_SkipsRows_WithoutCustno_AndAllowsMissingName() { const string xml = """ """; var rows = SeibroIssucoCustnoParser.Parse(SeibroXml.Parse(xml)); Assert.AreEqual(1, rows.Count, "ISSUCO_CUSTNO 없는 행은 건너뛴다"); Assert.AreEqual(4131, rows[0].IssucoCustno); Assert.IsNull(rows[0].RepSecnName, "REP_SECN_NM 은 선택 필드"); } }