using Infrastructure.StockData; namespace Application.Tests; /// SEIBro getSecnFrsecCusInfo 파서 — NATION_CD·SECN_TPCD·FRSEC_TOT_HOLD_AMT·FRSEC_TOT_HOLD_QTY(소수) 매핑. 종목당 국가별 다수 행. [TestClass] public sealed class SeibroSecnFrsecCusParserTests { [TestMethod] public void Parse_SampleXml_MapsHoldAmountAndQty() { var rows = SeibroSecnFrsecCusParser.Parse(SeibroXml.Parse(SeibroFixtures.Read("getSecnFrsecCusInfo.xml"))); Assert.AreEqual(2, rows.Count, "국가별 2행 (DE·US)"); var us = rows.Single(c => c.NationCd == "US"); Assert.AreEqual("71", us.SecnTpcd); Assert.AreEqual(737881960m, us.FrsecTotHoldAmt, "미국 보유금액 USD"); Assert.AreEqual(404778m, us.FrsecTotHoldQty, "보유수량"); var de = rows.Single(c => c.NationCd == "DE"); Assert.AreEqual(10812m, de.FrsecTotHoldAmt); Assert.AreEqual(6m, de.FrsecTotHoldQty); } }