test_validator.py 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. #from pyVat.validators.ro import Validator
  2. import unittest
  3. from pyVat.api import Validator
  4. class TestValidator(unittest.TestCase):
  5. def test_ro(self):
  6. validator = Validator('RO2785503')
  7. self.assertTrue( validator.validate() )
  8. self.assertEqual( validator.country_code, 'RO' )
  9. self.assertEqual( validator.vat_number, '2785503' )
  10. validator = Validator('2785503', 'RO')
  11. self.assertTrue(validator.validate())
  12. validator = Validator('ro 278 5503')
  13. self.assertTrue(validator.validate())
  14. self.assertEqual(validator.country_code, 'RO')
  15. validator = Validator('RO2785500')
  16. self.assertFalse(validator.validate())
  17. def test_at(self):
  18. validator = Validator('ATU10223006')
  19. self.assertTrue(validator.validate())
  20. self.assertEqual(validator.country_code, 'AT')
  21. validator = Validator('ATU10223005')
  22. self.assertFalse(validator.validate())
  23. def test_be(self):
  24. validator = Validator('BE0776091951')
  25. self.assertTrue(validator.validate())
  26. self.assertEqual(validator.country_code, 'BE')
  27. self.assertEqual(validator.vat_number, '0776091951')
  28. validator = Validator('BE0776091950')
  29. self.assertFalse(validator.validate())
  30. def test_bg(self):
  31. # test legal entity
  32. validator = Validator('BG101004508')
  33. self.assertTrue(validator.validate())
  34. self.assertEqual(validator.country_code, 'BG')
  35. self.assertEqual(validator.vat_number, '101004508')
  36. validator = Validator('BG101004502')
  37. self.assertFalse(validator.validate())
  38. # test physical person
  39. validator = Validator('BG0041010002')
  40. self.assertTrue(validator.validate())
  41. self.assertEqual(validator.country_code, 'BG')
  42. self.assertEqual(validator.vat_number, '0041010002')
  43. # foreigners
  44. validator = Validator('BG0000100159')
  45. self.assertTrue(validator.validate())
  46. self.assertEqual(validator.country_code, 'BG')
  47. self.assertEqual(validator.vat_number, '0000100159')
  48. # others
  49. validator = Validator('BG0000100153')
  50. self.assertTrue(validator.validate())
  51. self.assertEqual(validator.country_code, 'BG')
  52. self.assertEqual(validator.vat_number, '0000100153')
  53. def test_cy(self):
  54. validator = Validator('CY00532445O') # the last char is O from oranges
  55. self.assertTrue(validator.validate())
  56. self.assertEqual(validator.country_code, 'CY')
  57. self.assertEqual(validator.vat_number, '00532445O')
  58. validator = Validator('CY12000139V')
  59. self.assertFalse(validator.validate())
  60. def test_cz(self):
  61. # test legal entity
  62. validator = Validator('CZ46505334')
  63. self.assertTrue(validator.validate())
  64. self.assertEqual(validator.country_code, 'CZ')
  65. self.assertEqual(validator.vat_number, '46505334')
  66. validator = Validator('CZ46505332')
  67. self.assertFalse(validator.validate())
  68. # test individuals - special cases
  69. validator = Validator('CZ640903926')
  70. self.assertTrue(validator.validate())
  71. self.assertEqual(validator.country_code, 'CZ')
  72. self.assertEqual(validator.vat_number, '640903926')
  73. validator = Validator('CZ46505331')
  74. self.assertFalse(validator.validate())
  75. # test common individuals
  76. validator = Validator('CZ395601439')
  77. self.assertTrue(validator.validate())
  78. self.assertEqual(validator.country_code, 'CZ')
  79. self.assertEqual(validator.vat_number, '395601439')
  80. validator = Validator('CZ520229439')
  81. self.assertTrue(validator.validate())
  82. validator = Validator('CZ705601439')
  83. self.assertFalse(validator.validate())
  84. # test common individuals born after 1953
  85. validator = Validator('CZ7103192745')
  86. self.assertTrue(validator.validate())
  87. self.assertEqual(validator.country_code, 'CZ')
  88. self.assertEqual(validator.vat_number, '7103192745')
  89. validator = Validator('CZ7103192744')
  90. self.assertFalse(validator.validate())
  91. def test_de(self):
  92. validator = Validator('DE111111125')
  93. self.assertTrue(validator.validate())
  94. self.assertEqual(validator.country_code, 'DE')
  95. self.assertEqual(validator.vat_number, '111111125')
  96. validator = Validator('DE111111122')
  97. self.assertFalse(validator.validate())
  98. def test_dk(self):
  99. validator = Validator('DK88146328')
  100. self.assertTrue(validator.validate())
  101. self.assertEqual(validator.country_code, 'DK')
  102. self.assertEqual(validator.vat_number, '88146328')
  103. validator = Validator('DK88146327')
  104. self.assertFalse(validator.validate())
  105. def test_ee(self):
  106. validator = Validator('EE100207415')
  107. self.assertTrue(validator.validate())
  108. self.assertEqual(validator.country_code, 'EE')
  109. self.assertEqual(validator.vat_number, '100207415')
  110. validator = Validator('EE100207417')
  111. self.assertFalse(validator.validate())
  112. def test_gr(self):
  113. validator = Validator('EL040127797')
  114. self.assertTrue(validator.validate())
  115. self.assertEqual(validator.country_code, 'GR')
  116. self.assertEqual(validator.vat_number, '040127797')
  117. validator = Validator('040127797', 'EL')
  118. self.assertTrue(validator.validate())
  119. validator = Validator('EL040127798')
  120. self.assertFalse(validator.validate())
  121. if __name__ == '__main__':
  122. unittest.main()
  123. #
  124. #
  125. #
  126. # validator = Validator()
  127. #
  128. # print (validator.validate(36804251))