vos-data-utils 1.0.6__py3-none-any.whl → 1.0.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of vos-data-utils might be problematic. Click here for more details.

@@ -22,6 +22,7 @@ class TestClass(unittest.TestCase):
22
22
  cls.test_bjd_cd = '1168010500'
23
23
  cls.test_bjd_nm = '서울특별시 강남구 삼성동'
24
24
  cls.test_jibun = '1'
25
+ cls.test_address = '서울특별시 강남구 삼성동 1'
25
26
  cls.test_base_dt = datetime.today().strftime('%Y%m%d')
26
27
  cls.instance = GenPnu(base_dt=cls.test_base_dt)
27
28
 
@@ -123,6 +124,7 @@ class TestClass(unittest.TestCase):
123
124
  self.instance.get_bjd_data(bjd_cd=self.test_bjd_cd)
124
125
  self.instance.generate_pnu(bjd_cd=self.test_bjd_cd, jibun=self.test_jibun)
125
126
  self.instance.generate_pnu_from_bjd_nm(bjd_nm=self.test_bjd_nm, jibun=self.test_jibun)
127
+ self.instance.generate_pnu_from_address(address=self.test_address)
126
128
 
127
129
 
128
130
  def test_get_bjd_cd(self):
@@ -369,9 +371,12 @@ class TestClass(unittest.TestCase):
369
371
  - assertEqual() 테스트
370
372
  """
371
373
  res = self.instance._validate_jibun(jibun)
372
- self.assertIsInstance(res, bool)
374
+ self.assertIsInstance(res.get("error"), bool)
375
+ self.assertIsInstance(res.get("msg"), str)
373
376
  self.assertIsNotNone(res)
374
- self.assertEqual(res, result)
377
+ self.assertIsNotNone(res.get("error"))
378
+ self.assertIsNotNone(res.get("msg"))
379
+ self.assertEqual(res.get("error"), result)
375
380
 
376
381
 
377
382
  def test_validate_jibun(self):
@@ -385,103 +390,71 @@ class TestClass(unittest.TestCase):
385
390
  - _validate_jibun 함수 리턴값 테스트(올바른 지번 형식 문자열 제공)
386
391
  """
387
392
 
