SeibroFmnmAltParserTests.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using Infrastructure.StockData;
  2. namespace Application.Tests;
  3. [TestClass]
  4. public sealed class SeibroFmnmAltParserTests
  5. {
  6. [TestMethod]
  7. public void Parse_FromSampleXml_MapsNameChange()
  8. {
  9. // SEIBro getFmnmAltInfo 실응답 fixture (다음카카오→카카오 상호변경) — 1행. 전/후 상호·혼용/단일유통일 매핑.
  10. var rows = SeibroFmnmAltParser.Parse(SeibroXml.Parse(SeibroFixtures.Read("getFmnmAltInfo.xml")));
  11. Assert.AreEqual(1, rows.Count);
  12. var r = rows[0];
  13. Assert.AreEqual(3572, r.IssucoCustno);
  14. Assert.AreEqual(new DateOnly(2015, 10, 1), r.RgtStdDt);
  15. Assert.AreEqual("(주)다음카카오", r.FmnmBfaltKorNm);
  16. Assert.AreEqual("Daum Kakao", r.FmnmBfaltEngNm);
  17. Assert.AreEqual("(주)카카오", r.FmnmAltKorNm);
  18. Assert.AreEqual("Kakao Corp.", r.FmnmAltEngNm);
  19. Assert.AreEqual(new DateOnly(2015, 10, 12), r.MixusCirclBeginDt);
  20. Assert.AreEqual(new DateOnly(2015, 10, 19), r.MixusCirclExpryDt);
  21. Assert.AreEqual(new DateOnly(2015, 10, 20), r.UniCirclDt);
  22. }
  23. [TestMethod]
  24. public void Parse_SkipsRow_WhenKeyMissing()
  25. {
  26. // 기대 행위: ISSUCO_CUSTNO 또는 RGT_STD_DT 없으면 건너뛴다
  27. const string xml = """
  28. <vector result="1">
  29. <data vectorkey="0" type="Document"><result>
  30. <FMNM_ALT_KOR_NM value="회사번호없음"/>
  31. </result></data>
  32. </vector>
  33. """;
  34. var rows = SeibroFmnmAltParser.Parse(SeibroXml.Parse(xml));
  35. Assert.AreEqual(0, rows.Count);
  36. }
  37. }