SeibroESTBParserTests.cs 1.4 KB

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