388
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 00000')
389
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 000000')
390
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 0000000')
391
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 00000000')
392
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 000000000')
393
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 0000000000')
394
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 11111-2')
395
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 33333-44')
396
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 55555-666')
397
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 77777-8888')
398
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 99999-00000')
399
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 7777-88888')
400
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 555-66666')
401
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 33-44444')
402
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 1-22222')
403
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산00000')
404
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산000000')
405
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산0000000')
406
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산00000000')
407
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산000000000')
408
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산0000000000')
409
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산11111-2')
410
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산33333-44')
411
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산55555-666')
412
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산77777-8888')
413
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산99999-00000')
414
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산7777-88888')
415
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산555-66666')
416
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산33-44444')
417
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산1-22222')
418
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산-1000')
419
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 -1000')
420
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 -1000')
421
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 -1000')
422
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산1000-')
423
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 1000-')
424
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 1000-')
425
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 1000-')
426
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산 10000')
427
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='a')
428
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='a000')
429
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='000a')
430
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='a-1000')
431
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='1000-a')
432
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='ㄱ')
433
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='ㄱ000')
434
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='000ㄱ')
435
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='ㄱ-1000')
436
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='1000-ㄱ')
437
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='나')
438
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='나000')
439
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='000나')
440
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='나-1000')
441
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='1000-나')
442
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='선 1000-1000')
443
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='순 1000-1000')
444
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='상 1000-1000')
445
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='선산 1000-1000')
446
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='나산 1000-1000')
447
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산나 1000-1000')
448
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산산 1000-1000')
449
- with self.assertRaises(ValueError): self.instance._validate_jibun(jibun='산산산 1000-1000')
450
-
451
- self.sub_test_validate_jibun(jibun='산 1-1000', result=True)
452
- self.sub_test_validate_jibun(jibun='산 1-1000', result=True)
453
- self.sub_test_validate_jibun(jibun='산 10-1000', result=True)
454
- self.sub_test_validate_jibun(jibun='산 100-1000', result=True)
455
- self.sub_test_validate_jibun(jibun='산 1000', result=True)
456
- self.sub_test_validate_jibun(jibun='산 1000-1', result=True)
457
- self.sub_test_validate_jibun(jibun='산 100-10', result=True)
458
- self.sub_test_validate_jibun(jibun='산 10-100', result=True)
459
- self.sub_test_validate_jibun(jibun='산 1-1000', result=True)
460
- self.sub_test_validate_jibun(jibun='산 1-1000', result=True)
461
- self.sub_test_validate_jibun(jibun='산 1-1000', result=True)
462
- self.sub_test_validate_jibun(jibun='산 1-1000', result=True)
463
- self.sub_test_validate_jibun(jibun='산1-1000', result=True)
464
- self.sub_test_validate_jibun(jibun='산1-1000', result=True)
465
- self.sub_test_validate_jibun(jibun='산10-1000', result=True)
466
- self.sub_test_validate_jibun(jibun='산100-1000', result=True)
467
- self.sub_test_validate_jibun(jibun='산1000', result=True)
468
- self.sub_test_validate_jibun(jibun='산1000-1', result=True)
469
- self.sub_test_validate_jibun(jibun='산100-10', result=True)
470
- self.sub_test_validate_jibun(jibun='산10-100', result=True)
471
- self.sub_test_validate_jibun(jibun='산1-1000', result=True)
472
- self.sub_test_validate_jibun(jibun='1-1000', result=True)
473
- self.sub_test_validate_jibun(jibun='10-1000', result=True)
474
- self.sub_test_validate_jibun(jibun='100-1000', result=True)
475
- self.sub_test_validate_jibun(jibun='1000-1', result=True)
476
- self.sub_test_validate_jibun(jibun='100-10', result=True)
477
- self.sub_test_validate_jibun(jibun='10-100', result=True)
478
- self.sub_test_validate_jibun(jibun='1', result=True)
479
- self.sub_test_validate_jibun(jibun='가', result=True)
480
- self.sub_test_validate_jibun(jibun='지', result=True)
481
- self.sub_test_validate_jibun(jibun='B', result=True)
482
-
483
-
484
- def test_validate_jibun(self):
393
+ self.sub_test_validate_jibun(jibun='산 00000', result=True)
394
+ self.sub_test_validate_jibun(jibun='산 000000', result=True)
395
+ self.sub_test_validate_jibun(jibun='산 0000000', result=True)
396
+ self.sub_test_validate_jibun(jibun='산 00000000', result=True)
397
+ self.sub_test_validate_jibun(jibun='산 000000000', result=True)
398
+ self.sub_test_validate_jibun(jibun='산 0000000000', result=True)
399
+ self.sub_test_validate_jibun(jibun='산 11111-2', result=True)
400
+ self.sub_test_validate_jibun(jibun='산 33333-44', result=True)
401
+ self.sub_test_validate_jibun(jibun='산 55555-666', result=True)
402
+ self.sub_test_validate_jibun(jibun='산 77777-8888', result=True)
403
+ self.sub_test_validate_jibun(jibun='산 99999-00000', result=True)
404
+ self.sub_test_validate_jibun(jibun='산 7777-88888', result=True)
405
+ self.sub_test_validate_jibun(jibun='산 555-66666', result=True)
406
+ self.sub_test_validate_jibun(jibun='산 33-44444', result=True)
407
+ self.sub_test_validate_jibun(jibun='산 1-22222', result=True)
408
+ self.sub_test_validate_jibun(jibun='산00000', result=True)
409
+ self.sub_test_validate_jibun(jibun='산000000', result=True)
410
+ self.sub_test_validate_jibun(jibun='산0000000', result=True)
411
+ self.sub_test_validate_jibun(jibun='산00000000', result=True)
412
+ self.sub_test_validate_jibun(jibun='산000000000', result=True)
413
+ self.sub_test_validate_jibun(jibun='산0000000000', result=True)
414
+ self.sub_test_validate_jibun(jibun='산11111-2', result=True)
415
+ self.sub_test_validate_jibun(jibun='산33333-44', result=True)
416
+ self.sub_test_validate_jibun(jibun='산55555-666', result=True)
417
+ self.sub_test_validate_jibun(jibun='산77777-8888', result=True)
418
+ self.sub_test_validate_jibun(jibun='산99999-00000', result=True)
419
+ self.sub_test_validate_jibun(jibun='산7777-88888', result=True)
420
+ self.sub_test_validate_jibun(jibun='산555-66666', result=True)
421
+ self.sub_test_validate_jibun(jibun='산33-44444', result=True)
422
+ self.sub_test_validate_jibun(jibun='산1-22222', result=True)
423
+ self.sub_test_validate_jibun(jibun='산-1000', result=True)
424
+ self.sub_test_validate_jibun(jibun='산 -1000', result=True)
425
+ self.sub_test_validate_jibun(jibun='산 -1000', result=True)
426
+ self.sub_test_validate_jibun(jibun='산 -1000', result=True)
427
+ self.sub_test_validate_jibun(jibun='산1000-', result=True)
428
+ self.sub_test_validate_jibun(jibun='산 1000-', result=True)
429
+ self.sub_test_validate_jibun(jibun='산 1000-', result=True)
430
+ self.sub_test_validate_jibun(jibun='산 1000-', result=True)
431
+ self.sub_test_validate_jibun(jibun='산 10000', result=True)
432
+ self.sub_test_validate_jibun(jibun='a', result=True)
433
+ self.sub_test_validate_jibun(jibun='a000', result=True)
434
+ self.sub_test_validate_jibun(jibun='000a', result=True)
435
+ self.sub_test_validate_jibun(jibun='a-1000', result=True)
436
+ self.sub_test_validate_jibun(jibun='1000-a', result=True)
437
+ self.sub_test_validate_jibun(jibun='ㄱ', result=True)
438
+ self.sub_test_validate_jibun(jibun='ㄱ000', result=True)
439
+ self.sub_test_validate_jibun(jibun='000ㄱ', result=True)
440
+ self.sub_test_validate_jibun(jibun='ㄱ-1000', result=True)
441
+ self.sub_test_validate_jibun(jibun='1000-ㄱ', result=True)
442
+ self.sub_test_validate_jibun(jibun='나', result=True)
443
+ self.sub_test_validate_jibun(jibun='나000', result=True)
444
+ self.sub_test_validate_jibun(jibun='000나', result=True)
445
+ self.sub_test_validate_jibun(jibun='나-1000', result=True)
446
+ self.sub_test_validate_jibun(jibun='1000-나', result=True)
447
+ self.sub_test_validate_jibun(jibun='선 1000-1000', result=True)
448
+ self.sub_test_validate_jibun(jibun='순 1000-1000', result=True)
449
+ self.sub_test_validate_jibun(jibun='상 1000-1000', result=True)
450
+ self.sub_test_validate_jibun(jibun='선산 1000-1000', result=True)
451
+ self.sub_test_validate_jibun(jibun='나산 1000-1000', result=True)
452
+ self.sub_test_validate_jibun(jibun='산나 1000-1000', result=True)
453
+ self.sub_test_validate_jibun(jibun='산산 1000-1000', result=True)
454
+ self.sub_test_validate_jibun(jibun='산산산 1000-1000', result=True)
455
+
456
+
457
+ def test_get_mountain_cd(self):
485
458
  """
486
459
  _get_mountain_cd 함수 테스트 메소드
487
460
 
@@ -543,6 +516,209 @@ class TestClass(unittest.TestCase):
543
516
  self.sub_test_get_jibun_datas(jibun='1010-1010', result=('10101010', '1010', '1010'))
544
517
 
545
518
 
519
+ def sub_test_validate_pnu(
520
+ self,
521
+ pnu,
522
+ result: dict
523
+ ):
524
+ """
525
+ _validate_pnu 함수 테스트 서브 메소드
526
+ - assertIsInstance() 테스트(리턴값, dict)
527
+ - assertIsNotNone() 테스트(리턴값, dict 개별 객체)
528
+ - assertEqual() 테스트
529
+ """
530
+ res = self.instance._validate_pnu(pnu)
531
+ self.assertIsInstance(res, dict)
532
+ self.assertIsNotNone(res)
533
+ self.assertIsInstance(res.get("error"), bool)
534
+ self.assertIsInstance(res.get("msg"), str)
535
+ self.assertIsNotNone(res.get("error"))
536
+ self.assertIsNotNone(res.get("msg"))
537
+ self.assertEqual(res, result)
538
+
539
+
540
+ def test_validate_pnu(self):
541
+ """
542
+ _validate_pnu 함수 테스트 메소드
543
+
544
+ - _validate_pnu 함수 예외처리 테스트(올바르지 않은 지번 형식 문자열 제공)
545
+ - _validate_pnu 함수 예외처리 테스트(ValueError 입력값이 적절한 형식의 문자열이 아닌 경우)
546
+ - _validate_pnu 함수 pnu 입력값 적절한 형태 re.compile(r'^\d{19}$')
547
+
548
+ - _validate_pnu 함수 리턴값 테스트(올바른 pnu 형식 문자열 제공)
549
+ """
550
+
551
+ self.sub_test_validate_pnu(
552
+ pnu=1234567890123456789,
553
+ result = {
554
+ 'error': True,
555
+ 'msg': "Invalid 'pnu' format. Please follow the specified format."
556
+ }
557
+ )
558
+ self.sub_test_validate_pnu(
559
+ pnu='12345678901234567890',
560
+ result = {
561
+ 'error': True,
562
+ 'msg': "Invalid 'pnu' format. Please follow the specified format."
563
+ }
564
+ )
565
+ self.sub_test_validate_pnu(
566
+ pnu='1234567890123456789a',
567
+ result = {
568
+ 'error': True,
569
+ 'msg': "Invalid 'pnu' format. Please follow the specified format."
570
+ }
571
+ )
572
+ self.sub_test_validate_pnu(
573
+ pnu='1234567890123456789',
574
+ result = {
575
+ 'error': False,
576
+ 'msg': ''
577
+ }
578
+ )
579
+
580
+
581
+ def sub_test_clean_bracket_and_content(
582
+ self,
583
+ string: str,
584
+ result: str
585
+ ):
586
+ """
587
+ _clean_bracket_and_content 함수 테스트 서브 메소드
588
+ - assertIsInstance() 테스트(리턴값, str)
589
+ - assertIsNotNone() 테스트(리턴값)
590
+ - assertEqual() 테스트
591
+ """
592
+
593
+ res = self.instance._clean_bracket_and_content(string)
594
+ self.assertIsInstance(res, str)
595
+ self.assertIsNotNone(res)
596
+ self.assertEqual(res, result)
597
+
598
+
599
+ def test_clean_bracket_and_content(self):
600
+ """
601
+ _clean_bracket_and_content 함수 테스트 메소드
602
+ """
603
+
604
+ self.sub_test_clean_bracket_and_content(string='서울특별시 강남구 삼성동 1 (삼성동)', result='서울특별시 강남구 삼성동 1')
605
+ self.sub_test_clean_bracket_and_content(string='서울특별시 강남구 삼성동 1 ()', result='서울특별시 강남구 삼성동 1')
606
+ self.sub_test_clean_bracket_and_content(string='서울특별시 강남구 삼성동 1 [삼성동]', result='서울특별시 강남구 삼성동 1')
607
+ self.sub_test_clean_bracket_and_content(string='서울특별시 강남구 삼성동 1 []', result='서울특별시 강남구 삼성동 1')
608
+
609
+
610
+ def sub_test_split_main_and_detail_address(
611
+ self,
612
+ address: str,
613
+ result: dict
614
+ ):
615
+ """
616
+ _split_main_and_detail_address 함수 테스트 서브 메소드
617
+ - assertIsInstance() 테스트(리턴값, dict)
618
+ - assertIsNotNone() 테스트(리턴값, dict 개별 객체)
619
+ - assertEqual() 테스트
620
+ """
621
+ res = self.instance._split_main_and_detail_address(address)
622
+ self.assertIsInstance(res, dict)
623
+ self.assertIsInstance(res.get("error"), bool)
624
+ self.assertIsInstance(res.get("msg"), str)
625
+ self.assertIsNotNone(res)
626
+ self.assertIsNotNone(res.get("error"))
627
+ self.assertIsNotNone(res.get("msg"))
628
+ self.assertEqual(res, result)
629
+
630
+
631
+ def test_split_main_and_detail_address(self):
632
+ """
633
+ _split_main_and_detail_address 함수 테스트 메소드
634
+ """
635
+
636
+ self.sub_test_split_main_and_detail_address(
637
+ address='서울특별시 강남구 삼성동 1 에이빌딩 비동 씨호',
638
+ result={
639
+ 'error': False,
640
+ 'main_address': '서울특별시 강남구 삼성동 1',
641
+ 'etc_main_address': '',
642
+ 'detail_address': '에이빌딩 비동 씨호',
643
+ 'base_dt': '2024-08-01',
644
+ 'msg': ''
645
+ }
646
+ )
647
+ self.sub_test_split_main_and_detail_address(
648
+ address='서울특별시 강남구 삼성동 1-1 에이빌딩 비동 씨호',
649
+ result={
650
+ 'error': False,
651
+ 'main_address': '서울특별시 강남구 삼성동 1-1',
652
+ 'etc_main_address': '',
653
+ 'detail_address': '에이빌딩 비동 씨호',
654
+ 'base_dt': '2024-08-01',
655
+ 'msg': ''
656
+ }
657
+ )
658
+ self.sub_test_split_main_and_detail_address(
659
+ address='서울특별시 강남구 삼성동 1 외 1필지 에이빌딩 비동 씨호',
660
+ result={
661
+ 'error': False,
662
+ 'main_address': '서울특별시 강남구 삼성동 1',
663
+ 'etc_main_address': '외 1필지 ',
664
+ 'detail_address': '에이빌딩 비동 씨호',
665
+ 'base_dt': '2024-08-01',
666
+ 'msg': ''
667
+ }
668
+ )
669
+
670
+
671
+ def sub_test_extract_bjd_from_address(
672
+ self,
673
+ main_address: str,
674
+ result: str
675
+ ):
676
+ """
677
+ _extract_bjd_from_address 함수 테스트 서브 메소드
678
+ - assertIsInstance() 테스트(리턴값, str)
679
+ - assertIsNotNone() 테스트(리턴값)
680
+ - assertEqual() 테스트
681
+ """
682
+ res = self.instance._extract_bjd_from_address(main_address)
683
+ self.assertIsInstance(res, str)
684
+ self.assertIsNotNone(res)
685
+ self.assertEqual(res, result)
686
+
687
+
688
+ def test_extract_bjd_from_address(self):
689
+ """
690
+ _extract_bjd_from_address 함수 테스트 메소드
691
+ """
692
+
693
+ self.sub_test_extract_bjd_from_address(main_address='서울특별시 강남구 삼성동 1', result='서울특별시 강남구 삼성동')
694
+ self.sub_test_extract_bjd_from_address(main_address='서울특별시 강남구 삼성동 1-1', result='서울특별시 강남구 삼성동')
695
+ self.sub_test_extract_bjd_from_address(main_address='서울특별시 강남구 삼성동 산 1', result='서울특별시 강남구 삼성동')
696
+ self.sub_test_extract_bjd_from_address(main_address='서울특별시 강남구 삼성동 산 1-1', result='서울특별시 강남구 삼성동')
697
+ self.sub_test_extract_bjd_from_address(main_address='서울특별시 강남구 삼성동 산1', result='서울특별시 강남구 삼성동')
698
+ self.sub_test_extract_bjd_from_address(main_address='서울특별시 강남구 삼성동 산1-1', result='서울특별시 강남구 삼성동')
699
+
700
+
701
+ def sub_test_generate_pnu(
702
+ self,
703
+ bjd_cd,
704
+ jibun,
705
+ result: bool
706
+ ):
707
+ """
708
+ _generate_pnu 함수 테스트 서브 메소드
709
+ - assertIsInstance() 테스트
710
+ - assertIsNotNone() 테스트
711
+ - assertEqual() 테스트
712
+ """
713
+ res = self.instance.generate_pnu(bjd_cd, jibun)
714
+ self.assertIsInstance(res.get("error"), bool)
715
+ self.assertIsInstance(res.get("msg"), str)
716
+ self.assertIsNotNone(res)
717
+ self.assertIsNotNone(res.get("error"))
718
+ self.assertIsNotNone(res.get("msg"))
719
+ self.assertEqual(res.get("error"), result)
720
+
721
+
546
722
  def test_generate_pnu(self):
547
723
  """
