| 12345678910111213141516171819202122232425262728293031323334 |
- using Infrastructure.StockData;
- namespace Application.Tests;
- /// <summary>SEIBro getESTBInfo 파서 — 실샘플(1행) 필드 매핑 + 신용등급 4사(NICE/KR 존재) + Y/N·일물. ISIN 은 배치 스탬핑(파서 미포함).</summary>
- [TestClass]
- public sealed class SeibroESTBParserTests
- {
- [TestMethod]
- public void Parse_SampleXml_MapsAllFields_AndCreditGrades()
- {
- var rows = SeibroESTBParser.Parse(SeibroXml.Parse(SeibroFixtures.Read("getESTBInfo.xml")));
- Assert.AreEqual(1, rows.Count);
- var f = rows[0];
- Assert.AreEqual(27597, f.IssucoCustno);
- Assert.AreEqual("3", f.EstbKacd, "PF AB");
- Assert.AreEqual("디에스평택진위제일차 20180802-92-1(E)", f.KorSecnNm);
- Assert.AreEqual("KRW", f.IssuCurCd);
- Assert.AreEqual(5000000000m, f.IssuAmt);
- Assert.AreEqual("99", f.RecuWhcd, "면제");
- Assert.AreEqual(new DateOnly(2018, 8, 2), f.IssuDt);
- Assert.AreEqual(new DateOnly(2018, 11, 2), f.XpirDt);
- Assert.AreEqual("92", f.Dayobj, "일물");
- Assert.IsTrue(f.WholdYn, "WHOLD_YN=Y 징수");
- Assert.IsFalse(f.GrorgYn, "GRORG_YN=N 무보증");
- // 신용등급 4사: NICE/KR 존재, KIS/SCI 빈칸 → null
- Assert.AreEqual("112", f.NiceValatGrdCd);
- Assert.AreEqual("112", f.KrValatGrdCd);
- Assert.IsNull(f.KisValatGrdCd);
- Assert.IsNull(f.SciValatGrdCd);
- }
- }
|