using Infrastructure.StockData;
namespace Application.Tests;
/// SEIBro getShortmIssuInfo 파서 — 실샘플(다수행) 필드 매핑 + 자연키(ISIN) 결측 스킵. SECN_TPCD·ISSU_DT 는 배치 스탬핑(파서 미포함).
[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 = """
""";
var rows = SeibroShortmIssuParser.Parse(SeibroXml.Parse(xml));
Assert.AreEqual(0, rows.Count, "ISIN 없으면 스킵");
}
}