548
724
  generate_pnu 함수 테스트 메소드
@@ -623,68 +799,68 @@ class TestClass(unittest.TestCase):
623
799
  with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='123456789', jibun='0000-0000') # 10자리이지만 공백이 포함된 문자열
624
800
  with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='123456789', jibun='0000-0000') # 10자리이지만 특수문자가 포함된 문자열
625
801
 
626
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 00000')
627
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 000000')
628
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 0000000')
629
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 00000000')
630
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 000000000')
631
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 0000000000')
632
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 11111-2')
633
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 33333-44')
634
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 55555-666')
635
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 77777-8888')
636
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 99999-00000')
637
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 7777-88888')
638
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 555-66666')
639
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 33-44444')
640
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 1-22222')
641
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산00000')
642
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산000000')
643
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산0000000')
644
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산00000000')
645
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산000000000')
646
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산0000000000')
647
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산11111-2')
648
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산33333-44')
649
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산55555-666')
650
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산77777-8888')
651
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산99999-00000')
652
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산7777-88888')
653
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산555-66666')
654
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산33-44444')
655
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산1-22222')
656
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산-1000')
657
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 -1000')
658
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 -1000')
659
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 -1000')
660
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산1000-')
661
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 1000-')
662
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 1000-')
663
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 1000-')
664
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산 10000')
665
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='a')
666
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='a000')
667
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='000a')
668
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='a-1000')
669
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='1000-a')
670
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='ㄱ')
671
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='ㄱ000')
672
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='000ㄱ')
673
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='ㄱ-1000')
674
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='1000-ㄱ')
675
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='나')
676
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='나000')
677
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='000나')
678
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='나-1000')
679
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='1000-나')
680
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='선 1000-1000')
681
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='순 1000-1000')
682
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='상 1000-1000')
683
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='선산 1000-1000')
684
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='나산 1000-1000')
685
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산나 1000-1000')
686
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산산 1000-1000')
687
- with self.assertRaises(ValueError): self.instance.generate_pnu(bjd_cd='1168010500', jibun='산산산 1000-1000')
802
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 00000', result=True)
803
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 000000', result=True)
804
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 0000000', result=True)
805
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 00000000', result=True)
806
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 000000000', result=True)
807
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 0000000000', result=True)
808
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 11111-2', result=True)
809
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 33333-44', result=True)
810
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 55555-666', result=True)
811
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 77777-8888', result=True)
812
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 99999-00000', result=True)
813
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 7777-88888', result=True)
814
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 555-66666', result=True)
815
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 33-44444', result=True)
816
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 1-22222', result=True)
817
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산00000', result=True)
818
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산000000', result=True)
819
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산0000000', result=True)
820
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산00000000', result=True)
821
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산000000000', result=True)
822
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산0000000000', result=True)
823
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산11111-2', result=True)
824
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산33333-44', result=True)
825
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산55555-666', result=True)
826
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산77777-8888', result=True)
827
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산99999-00000', result=True)
828
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산7777-88888', result=True)
829
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산555-66666', result=True)
830
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산33-44444', result=True)
831
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산1-22222', result=True)
832
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산-1000', result=True)
833
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 -1000', result=True)
834
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 -1000', result=True)
835
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 -1000', result=True)
836
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산1000-', result=True)
837
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 1000-', result=True)
838
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 1000-', result=True)
839
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 1000-', result=True)
840
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산 10000', result=True)
841
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='a', result=True)
842
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='a000', result=True)
843
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='000a', result=True)
844
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='a-1000', result=True)
845
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='1000-a', result=True)
846
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='ㄱ', result=True)
847
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='ㄱ000', result=True)
848
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='000ㄱ', result=True)
849
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='ㄱ-1000', result=True)
850
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='1000-ㄱ', result=True)
851
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='나', result=True)
852
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='나000', result=True)
853
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='000나', result=True)
854
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='나-1000', result=True)
855
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='1000-나', result=True)
856
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='선 1000-1000', result=True)
857
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='순 1000-1000', result=True)
858
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='상 1000-1000', result=True)
859
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='선산 1000-1000', result=True)
860
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='나산 1000-1000', result=True)
861
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산나 1000-1000', result=True)
862
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산산 1000-1000', result=True)
863
+ self.sub_test_generate_pnu(bjd_cd='1168010500', jibun='산산산 1000-1000', result=True)
688
864
 
