| 12345678910111213141516171819202122232425262728293031323334 |
- using Infrastructure.StockData;
- namespace Application.Tests;
- /// <summary>SEIBro getShortmIssuInfo 파서 — 실샘플(다수행) 필드 매핑 + 자연키(ISIN) 결측 스킵. SECN_TPCD·ISSU_DT 는 배치 스탬핑(파서 미포함).</summary>
- [TestClass]
- public sealed class SeibroShortmIssuParserTests
- {
- [TestMethod]
- public void Parse_SampleXml_MapsIssuanceRows()
- {
- var rows = SeibroShortmIssuParser.Parse(SeibroXml.Parse(SeibroFixtures.Read("getShortmIssuInfo.xml")));
- Assert.IsTrue(rows.Count > 1, "다수 종목");
- var first = rows[0];
- Assert.AreEqual("KRZF00405288", first.Isin);
- Assert.AreEqual("현대오일뱅크 20180801-21-2", first.KorSecnNm);
- Assert.AreEqual(405, first.IssucoCustno);
- Assert.AreEqual("에이치디현대오일뱅크", first.IssucoCustNm);
- }
- [TestMethod]
- public void Parse_MissingIsin_SkipsRow()
- {
- const string xml = """
- <vector result="1">
- <data vectorkey="0" type="Document"><result><KOR_SECN_NM value="이름만"/></result></data>
- </vector>
- """;
- var rows = SeibroShortmIssuParser.Parse(SeibroXml.Parse(xml));
- Assert.AreEqual(0, rows.Count, "ISIN 없으면 스킵");
- }
- }
|