SeibroCPParserTests.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using Infrastructure.StockData;
  2. namespace Application.Tests;
  3. /// <summary>SEIBro getCPInfo 파서 — 실샘플(1행) 필드 매핑 + 신용등급 4사(빈칸=null) + 할인기관·지급은행. ISIN 은 배치 스탬핑(파서 미포함).</summary>
  4. [TestClass]
  5. public sealed class SeibroCPParserTests
  6. {
  7. [TestMethod]
  8. public void Parse_SampleXml_MapsAllFields_AndCreditGrades()
  9. {
  10. var rows = SeibroCPParser.Parse(SeibroXml.Parse(SeibroFixtures.Read("getCPInfo.xml")));
  11. Assert.AreEqual(1, rows.Count);
  12. var f = rows[0];
  13. Assert.AreEqual(33427, f.IssucoCustno);
  14. Assert.AreEqual("윈케이제구차 20180702-364-10", f.KorSecnNm);
  15. Assert.AreEqual("KRW", f.IssuCurCd);
  16. Assert.AreEqual(5000000000m, f.IssuAmt);
  17. Assert.AreEqual("1204", f.SecnKacd, "Conduit ABCP");
  18. Assert.AreEqual("1", f.BillCacd);
  19. Assert.AreEqual(new DateOnly(2018, 7, 2), f.SaleDt);
  20. Assert.AreEqual(new DateOnly(2018, 7, 2), f.IssuDt);
  21. Assert.AreEqual(new DateOnly(2019, 7, 1), f.XpirDt);
  22. Assert.AreEqual(3061, f.DiscnOrgCustno);
  23. Assert.AreEqual("교보증권", f.DiscnOrdNm);
  24. Assert.AreEqual(311, f.PayBankBrono);
  25. Assert.AreEqual("1", f.WholdTpcd, "상환시");
  26. // 신용등급 4사: KIS/KR 존재, NICE/SCI 빈칸 → null
  27. Assert.AreEqual("112", f.KisValatGrdCd);
  28. Assert.AreEqual("112", f.KrValatGrdCd);
  29. Assert.IsNull(f.NiceValatGrdCd);
  30. Assert.IsNull(f.SciValatGrdCd);
  31. }
  32. }