689
865
  res = self.instance.generate_pnu(bjd_cd='1168010500', jibun='1-1') # 정상적인 법정동코드 및 지번 입력값
690
866
  self.assertIsInstance(res, dict)
@@ -706,8 +882,8 @@ class TestClass(unittest.TestCase):
706
882
  self.assertIsNotNone(res.get('bjd_datas'))
707
883
  self.assertIsNotNone(res.get('bun'))
708
884
  self.assertIsNotNone(res.get('ji'))
709
- self.assertIsNotNone(res.get('msg'))
710
885
  self.assertIsNotNone(res.get('base_dt'))
886
+ self.assertIsNotNone(res.get('msg'))
711
887
  self.assertEqual(res, {
712
888
  'error': False,
713
889
  'pnu': '1168010500100010001',
@@ -728,38 +904,38 @@ class TestClass(unittest.TestCase):
728
904
  },
729
905
  'bun': '1',
730
906
  'ji': '1',
731
- 'msg': '',
732
907
  'base_dt': self.instance.base_dt_print, # base_dt_print 는 업데이트 되므로 self.instance.base_dt_print 로 적용
908
+ 'msg': '',
733
909
  })
734
910
 
735
911
  res = self.instance.generate_pnu(bjd_cd='1234567890', jibun='1-1') # 형식은 맞지만 존재하지않는 법정동코드 및 정상적인 지번 입력값
736
912
  self.assertIsInstance(res, dict)
737
913
  self.assertIsInstance(res.get('error'), bool)
738
- self.assertIsInstance(res.get('pnu'), str)
739
- self.assertIsInstance(res.get('bjd_cd'), str)
740
- self.assertIsInstance(res.get('mountain_cd'), str)
741
- self.assertIsInstance(res.get('bunji_cd'), str)
914
+ # self.assertIsInstance(res.get('pnu'), None)
915
+ # self.assertIsInstance(res.get('bjd_cd'), None)
916
+ # self.assertIsInstance(res.get('mountain_cd'), None)
917
+ # self.assertIsInstance(res.get('bunji_cd'), None)
742
918
  self.assertIsInstance(res.get('bjd_datas'), dict)
743
- self.assertIsInstance(res.get('bun'), str)
744
- self.assertIsInstance(res.get('ji'), str)
919
+ # self.assertIsInstance(res.get('bun'), None)
920
+ # self.assertIsInstance(res.get('ji'), None)
745
921
  self.assertIsInstance(res.get('msg'), str)
746
922
  self.assertIsInstance(res.get('base_dt'), str)
747
923
  self.assertIsNotNone(res.get('error'))
748
- self.assertIsNotNone(res.get('pnu'))
749
- self.assertIsNotNone(res.get('bjd_cd'))
750
- self.assertIsNotNone(res.get('mountain_cd'))
751
- self.assertIsNotNone(res.get('bunji_cd'))
924
+ self.assertIsNone(res.get('pnu'))
925
+ self.assertIsNone(res.get('bjd_cd'))
926
+ self.assertIsNone(res.get('mountain_cd'))
927
+ self.assertIsNone(res.get('bunji_cd'))
752
928
  self.assertIsNotNone(res.get('bjd_datas'))
753
- self.assertIsNotNone(res.get('bun'))
754
- self.assertIsNotNone(res.get('ji'))
755
- self.assertIsNotNone(res.get('msg'))
929
+ self.assertIsNone(res.get('bun'))
930
+ self.assertIsNone(res.get('ji'))
756
931
  self.assertIsNotNone(res.get('base_dt'))
932
+ self.assertIsNotNone(res.get('msg'))
757
933
  self.assertEqual(res, {
758
934
  'error': True,
759
- 'pnu': '1234567890100010001',
760
- 'bjd_cd': '1234567890',
761
- 'mountain_cd': '1',
762
- 'bunji_cd': '00010001',
935
+ 'pnu': None,
936
+ 'bjd_cd': None,
937
+ 'mountain_cd': None,
938
+ 'bunji_cd': None,
763
939
  'bjd_datas': {
764
940
  'error': True,
765
941
  'sido_nm': None,
@@ -772,13 +948,34 @@ class TestClass(unittest.TestCase):
772
948
  'base_dt': self.instance.base_dt_print, # base_dt_print 는 업데이트 되므로 self.instance.base_dt_print 로 적용
773
949
  'msg': "'1234567890' is not a valid legal district code"
774
950
  },
775
- 'bun': '1',
776
- 'ji': '1',
777
- 'msg': "'1234567890' is not a valid legal district code",
951
+ 'bun': None,
952
+ 'ji': None,
778
953
  'base_dt': self.instance.base_dt_print, # base_dt_print 는 업데이트 되므로 self.instance.base_dt_print 로 적용
954
+ 'msg': "'1234567890' is not a valid legal district code",
779
955
  })
780
956
 
781
957
 
958
+ def sub_test_generate_pnu_from_bjd_nm(
959
+ self,
960
+ bjd_nm,
961
+ jibun,
962
+ result: bool
963
+ ):
964
+ """
965
+ _generate_pnu 함수 테스트 서브 메소드
966
+ - assertIsInstance() 테스트
967
+ - assertIsNotNone() 테스트
968
+ - assertEqual() 테스트
969
+ """
970
+ res = self.instance.generate_pnu_from_bjd_nm(bjd_nm, jibun)
971
+ self.assertIsInstance(res.get("error"), bool)
972
+ self.assertIsInstance(res.get("msg"), str)
973
+ self.assertIsNotNone(res)
974
+ self.assertIsNotNone(res.get("error"))
975
+ self.assertIsNotNone(res.get("msg"))
976
+ self.assertEqual(res.get("error"), result)
977
+
978
+
782
979
  def test_generate_pnu_from_bjd_nm(self):
783
980
  """
784
981
  generate_pnu_from_bjd_nm 함수 테스트 메소드
@@ -855,68 +1052,68 @@ class TestClass(unittest.TestCase):
855
1052
  with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='seoulsi gangnamgu samsungdong', jibun='0000-0000') # 알파벳 포함
856
1053
  with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='ㄱ 서울특별시 강남구 삼성동', jibun='0000-0000') # 불완전한 한글 문자열 포함
857
1054
 
858
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 00000')
859
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 000000')
860
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 0000000')
861
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 00000000')
862
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 000000000')
863
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 0000000000')
864
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 11111-2')
865
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 33333-44')
866
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 55555-666')
867
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 77777-8888')
868
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 99999-00000')
869
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 7777-88888')
870
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 555-66666')
871
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 33-44444')
872
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 1-22222')
873
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산00000')
874
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산000000')
875
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산0000000')
876
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산00000000')
877
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산000000000')
878
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산0000000000')
879
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산11111-2')
880
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산33333-44')
881
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산55555-666')
882
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산77777-8888')
883
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산99999-00000')
884
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산7777-88888')
885
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산555-66666')
886
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산33-44444')
887
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산1-22222')
888
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산-1000')
889
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 -1000')
890
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 -1000')
891
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 -1000')
892
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산1000-')
893
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 1000-')
894
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 1000-')
895
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 1000-')
896
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 10000')
897
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='a')
898
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='a000')
899
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='000a')
900
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='a-1000')
901
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='1000-a')
902
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='ㄱ')
903
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='ㄱ000')
904
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='000ㄱ')
905
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='ㄱ-1000')
906
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='1000-ㄱ')
907
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='나')
908
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='나000')
909
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='000나')
910
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='나-1000')
911
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='1000-나')
912
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='선 1000-1000')
913
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='순 1000-1000')
914
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='상 1000-1000')
915
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='선산 1000-1000')
916
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='나산 1000-1000')
917
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산나 1000-1000')
918
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산산 1000-1000')
919
- with self.assertRaises(ValueError): self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산산산 1000-1000')
1055
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 00000', result=True)
1056
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 000000', result=True)
1057
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 0000000', result=True)
1058
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 00000000', result=True)
1059
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 000000000', result=True)
1060
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 0000000000', result=True)
1061
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 11111-2', result=True)
1062
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 33333-44', result=True)
1063
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 55555-666', result=True)
1064
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 77777-8888', result=True)
1065
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 99999-00000', result=True)
1066
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 7777-88888', result=True)
1067
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 555-66666', result=True)
1068
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 33-44444', result=True)
1069
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 1-22222', result=True)
1070
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산00000', result=True)
1071
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산000000', result=True)
1072
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산0000000', result=True)
1073
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산00000000', result=True)
1074
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산000000000', result=True)
1075
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산0000000000', result=True)
1076
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산11111-2', result=True)
1077
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산33333-44', result=True)
1078
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산55555-666', result=True)
1079
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산77777-8888', result=True)
1080
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산99999-00000', result=True)
1081
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산7777-88888', result=True)
1082
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산555-66666', result=True)
1083
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산33-44444', result=True)
1084
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산1-22222', result=True)
1085
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산-1000', result=True)
1086
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 -1000', result=True)
1087
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 -1000', result=True)
1088
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 -1000', result=True)
1089
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산1000-', result=True)
1090
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 1000-', result=True)
1091
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 1000-', result=True)
1092
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 1000-', result=True)
1093
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산 10000', result=True)
1094
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='a', result=True)
1095
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='a000', result=True)
1096
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='000a', result=True)
1097
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='a-1000', result=True)
1098
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='1000-a', result=True)
1099
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='ㄱ', result=True)
1100
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='ㄱ000', result=True)
1101
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='000ㄱ', result=True)
1102
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='ㄱ-1000', result=True)
1103
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='1000-ㄱ', result=True)
1104
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='나', result=True)
1105
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='나000', result=True)
1106
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='000나', result=True)
1107
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='나-1000', result=True)
1108
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='1000-나', result=True)
1109
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='선 1000-1000', result=True)
1110
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='순 1000-1000', result=True)
1111
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='상 1000-1000', result=True)
1112
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='선산 1000-1000', result=True)
1113
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='나산 1000-1000', result=True)
1114
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산나 1000-1000', result=True)
1115
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산산 1000-1000', result=True)
1116
+ self.sub_test_generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='산산산 1000-1000', result=True)
920
1117
 
921
1118
  res = self.instance.generate_pnu_from_bjd_nm(bjd_nm='서울특별시 강남구 삼성동', jibun='1-1') # 정상적인 법정동코드 및 지번 입력값
922
1119
  self.assertIsInstance(res, dict)
@@ -938,8 +1135,8 @@ class TestClass(unittest.TestCase):
938
1135
  self.assertIsNotNone(res.get('bjd_datas'))
939
1136
  self.assertIsNotNone(res.get('bun'))
940
1137
  self.assertIsNotNone(res.get('ji'))
941
- self.assertIsNotNone(res.get('msg'))
942
1138
  self.assertIsNotNone(res.get('base_dt'))
1139
+ self.assertIsNotNone(res.get('msg'))
943
1140
  self.assertEqual(res, {
944
1141
  'error': False,
945
1142
  'pnu': '1168010500100010001',
@@ -971,7 +1168,247 @@ class TestClass(unittest.TestCase):
971
1168
  # self.assertIsInstance(res.get('bjd_cd'), str)
972
1169
  # self.assertIsInstance(res.get('mountain_cd'), str)
973
1170
  # self.assertIsInstance(res.get('bunji_cd'), str)
974
- # self.assertIsInstance(res.get('bjd_datas'), dict)
1171
+ self.assertIsInstance(res.get('bjd_datas'), dict)
1172
+ # self.assertIsInstance(res.get('bun'), str)
1173
+ # self.assertIsInstance(res.get('ji'), str)
1174
+ self.assertIsInstance(res.get('msg'), str)
1175
+ self.assertIsInstance(res.get('base_dt'), str)
1176
+ self.assertIsNotNone(res.get('error'))
1177
+ self.assertIsNone(res.get('pnu'))
1178
+ self.assertIsNone(res.get('bjd_cd'))
1179
+ self.assertIsNone(res.get('mountain_cd'))
1180
+ self.assertIsNone(res.get('bunji_cd'))
1181
+ self.assertIsNotNone(res.get('bjd_datas'))
1182
+ self.assertIsNone(res.get('bun'))
1183
+ self.assertIsNone(res.get('ji'))
1184
+ self.assertIsNotNone(res.get('msg'))
1185
+ self.assertIsNotNone(res.get('base_dt'))
1186
+ self.assertEqual(res, {
1187
+ 'error': True,
1188
+ 'pnu': None,
1189
+ 'bjd_cd': None,
1190
+ 'mountain_cd': None,
1191
+ 'bunji_cd': None,
1192
+ 'bjd_datas': {
1193
+ 'error': True,
1194
+ 'sido_nm': None,
1195
+ 'sgg_nm': None,
1196
+ 'emd_nm': None,
1197
+ 'ri_nm': None,
1198
+ 'full_bjd_nm': None,
1199
+ 'created_dt': None,
1200
+ 'deleted_dt': None,
1201
+ 'base_dt': '2024-08-01',
1202
+ 'msg': ''},
1203
+ 'bun': None,
1204
+ 'ji': None,
1205
+ 'base_dt': self.instance.base_dt_print, # base_dt_print 는 업데이트 되므로 self.instance.base_dt_print 로 적용
1206
+ 'msg': "'서울특별시 강남구 삼성1동' is not a valid legal district name",
1207
+ })
1208
+
1209
+
1210
+ def sub_test_generate_pnu_from_address(
1211
+ self,
1212
+ address,
1213
+ result: bool
1214
+ ):
1215
+ """
1216
+ _generate_pnu 함수 테스트 서브 메소드
1217
+ - assertIsInstance() 테스트
1218
+ - assertIsNotNone() 테스트
1219
+ - assertEqual() 테스트
1220
+ """
1221
+ res = self.instance.generate_pnu_from_address(address)
1222
+ self.assertIsInstance(res.get("error"), bool)
1223
+ self.assertIsInstance(res.get("msg"), str)
1224
+ self.assertIsNotNone(res)
1225
+ self.assertIsNotNone(res.get("error"))
1226
+ self.assertIsNotNone(res.get("msg"))
1227
+ self.assertEqual(res.get("error"), result)
1228
+
1229
+
1230
+ def test_generate_pnu_from_address(self):
1231
+ """
1232
+ generate_pnu_from_address 함수 테스트 메소드
1233
+
1234
+ - generate_pnu_from_address 함수 예외처리 테스트
1235
+ - generate_pnu_from_address 함수 예외처리 테스트(TypeError 입력값(address)이 문자열이 아닌 int type)
1236
+ - generate_pnu_from_address 함수 예외처리 테스트(TypeError 입력값(address)이 문자열이 아닌 float type)
1237
+ - generate_pnu_from_address 함수 예외처리 테스트(TypeError 입력값(address)이 문자열이 아닌 None type)
1238
+ - generate_pnu_from_address 함수 예외처리 테스트(TypeError 입력값(address)이 문자열이 아닌 bool type)
1239
+
1240
+ - generate_pnu_from_address 함수 리턴값 테스트(올바른 법정동 문자열 및 지번 제공)
1241
+ - generate_pnu_from_address 함수 리턴값 타입 테스트
1242
+ - generate_pnu_from_address 함수 리턴값 error 타입 테스트
1243
+ - generate_pnu_from_address 함수 리턴값 pnu 타입 테스트
1244
+ - generate_pnu_from_address 함수 리턴값 bjd_cd 타입 테스트
1245
+ - generate_pnu_from_address 함수 리턴값 mountain_cd 타입 테스트
1246
+ - generate_pnu_from_address 함수 리턴값 bunji_cd 타입 테스트
1247
+ - generate_pnu_from_address 함수 리턴값 bjd_datas 타입 테스트
1248
+ - generate_pnu_from_address 함수 리턴값 bun 타입 테스트
1249
+ - generate_pnu_from_address 함수 리턴값 ji 타입 테스트
1250
+ - generate_pnu_from_address 함수 리턴값 msg 타입 테스트
1251
+ - generate_pnu_from_address 함수 리턴값 base_dt 타입 테스트
1252
+ - generate_pnu_from_address 함수 리턴값 error 값이 None 이 아닌지 테스트
1253
+ - generate_pnu_from_address 함수 리턴값 pnu 값이 None 이 아닌지 테스트
1254
+ - generate_pnu_from_address 함수 리턴값 bjd_cd 값이 None 이 아닌지 테스트
1255
+ - generate_pnu_from_address 함수 리턴값 mountain_cd 값이 None 이 아닌지 테스트
1256
+ - generate_pnu_from_address 함수 리턴값 bunji_cd 값이 None 이 아닌지 테스트
1257
+ - generate_pnu_from_address 함수 리턴값 bjd_datas 값이 None 이 아닌지 테스트
1258
+ - generate_pnu_from_address 함수 리턴값 bun 값이 None 이 아닌지 테스트
1259
+ - generate_pnu_from_address 함수 리턴값 ji 값이 None 이 아닌지 테스트
1260
+ - generate_pnu_from_address 함수 리턴값 msg 값이 None 이 아닌지 테스트
1261
+ - generate_pnu_from_address 함수 리턴값 base_dt 값이 None 이 아닌지 테스트
1262
+ - generate_pnu_from_address 함수 리턴값 일치 테스트
1263
+
1264
+ - generate_pnu_from_address 함수 리턴값 테스트(형식은 맞지만 존재하지 않는 법정동 문자열 및 정상적인 지번 제공)
1265
+ - generate_pnu_from_address 함수 리턴값 타입 테스트
1266
+ - generate_pnu_from_address 함수 리턴값 error 타입 테스트
1267
+ - generate_pnu_from_address 함수 리턴값 pnu 타입 테스트
1268
+ - generate_pnu_from_address 함수 리턴값 bjd_cd 타입 테스트
1269
+ - generate_pnu_from_address 함수 리턴값 mountain_cd 타입 테스트
1270
+ - generate_pnu_from_address 함수 리턴값 bunji_cd 타입 테스트
1271
+ - generate_pnu_from_address 함수 리턴값 bjd_datas 타입 테스트
1272
+ - generate_pnu_from_address 함수 리턴값 bun 타입 테스트
1273
+ - generate_pnu_from_address 함수 리턴값 ji 타입 테스트
1274
+ - generate_pnu_from_address 함수 리턴값 msg 타입 테스트
1275
+ - generate_pnu_from_address 함수 리턴값 base_dt 타입 테스트
1276
+ - generate_pnu_from_address 함수 리턴값 error 값이 None 이 아닌지 테스트
1277
+ - generate_pnu_from_address 함수 리턴값 pnu 값이 None 이 맞는지 테스트
1278
+ - generate_pnu_from_address 함수 리턴값 bjd_cd 값이 None 이 맞는지 테스트
1279
+ - generate_pnu_from_address 함수 리턴값 mountain_cd 값이 None 이 맞는지 테스트
1280
+ - generate_pnu_from_address 함수 리턴값 bunji_cd 값이 None 이 맞는지 테스트
1281
+ - generate_pnu_from_address 함수 리턴값 bjd_datas 값이 None 이 맞는지 테스트
1282
+ - generate_pnu_from_address 함수 리턴값 bun 값이 None 이 맞는지 테스트
1283
+ - generate_pnu_from_address 함수 리턴값 ji 값이 None 이 맞는지 테스트
1284
+ - generate_pnu_from_address 함수 리턴값 msg 값이 None 이 아닌지 테스트
1285
+ - generate_pnu_from_address 함수 리턴값 base_dt 값이 None 이 아닌지 테스트
1286
+ - generate_pnu_from_address 함수 리턴값 일치 테스트
1287
+ """
1288
+
1289
+ with self.assertRaises(TypeError): self.instance.generate_pnu_from_address(address=0)
1290
+ with self.assertRaises(TypeError): self.instance.generate_pnu_from_address(address=0.1)
1291
+ with self.assertRaises(TypeError): self.instance.generate_pnu_from_address(address=None)
1292
+ with self.assertRaises(TypeError): self.instance.generate_pnu_from_address(address=True)
1293
+ with self.assertRaises(TypeError): self.instance.generate_pnu_from_address(address=False)
1294
+
1295
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 00000', result=True)
1296
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 000000', result=True)
1297
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 0000000', result=True)
1298
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 00000000', result=True)
1299
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 000000000', result=True)
1300
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 0000000000', result=True)
1301
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 11111-2', result=True)
1302
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 33333-44', result=True)
1303
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 55555-666', result=True)
1304
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 77777-8888', result=True)
1305
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 99999-00000', result=True)
1306
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 7777-88888', result=True)
1307
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 555-66666', result=True)
1308
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 33-44444', result=True)
1309
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 1-22222', result=True)
1310
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산00000', result=True)
1311
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산000000', result=True)
1312
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산0000000', result=True)
1313
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산00000000', result=True)
1314
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산000000000', result=True)
1315
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산0000000000', result=True)
1316
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산11111-2', result=True)
1317
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산33333-44', result=True)
1318
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산55555-666', result=True)
1319
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산77777-8888', result=True)
1320
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산99999-00000', result=True)
1321
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산7777-88888', result=True)
1322
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산555-66666', result=True)
1323
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산33-44444', result=True)
1324
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산1-22222', result=True)
1325
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산-1000', result=True)
1326
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 -1000', result=True)
1327
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 -1000', result=True)
1328
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 -1000', result=True)
1329
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산1000-', result=True)
1330
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 1000-', result=True)
1331
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 1000-', result=True)
1332
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 1000-', result=True)
1333
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산 10000', result=True)
1334
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 a', result=True)
1335
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 a000', result=True)
1336
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 000a', result=True)
1337
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 a-1000', result=True)
1338
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 1000-a', result=True)
1339
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 ㄱ', result=True)
1340
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 ㄱ000', result=True)
1341
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 000ㄱ', result=True)
1342
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 ㄱ-1000', result=True)
1343
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 1000-ㄱ', result=True)
1344
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 나', result=True)
1345
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 나000', result=True)
1346
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 000나', result=True)
1347
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 나-1000', result=True)
1348
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 1000-나', result=True)
1349
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 선 1000-1000', result=True)
1350
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 순 1000-1000', result=True)
1351
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 상 1000-1000', result=True)
1352
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 선산 1000-1000', result=True)
1353
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 나산 1000-1000', result=True)
1354
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산나 1000-1000', result=True)
1355
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산산 1000-1000', result=True)
1356
+ self.sub_test_generate_pnu_from_address(address='서울특별시 강남구 삼성동 산산산 1000-1000', result=True)
1357
+
1358
+ res = self.instance.generate_pnu_from_address(address='서울특별시 강남구 삼성동 1-1') # 정상적인 법정동코드 및 지번 입력값
1359
+ self.assertIsInstance(res, dict)
1360
+ self.assertIsInstance(res.get('error'), bool)
1361
+ self.assertIsInstance(res.get('pnu'), str)
1362
+ self.assertIsInstance(res.get('bjd_cd'), str)
1363
+ self.assertIsInstance(res.get('mountain_cd'), str)
1364
+ self.assertIsInstance(res.get('bunji_cd'), str)
1365
+ self.assertIsInstance(res.get('bjd_datas'), dict)
1366
+ self.assertIsInstance(res.get('bun'), str)
1367
+ self.assertIsInstance(res.get('ji'), str)
1368
+ self.assertIsInstance(res.get('msg'), str)
1369
+ self.assertIsInstance(res.get('base_dt'), str)
1370
+ self.assertIsNotNone(res.get('error'))
1371
+ self.assertIsNotNone(res.get('pnu'))
1372
+ self.assertIsNotNone(res.get('bjd_cd'))
1373
+ self.assertIsNotNone(res.get('mountain_cd'))
1374
+ self.assertIsNotNone(res.get('bunji_cd'))
1375
+ self.assertIsNotNone(res.get('bjd_datas'))
1376
+ self.assertIsNotNone(res.get('bun'))
1377
+ self.assertIsNotNone(res.get('ji'))
1378
+ self.assertIsNotNone(res.get('base_dt'))
1379
+ self.assertIsNotNone(res.get('msg'))
1380
+ self.assertEqual(res, {
1381
+ 'error': False,
1382
+ 'pnu': '1168010500100010001',
1383
+ 'bjd_cd': '1168010500',
1384
+ 'mountain_cd': '1',
1385
+ 'bunji_cd': '00010001',
1386
+ 'bjd_datas': {
1387
+ 'error': False,
1388
+ 'sido_nm': '서울특별시',
1389
+ 'sgg_nm': '강남구',
1390
+ 'emd_nm': '삼성동',
1391
+ 'ri_nm': None,
1392
+ 'full_bjd_nm': '서울특별시 강남구 삼성동',
1393
+ 'created_dt': '1988-04-23',
1394
+ 'deleted_dt': None,
1395
+ 'base_dt': self.instance.base_dt_print, # base_dt_print 는 업데이트 되므로 self.instance.base_dt_print 로 적용
1396
+ 'msg': ''
1397
+ },
1398
+ 'bun': '1',
1399
+ 'ji': '1',
1400
+ 'msg': '',
1401
+ 'base_dt': self.instance.base_dt_print, # base_dt_print 는 업데이트 되므로 self.instance.base_dt_print 로 적용
1402
+ })
1403
+
1404
+ res = self.instance.generate_pnu_from_address(address='서울특별시 강남구 삼성1동 1-1') # 정상적인 법정동코드 및 지번 입력값
1405
+ self.assertIsInstance(res, dict)
1406
+ self.assertIsInstance(res.get('error'), bool)
1407
+ # self.assertIsInstance(res.get('pnu'), str)
1408
+ # self.assertIsInstance(res.get('bjd_cd'), str)
1409
+ # self.assertIsInstance(res.get('mountain_cd'), str)
1410
+ # self.assertIsInstance(res.get('bunji_cd'), str)
1411
+ self.assertIsInstance(res.get('bjd_datas'), dict)
975
1412
  # self.assertIsInstance(res.get('bun'), str)
976
1413
  # self.assertIsInstance(res.get('ji'), str)
977
1414
  self.assertIsInstance(res.get('msg'), str)
@@ -981,7 +1418,7 @@ class TestClass(unittest.TestCase):
981
1418
  self.assertIsNone(res.get('bjd_cd'))
982
1419
  self.assertIsNone(res.get('mountain_cd'))
983
1420
  self.assertIsNone(res.get('bunji_cd'))
984
- self.assertIsNone(res.get('bjd_datas'))
1421
+ self.assertIsNotNone(res.get('bjd_datas'))
985
1422
  self.assertIsNone(res.get('bun'))
986
1423
  self.assertIsNone(res.get('ji'))
987
1424
  self.assertIsNotNone(res.get('msg'))
@@ -992,11 +1429,21 @@ class TestClass(unittest.TestCase):
992
1429
  'bjd_cd': None,
993
1430
  'mountain_cd': None,
994
1431
  'bunji_cd': None,
995
- 'bjd_datas': None,
1432
+ 'bjd_datas': {
1433
+ 'error': True,
1434
+ 'sido_nm': None,
1435
+ 'sgg_nm': None,
1436
+ 'emd_nm': None,
1437
+ 'ri_nm': None,
1438
+ 'full_bjd_nm': None,
1439
+ 'created_dt': None,
1440
+ 'deleted_dt': None,
1441
+ 'base_dt': '2024-08-01',
1442
+ 'msg': ''},
996
1443
  'bun': None,
997
1444
  'ji': None,
998
- 'msg': "올바르지 않은 법정동명('서울특별시 강남구 삼성1동' is not a valid legal district name)",
999
1445
  'base_dt': self.instance.base_dt_print, # base_dt_print 는 업데이트 되므로 self.instance.base_dt_print 로 적용
1446
+ 'msg': 'Failed to extract bjd name from address: 서울특별시 강남구 삼성1동 1-1',
1000
1447
  })
1001
1448
 
1002
1449