Repository: joke2k/faker
Pull request #852 (2018-10-26 11:38:25)

Provider improvements for de_AT address provider
### What does this changes

Improvements for de_AT provider:

- Add more methods for address provider

### What was wrong

Issues:

- The provider was missing city_with_postcode method.

### How this fixes it

Implemented the features mentioned above.

Unit tests executed locally - all green.



Patch:
diff --git a/README.rst b/README.rst
index f1cd60df..6e9af16e 100644
--- a/README.rst
+++ b/README.rst
@@ -45,19 +45,19 @@ the type of data you want.
     # 'Lucy Cechtelar'
 
     fake.address()
-    # '426 Jordy Lodge
-    #  Cartwrightshire, SC 88120-6700'
+    # "426 Jordy Lodge
+    #  Cartwrightshire, SC 88120-6700"
 
     fake.text()
-    # 'Sint velit eveniet. Rerum atque repellat voluptatem quia rerum. Numquam excepturi
-    #  beatae sint laudantium consequatur. Magni occaecati itaque sint et sit tempore. Nesciunt
-    #  amet quidem. Iusto deleniti cum autem ad quia aperiam.
-    #  A consectetur quos aliquam. In iste aliquid et aut similique suscipit. Consequatur qui
-    #  quaerat iste minus hic expedita. Consequuntur error magni et laboriosam. Aut aspernatur
-    #  voluptatem sit aliquam. Dolores voluptatum est.
-    #  Aut molestias et maxime. Fugit autem facilis quos vero. Eius quibusdam possimus est.
-    #  Ea quaerat et quisquam. Deleniti sunt quam. Adipisci consequatur id in occaecati.
-    #  Et sint et. Ut ducimus quod nemo ab voluptatum.'
+    # Sint velit eveniet. Rerum atque repellat voluptatem quia rerum. Numquam excepturi
+    # beatae sint laudantium consequatur. Magni occaecati itaque sint et sit tempore. Nesciunt
+    # amet quidem. Iusto deleniti cum autem ad quia aperiam.
+    # A consectetur quos aliquam. In iste aliquid et aut similique suscipit. Consequatur qui
+    # quaerat iste minus hic expedita. Consequuntur error magni et laboriosam. Aut aspernatur
+    # voluptatem sit aliquam. Dolores voluptatum est.
+    # Aut molestias et maxime. Fugit autem facilis quos vero. Eius quibusdam possimus est.
+    # Ea quaerat et quisquam. Deleniti sunt quam. Adipisci consequatur id in occaecati.
+    # Et sint et. Ut ducimus quod nemo ab voluptatum.
 
 Each call to method ``fake.name()`` yields a different (random) result.
 This is because faker forwards ``faker.Generator.method_name()`` calls
@@ -68,16 +68,16 @@ to ``faker.Generator.format(method_name)``.
     for _ in range(10):
       print(fake.name())
 
-    # 'Adaline Reichel'
-    # 'Dr. Santa Prosacco DVM'
-    # 'Noemy Vandervort V'
-    # 'Lexi O'Conner'
-    # 'Gracie Weber'
-    # 'Roscoe Johns'
-    # 'Emmett Lebsack'
-    # 'Keegan Thiel'
-    # 'Wellington Koelpin II'
-    # 'Ms. Karley Kiehn V'
+    # Adaline Reichel
+    # Dr. Santa Prosacco DVM
+    # Noemy Vandervort V
+    # Lexi O'Conner
+    # Gracie Weber
+    # Roscoe Johns
+    # Emmett Lebsack
+    # Keegan Thiel
+    # Wellington Koelpin II
+    # Ms. Karley Kiehn V
 
 Providers
 ---------
@@ -114,16 +114,16 @@ default en\_US locale.
     for _ in range(10):
         print(fake.name())
 
-    # 'Elda Palumbo'
-    # 'Pacifico Giordano'
-    # 'Sig. Avide Guerra'
-    # 'Yago Amato'
-    # 'Eustachio Messina'
-    # 'Dott. Violante Lombardo'
-    # 'Sig. Alighieri Monti'
-    # 'Costanzo Costa'
-    # 'Nazzareno Barbieri'
-    # 'Max Coppola'
+    > Elda Palumbo
+    > Pacifico Giordano
+    > Sig. Avide Guerra
+    > Yago Amato
+    > Eustachio Messina
+    > Dott. Violante Lombardo
+    > Sig. Alighieri Monti
+    > Costanzo Costa
+    > Nazzareno Barbieri
+    > Max Coppola
 
 You can check available Faker locales in the source code, under the
 providers package. The localization of Faker is an ongoing process, for
@@ -256,7 +256,7 @@ How to create a Provider
 
     # now you can use:
     fake.foo()
-    # 'bar'
+    > 'bar'
 
 How to customize the Lorem Provider
 -----------------------------------
@@ -276,7 +276,7 @@ default lorem ipsum one. The following example shows how to do it with a list of
     'pie','bar','Ice','oat' ]
 
     fake.sentence()
-    # 'Expedita at beatae voluptatibus nulla omnis.'
+    #'Expedita at beatae voluptatibus nulla omnis.'
 
     fake.sentence(ext_word_list=my_word_list)
     # 'Oat beans oat Lollipop bar cheesecake.'
@@ -332,20 +332,20 @@ same version of faker and seed produces the same results.
     fake.seed(4321)
 
     print(fake.name())
-    # 'Margaret Boehm'
+    > Margaret Boehm
 
 Each generator can also be switched to its own instance of ``random.Random``,
 separate to the shared one, by using the ``seed_instance()`` method, which acts
 the same way. For example:
 
-.. code:: python
+.. code-block:: python
 
     from faker import Faker
     fake = Faker()
     fake.seed_instance(4321)
 
     print(fake.name())
-    # 'Margaret Boehm'
+    > Margaret Boehm
 
 Please note that as we keep updating datasets, results are not guaranteed to be
 consistent across patch versions. If you hardcode results in your test, make sure
diff --git a/appveyor.yml b/appveyor.yml
index fd8ac44f..8ba4a7c2 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -42,6 +42,4 @@ init:
 
 test_script:
   - "%PYTHON%/Scripts/pip.exe --version"
-  - "%PYTHON%/Scripts/pip.exe freeze"
-  - "%PYTHON%/python.exe --version"
   - "%PYTHON%/python.exe setup.py test"
diff --git a/faker/providers/address/cs_CZ/__init__.py b/faker/providers/address/cs_CZ/__init__.py
index add6d182..29570a99 100644
--- a/faker/providers/address/cs_CZ/__init__.py
+++ b/faker/providers/address/cs_CZ/__init__.py
@@ -756,9 +756,3 @@ class Provider(AddressProvider):
 
     def state(self):
         return self.random_element(self.states)
-
-    def postcode(self):
-        return self.bothify(self.random_element(self.postcode_formats))
-
-    def city_with_postcode(self):
-        return self.postcode() + " " + self.random_element(self.cities)
diff --git a/faker/providers/address/de_AT/__init__.py b/faker/providers/address/de_AT/__init__.py
index 900aea1d..2baafedb 100644
--- a/faker/providers/address/de_AT/__init__.py
+++ b/faker/providers/address/de_AT/__init__.py
@@ -151,6 +151,12 @@ class Provider(AddressProvider):
     def state(self):
         return self.random_element(self.states)
 
+    def postcode(self):
+        return self.bothify(self.random_element(self.postcode_formats))
+
+    def city_with_postcode(self):
+        return self.postcode() + " " + self.random_element(self.cities)
+
     def latitude(self):
         return self.geo_coordinate(center=47.60707, radius=1)
 
diff --git a/faker/providers/address/de_DE/__init__.py b/faker/providers/address/de_DE/__init__.py
index d92f6053..2cd3ab33 100644
--- a/faker/providers/address/de_DE/__init__.py
+++ b/faker/providers/address/de_DE/__init__.py
@@ -8,8 +8,6 @@ class Provider(AddressProvider):
 
     city_formats = ('{{city_name}}', )
 
-    city_with_postcode_formats = ('{{city_name}} {{postcode}}', )
-
     street_name_formats = (
         '{{first_name}}-{{last_name}}-{{street_suffix_long}}',
         '{{last_name}}{{street_suffix_short}}',
@@ -190,9 +188,3 @@ class Provider(AddressProvider):
 
     def country(self):
         return self.random_element(self.countries)
-
-    def postcode(self):
-        return self.bothify(self.random_element(self.postcode_formats))
-
-    def city_with_postcode(self):
-        return self.postcode() + " " + self.random_element(self.cities)
diff --git a/faker/providers/bank/pl_PL/__init__.py b/faker/providers/bank/pl_PL/__init__.py
deleted file mode 100644
index 8fa318ad..00000000
--- a/faker/providers/bank/pl_PL/__init__.py
+++ /dev/null
@@ -1,6 +0,0 @@
-from .. import Provider as BankProvider
-
-
-class Provider(BankProvider):
-    bban_format = '#' * 26
-    country_code = 'PL'
diff --git a/faker/providers/internet/__init__.py b/faker/providers/internet/__init__.py
index e256c8a5..30c1fed4 100644
--- a/faker/providers/internet/__init__.py
+++ b/faker/providers/internet/__init__.py
@@ -111,7 +111,7 @@ class Provider(BaseProvider):
         '{{url}}{{uri_path}}/{{uri_page}}{{uri_extension}}',
     )
     image_placeholder_services = (
-        'https://placeholdit.imgix.net/~text'
+        'https://placeholdit.imgix.net/~text',
         '?txtsize=55&txt={width}x{height}&w={width}&h={height}',
         'https://www.lorempixel.com/{width}/{height}',
         'https://dummyimage.com/{width}x{height}',
diff --git a/faker/providers/job/th_TH/__init__.py b/faker/providers/job/th_TH/__init__.py
deleted file mode 100644
index 35ea47c6..00000000
--- a/faker/providers/job/th_TH/__init__.py
+++ /dev/null
@@ -1,89 +0,0 @@
-# coding=utf-8
-from __future__ import unicode_literals
-from .. import Provider as BaseProvider
-
-
-# Reference:
-# https://th.wikipedia.org/wiki/หมวดหมู่:บุคคลแบ่งตามอาชีพ
-# on 2018-10-16
-class Provider(BaseProvider):
-    jobs = [
-        'นักกฎหมาย',
-        'กวี',
-        'นักการทูต',
-        'นักการเมือง',
-        'นักการศึกษา',
-        'นักกีฬา',
-        'นักการกุศล',
-        'เกษตรกร',
-        'นักเขียน',
-        'ข้าราชการ',
-        'นักคณิตศาสตร์',
-        'คนขับรถแท็กซี่',
-        'โฆษก',
-        'จ๊อกกี้',
-        'นักจัดรายการวิทยุ',
-        'จารชน',
-        'จิตรกร',
-        'นักจิตวิทยา',
-        'เจ้าหน้าทีรักษาความปลอดภัย',
-        'เจ้าหน้าที่รัฐบาล',
-        'ช่างทำเครื่องดนตรี',
-        'ช่างทำผม',
-        'นักชีววิทยา',
-        'นักดนตรี',
-        'นักดาราศาสตร์',
-        'นักแต่งเพลง',
-        'ตำรวจ',
-        'นักถ่ายภาพ',
-        'ทนายความ',
-        'ทหารบก',
-        'นักธุรกิจ',
-        'นักเคลื่อนไหว',
-        'นักบวช',
-        'นักบิน',
-        'นักบินอวกาศ',
-        'นักประชาสัมพันธ์',
-        'นักผจญภัย',
-        'นักสะสมศิลปะ',
-        'นักแสดง',
-        'นักหนังสือพิมพ์',
-        'นางงาม',
-        'นางแบบ',
-        'นายแบบ',
-        'บรรณาธิการ',
-        'นักโบราณคดี',
-        'นักแปล',
-        'นักประดิษฐ์',
-        'นักประวัติศาสตร์',
-        'นักปรัชญา',
-        'ผู้กำกับ',
-        'ผู้กำกับภาพยนตร์',
-        'ผู้กำกับละครโทรทัศน์',
-        'ผู้จัดพิมพ์',
-        'นักพจนานุกรม',
-        'แพทย์',
-        'นักพากย์',
-        'พิธีกร',
-        'นักโภชนาการ',
-        'นักภาษาศาสตร์',
-        'เภสัชกร',
-        'มัคคุเทศก์',
-        'นักมายากล',
-        'นักวาดการ์ตูน',
-        'นักวิทยาศาสตร์',
-        'วิศวกร',
-        'วีเจ',
-        'นักเศรษฐศาสตร์',
-        'ศิลปิน',
-        'สถาปนิก',
-        'นักสังคมวิทยา',
-        'นักสังคมศาสตร์',
-        'นักสัตววิทยา',
-        'นักสำรวจ',
-        'นักสืบ',
-        'นักอนุรักษ์ธรรมชาติ',
-        'นักออกแบบ',
-        'อัยการ',
-        'โปรแกรมเมอร์',
-    ]
diff --git a/faker/providers/lorem/pl_PL/__init__.py b/faker/providers/lorem/pl_PL/__init__.py
deleted file mode 100644
index 8efca7b0..00000000
--- a/faker/providers/lorem/pl_PL/__init__.py
+++ /dev/null
@@ -1,210 +0,0 @@
-# coding=utf-8
-
-from __future__ import unicode_literals
-from .. import Provider as LoremProvider
-
-
-class Provider(LoremProvider):
-    """
-    List of 2000 most frequent words in Polish Wiktionary
-
-    https://pl.wiktionary.org/wiki/Indeks:Polski_-_Najpopularniejsze_s%C5%82owa_1-2000
-    """
-
-    word_list = (
-        'w', 'z', 'być', 'na', 'i', 'do', 'nie', 'to', 'który', 'lub', 'się', 'mieć', 'o', 'coś', 'ten', 'dotyczyć',
-        'co', 'on', 'ktoś', 'od', 'język', 'że', 'po', 'przez', 'ja', 'jeden', 'miasto', 'za', 'osoba', 'jak', 'rok',
-        'cecha', 'a', 'bardzo', 'taki', 'mój', 'człowiek', 'imię', 'swój', 'dla', 'związać', 'część', 'kobieta', 'dwa',
-        'móc', 'ona', 'pan', 'nasz', 'jakiś', 'mały', 'ze', 'miejsce', 'inny', 'bez', 'czas', 'duży', 'związany',
-        'praca', 'czy', 'ale', 'pies', 'sposób', 'Polska', 'rodzaj', 'tylko', 'dom', 'dziecko', 'np.', 'ty', 'dzień',
-        'mieszkaniec', 'jako', 'rzeka', 'przed', 'pani', 'męski', 'woda', 'tak', 'pod', 'dobry', 'już', 'państwo',
-        'rodzina', 'zostać', 'życie', 'mówić', 'zwierzę', 'nad', 'pierwszy', 'ta', 'przy', 'wiele', 'cały', 'roślina',
-        'u', 'sobie', 'trzy', 'nowy', 'często', 'chcieć', 'kolor', 'musieć', 'używać', 'robić', 'wielki', 'żeński',
-        'kraj', 'mężczyzna', 'jego', 'strona', 'wysoki', 'każdy', 'nazwa', 'gatunek', 'polski', 'iść', 'sam', 'stolica',
-        'grupa', 'stary', 'my', 'zrobić', 'książka', 'kto', 'symbol', 'drugi', 'rzecz', 'stan', 'samochód', 'drzewo',
-        'ptak', 'między', 'świat', 'prawo', 'sąsiad', 'droga', 'oraz', 'słowo', 'mieszkanka', 'głowa', 'liczba', 'ci',
-        'oni', 'nie-', 'codziennie', 'owoc', 'gdy', 'młody', 'środek', 'zły', 'spotykać', 'bo', 'raz', 'spacer',
-        'ziemia', 'liczba atomowa', 'aby', 'znajdować się', 'należeć', 'itp.', 'ojciec', 'dużo', 'wiek', 'Rosja',
-        'dobrze', 'kiedy', 'służyć', 'kilka', 'przedmiot', 'ręka', 'jaki', 'biały', 'długi', 'sprawa', 'cztery',
-        'siebie', 'podczas', 'ruch', 'okres', 'góra', 'żona', 'litera', 'matka', 'odnosić się', 'kupić', 'pięć',
-        'widzieć', 'zawsze', 'oko', 'albo', 'zajmować się', 'jeszcze', 'stać', 'szkoła', 'forma', 'we', 'pracować',
-        'cel', 'koniec', 'twój', 'ciało', 'wiedzieć', 'mieszkać', 'zwykle', 'niż', 'działanie', 'koń', 'pokój',
-        'element', 'kwiat', 'nauka', 'godzina', 'wszystko', 'zawierać', 'gdzie', 'położyć', 'powiedzieć',
-        'pierwiastek chemiczny', 'urządzenie', 'choroba', 'lubić', 'pochodzić', 'wyspa', 'syn', 'prowadzić', 'piękny',
-        'dać', 'wszyscy', 'miesiąc', 'wieś', 'jednostka', 'ryba', 'światło', 'jeść', 'dziewczyna', 'żyć', 'by', 'dawać',
-        'budynek', 'stopień', 'grać', 'herb', 'brat', 'las', 'jej', 'siła', 'obszar', 'czarny', 'nic', 'znak', 'dany',
-        'one', 'żeby', 'czerwony', 'rząd', 'różny', 'brak', 'dziś', 'gra', 'leżeć', 'związek', 'członek', 'kształt',
-        'chodzić', 'wykonywać', 'wartość', 'noc', 'obwód', 'sztuka', 'statek', 'teraz', 'noga', 'dźwięk', 'występować',
-        'teren', 'ostatni', 'pieniądz', 'sytuacja', 'wczoraj', 'śmierć', 'tydzień', 'sklep', 'niebo', 'niektóry',
-        'morze', 'ważny', 'także', 'film', 'krótki', 'Europa', 'działać', 'główny', 'tworzyć', 'wykonać', 'skóra',
-        'sześć', 'tam', 'materiał', 'trwać', 'dwadzieścia', 'ilość', 'wino', 'kot', 'szybko', 'określony', 'lecz',
-        'własny', 'wojna', 'pochodzenie', 'pole', 'powierzchnia', 'północny', 'flaga', 'przyjaciel', 'postać', 'znać',
-        'silny', 'proces', 'władza', 'mleko', 'system', 'mięso', 'obraz', 'składać się', 'wyraz', 'tysiąc', 'głos',
-        'pić', 'południowy', 'słońce', 'serce', 'początek', 'córka', 'Bóg', 'pisać', 'jechać', 'drzwi', 'twarz',
-        'region', 'firma', 'miłość', 'wiatr', 'zielony', 'tekst', 'jeśli', 'zmiana', 'grecki', 'kierunek', 'siedem',
-        'święty', 'nawet', 'król', 'niski', 'wolny', 'koło', 'linia', 'kawa', 'dzisiaj', 'chleb', 'ulica', 'siostra',
-        'dawny', 'czyjś', '1000', 'nosić', 'problem', 'powietrze', 'włos', 'prosty', 'więc', 'układ okresowy', 'pomoc',
-        'żołnierz', 'brać', 'wziąć', 'tu', 'posiadać', 'powodować', 'uważać', 'punkt', 'ogień', 'arabski', 'podobny',
-        'stanowić', 'ludzie', 'charakterystyczny', 'mało', 'jezioro', 'właściwy', 'pewien', 'mąż', 'też', 'trzeci',
-        'krew', 'brzeg', 'dziesięć', 'samolot', 'znaleźć', 'okno', 'znaczenie', 'osiem', 'pójść', '1', 'gwiazda',
-        'informacja', 'granica', 'oddział', 'prawdziwy', 'dostać', 'powinien', 'ich', 'nigdy', 'drewno', 'stosować',
-        'zbiór', 'Ukraina', 'chwila', 'ból', 'uwaga', 'niewielki', 'charakter', 'deszcz', 'czysty', 'zachowanie',
-        'ciężki', 'badanie', 'ostry', 'alfabet', 'Niemcy', 'ząb', 'żaden', 'Francja', 'zacząć', 'ile', 'położenie',
-        'niemiecki', 'myśleć', 'wynik', 'pracownik', 'piwo', 'walka', 'polegać', 'francuski', 'stół', 'stać się',
-        'pierwiastek', 'według', 'chory', 'zasada', 'można', 'but', 'śnieg', 'pociąg', 'utwór', 'zespół', 'kościół',
-        'dziewięć', 'nauczyciel', 'siedzieć', 'lekarz', 'łączyć', 'prawy', 'istnieć', 'jutro', 'trudny', 'zbyt',
-        'kamień', 'jedzenie', 'liść', 'jasny', 'kultura', 'czynność', 'południe', 'numer', 'mieszkanie', 'klasa',
-        'zdanie', 'historia', 'wydawać', 'ściana', 'funkcja', 'żółty', 'ubranie', 'bóg', 'muzyka', 'piec',
-        'przypominać', 'uczeń', 'układ', 'księżyc', 'zwłaszcza', 'historyczny', 'komputer', 'rosnąć', 'substancja',
-        'chłopiec', 'zachodni', 'również', 'prawda', 'organizm', 'pełny', 'program', 'całość', 'uczucie', 'urząd',
-        'starożytny', 'typ', '2', 'polityczny', 'alkohol', 'głupi', 'północ', 'jednak', 'spać', 'pojazd', 'bliski', '5',
-        'uprawiać', 'wszystkie', 'para', 'złoty', 'kraina', 'elektryczny', 'cena', 'organizacja', 'przyjść', 'około',
-        'niebieski', 'prosić', 'towar', 'przypadek', 'trzeba', 'list', 'źródło', 'ludzki', 'dokument', 'społeczny',
-        'herbata', 'kawałek', 'dziedzina', 'słaby', 'myśl', 'dopływ', 'wiedza', 'narzędzie', 'ani', 'lewy', 'naczynie',
-        'błąd', 'szybki', 'wojskowy', 'znany', 'wieczór', 'trochę', 'wschodni', 'naturalny', 'zupa', 'pewny', 'trzymać',
-        'lód', 'trzydzieści', 'może', 'szeroki', 'zjawisko', 'ogród', 'przeznaczyć', 'przeciwny', 'angielski', 'czytać',
-        'ciasto', 'drobny', 'kochać', 'maszyna', 'chłopak', 'sen', 'plan', 'głównie', 'składać', 'wokół', 'produkt',
-        'napój', 'wielkość', 'zdjęcie', 'zima', 'zobaczyć', 'energia', 'łóżko', 'obywatel', 'złoto', 'broń', 'tkanina',
-        'słodki', 'pytanie', 'mowa', 'województwo', 'spotkanie', 'publiczny', 'obiekt', 'smak', 'karta', 'pełen',
-        'większość', 'cukier', 'cześć', 'wpływ', 'wodny', '4', 'stopa', 'Włochy', 'stosunek', 'kuchnia', 'odbywać się',
-        'duch', 'morski', 'w celu', 'aż', 'wybrzeże', 'pismo', 'prowincja', 'razem', 'równy', 'stały', 'pięćdziesiąt',
-        'wewnątrz', 'prawie', 'gość', 'powstać', 'mocny', 'jajko', 'naród', 'potrawa', 'papier', 'butelka', 'temat',
-        'żywy', 'rejon', 'zdrowie', 'lekki', 'sąd', 'palić', 'nikt', 'instrument', '3', 'wiadomość', 'produkcja', 'nos',
-        'dziadek', 'palec', 'kość', 'długość', 'obejmować', 'partia', 'Afryka', 'lato', 'rola', 'zapach', 'księga',
-        'policja', 'za pomocą', 'czynić', 'udział', 'czekać', 'rower', 'wszystek', 'miejscowość', 'sieć', 'babcia',
-        'muzyczny', 'poza', 'odpowiedni', 'usta', 'warstwa', 'lek', 'podstawowy', 'wy', 'chemiczny', 'czterdzieści',
-        'zabawa', 'szczyt', 'ponieważ', 'gmina', 'nie ma', 'warunek', 'jabłko', 'wojsko', 'wyrażać', 'powód',
-        'rozumieć', 'ciemny', 'słownik', 'długo', 'mama', 'śpiewać', 'środkowy', 'podstawa', 'rano', 'opinia',
-        'Hiszpania', 'wyjść', 'religia', 'pozycja', 'wschód', 'zachód', 'fala', 'wydarzenie', 'bogaty', 'piłka',
-        'Ziemia', 'Azja', 'ramię', 'sześćdziesiąt', 'właśnie', 'poprzez', 'ucho', 'wypadek', 'gruby', 'nazywać', '30',
-        'tytuł', 'stanowisko', 'krowa', 'szczęście', 'obok', 'oficjalny', 'poziom', 'odmiana', 'rosyjski', 'połowa',
-        'rozmowa', 'gazeta', 'rodzic', 'ponad', 'potrzeba', 'szukać', 'połączenie', 'wyglądać', 'zbierać', 'rozwój',
-        'pogoda', 'masa', 'pomieszczenie', 'potem', 'dzieło', 'nazwisko', 'sól', 'odpowiadać', 'całkowicie',
-        'posługiwać się', 'styl', 'sto', 'strach', 'lud', 'religijny', 'papieros', 'słuchać', 'styczeń', 'podróż',
-        'głęboki', 'środowisko', 'administracyjny', 'moc', 'pogląd', 'centrum', 'górski', 'święto', 'kara',
-        'instytucja', 'pas', 'Grecja', 'szczęśliwy', 'pozbawić', 'zadanie', 'zaczynać', 'taniec', 'korona', 'patrzeć',
-        'oznaczać', 'temperatura', 'niedziela', 'listopad', 'chmura', 'zupełnie', 'wśród', 'liczyć', '6', 'otrzymać',
-        'metoda', 'ono', 'zdolność', 'gorący', 'zajmować', 'wspólny', 'miły', 'możliwość', 'ładny', 'wejść',
-        'wykorzystywać', 'egzamin', 'złożyć', 'wąski', 'skrzydło', 'fizyczny', 'przestrzeń', '100', 'przedstawiać',
-        'otwarty', 'komórka', 'kierować', 'nóż', 'płyn', 'gdzieś', 'budowa', 'wspaniały', 'włoski', 'płynąć',
-        'więzienie', 'zazwyczaj', 'seksualny', 'szpital', 'nagle', 'grzyb', 'ciepły', 'zmieniać', 'ser', 'wewnętrzny',
-        'telefon', 'dlaczego', 'stawać się', 'kupować', 'walczyć', '900', 'zamek', 'dziki', 'zimny', 'minuta',
-        'wywoływać', 'obecnie', 'dusza', '8', '10', 'obiad', 'określenie', 'wysokość', 'narodowy', 'europejski',
-        'założyć', 'umrzeć', 'tutaj', 'czwarty', 'domowy', 'wierzyć', 'stworzyć', 'moneta', 'wobec', 'barwa',
-        'właściwość', 'istota', 'możliwy', 'metal', 'naprawdę', 'umowa', 'węgiel', 'hiszpański', 'pierś', '9', 'trawa',
-        'wygląd', 'określać', 'skała', 'przyrząd', 'osiemdziesiąt', 'ogromny', 'wąż', 'ku', 'wchodzić', 'ponownie',
-        'natura', 'blisko', 'obowiązek', 'gaz', 'miara', 'z powodu', 'te', 'szczególnie', 'potrzebować', 'stracić',
-        'wymagać', 'ludność', 'świnia', 'wcześnie', 'bieg', 'wrogi', 'miękki', 'autobus', 'drogi', 'zakład',
-        'amerykański', 'siedemdziesiąt', 'grudzień', 'obcy', 'napisać', 'kolejny', 'sobą', 'ochrona', 'akcja',
-        'Szwecja', 'rzymski', 'zwolennik', 'ziemniak', 'piąty', 'zdobyć', '20', 'dach', 'należy', 'bić', 'dział',
-        'jeździć', 'pomiędzy', 'klucz', 'artykuł', 'zgoda', 'dziewięćdziesiąt', 'źle', 'ofiara', 'piasek', 'nadzieja',
-        'moment', 'uniwersytet', 'Warszawa', 'pamięć', 'odpowiedź', 'luty', 'użycie', 'chronić', 'próbować', 'wyrób',
-        'łatwo', 'przyczyna', 'wrzesień', 'teatr', 'przyjąć', 'dodatek', 'czyli', 'specjalista', 'sok', '7', 'decyzja',
-        'przemysł', 'rynek', 'owca', 'prezydent', 'spokój', 'radość', 'drużyna', 'miejski', 'wróg', 'dół', 'podawać',
-        'Jan', 'kolega', 'odcień', 'zakładać', 'sportowy', 'wolność', 'znowu', 'czuć', 'ten sam', 'owad', 'zatoka',
-        'działalność', 'wiosna', 'warzywo', 'pragnienie', 'ogół', 'przykład', 'górny', 'róg', 'cierpieć', 'połączyć',
-        'brzuch', 'surowy', 'polityka', 'Rzym', 'uczyć się', 'ogon', 'kula', 'kąt', 'wzrost', 'dokładnie', 'bilet',
-        'tamten', 'wzór', 'cienki', 'poważny', 'wychodzić', 'padać', 'właściciel', 'rozmawiać', 'student',
-        'międzynarodowy', 'szósty', 'Japonia', 'poruszać się', 'porządek', 'przyjmować', 'uderzenie', 'szacunek',
-        'postępowanie', 'bok', 'rada', 'skład', 'koncern', 'przynosić', 'umieć', 'drewniany', 'atak', 'nadawać',
-        'pióro', 'dziać się', 'przyjęcie', 'lekcja', 'poniedziałek', 'japoński', 'tradycyjny', 'potrafić', 'obecny',
-        'wnętrze', 'kwiecień', 'republika', 'naukowy', 'leczenie', 'późno', 'prąd', 'maj', 'gwałtowny', 'uczyć',
-        'terytorium', 'małżeństwo', 'prasa', 'mocno', 'państwowy', 'rzucać', 'dialekt', 'twardy', 'sprzedawać', 'płyta',
-        'przyszłość', 'wiersz', 'biedny', 'mapa', 'zamieszkiwać', 'piątek', 'lipiec', 'ciągle', 'lew', 'marzec',
-        'jesień', 'obchodzić', 'proszę', 'planeta', 'dzięki', '50', 'wilk', 'łatwy', 'milion', 'gwiazdozbiór', '40',
-        'termin', 'pusty', 'wtedy', 'wydać', 'struktura', 'sobota', 'popularny', 'ssak', 'gałąź', 'pieniądze',
-        'przeciw', 'technika', 'pół', 'zdrowy', 'więcej', 'świeży', 'szyja', 'zamknąć', 'sala', 'akt', 'wiara',
-        'pływać', 'pszczoła', 'projekt', 'jedyny', 'bać się', 'zewnętrzny', 'płaski', 'spokojny', 'zwyczaj', 'organ',
-        'sztuczny', 'delikatny', 'typowy', 'literatura', 'budować', 'strój', 'literacki', 'krzew', 'zawód', 'łagodny',
-        'następny', 'chiński', 'Słońce', 'telewizja', 'zwykły', 'widoczny', 'piosenka', 'silnik', 'waga', 'płeć',
-        'Stany Zjednoczone', 'komputerowy', 'dlatego', 'służba', 'suchy', 'modlitwa', 'sierpień', 'dość', 'kino',
-        'siedziba', 'miód', 'lotniczy', 'Chiny', 'specjalny', 'dym', 'zysk', 'podatek', 'wejście', 'pomagać', 'zakres',
-        'zwrot', 'fakt', 'otwór', 'pokryć', 'most', 'sprawiać', 'wybór', 'osiągnąć', 'siódmy', 'społeczeństwo',
-        'fabryka', 'słyszeć', 'internetowy', 'mysz', 'przyjemność', 'bądź', 'przechodzić', 'próba', 'panować',
-        'straszny', 'wrogość', 'zabić', 'przedsiębiorstwo', 'jajo', 'rzeczywistość', 'ziarno', 'restauracja',
-        'współczesny', 'krok', 'daleko', 'składnik', 'kanał', 'kalendarz', 'odległość', 'przeciwnik', 'złapać', 'czyn',
-        'mur', 'zmienić', 'kurs', 'niebezpieczny', 'Czechy', 'wtorek', 'ocena', 'postawić', 'okolica', 'usterka',
-        'zjeść', 'umiejętność', 'zapomnieć', 'Anglia', 'dzielić', 'pamiętać', 'szef', 'majątek', 'kosztować', 'port',
-        'spotkać', 'autor', 'los', 'dwudziesty', 'zdarzenie', 'ósmy', 'ślub', 'dopiero', 'prywatny', 'pojechać',
-        'policjant', 'sędzia', 'średni', 'rzeczownik', 'ciepło', 'badać', 'rasa', 'Dania', 'koszula', 'okazja',
-        'przeciwko', 'usługa', 'stawiać', 'otwierać', 'efekt', 'kapelusz', 'kaczka', 'własność', 'model', 'mięsień',
-        'zgodnie', 'podać', 'piłka nożna', 'reakcja', 'znów', 'przejaw', 'doświadczenie', 'dziura', 'bitwa', 'korzyść',
-        'bank', 'Indie', 'gniew', 'przedstawienie', 'naj-', 'czasownik', 'jakość', 'dłoń', 'osioł', 'hotel', 'sprzedaż',
-        'kierowca', 'różnica', 'bohater', 'masło', 'wrażenie', 'brzydki', 'rozmiar', 'rzadko', 'królowa', 'przejść',
-        'olej', 'śniadanie', 'artysta', 'pisarz', 'zamykać', 'opowiadać', 'plaża', 'słoneczny', 'prędkość', 'mąka',
-        'Polak', 'ciąża', 'gęsty', 'zero', 'dawno', 'przyjemny', 'spowodować', 'brudny', 'wytwarzać', 'opisać',
-        'okrągły', 'ciecz', 'ludowy', 'wrócić', 'dokonywać', 'kiedyś', 'wola', 'waluta', 'całkowity', 'wykonanie',
-        'dziwny', 'tracić', 'wczesny', 'jazda', 'uderzać', 'radio', 'wyrażenie', 'wizyta', 'rana', 'daleki', 'czasem',
-        'wybrać', 'fałszywy', 'pozwalać', 'złożony', 'klasztor', 'zawodnik', 'minerał', 'znajdować', 'przyszły',
-        'koszt', 'spodnie', 'przepis', 'stacja', 'rzadki', 'grób', 'mecz', 'dyskusja', 'sport', 'nieszczęście', 'pieśń',
-        'wolno', 'handel', 'korzeń', 'łaciński', 'penis', 'październik', 'głód', 'srebro', 'kontakt', 'budzić',
-        'czwartek', 'otaczać', 'prostytutka', 'tradycja', 'znosić', 'gniazdo', 'złodziej', 'godny', 'powoli', 'zegar',
-        'urzędnik', 'Rumunia', 'Egipt', 'metr', 'kolano', 'przestać', 'uderzyć', 'Turcja', 'przerwa', 'skończyć',
-        'jeżeli', 'sądzić', 'transport', 'dobro', 'przygotować', 'szkolny', 'mi', 'małpa', 'udać się', 'krzyż',
-        'atmosfera', 'klient', 'brązowy', 'tłuszcz', 'ślad', 'mebel', 'zakończenie', 'USA', 'coraz', 'wódka', 'danie',
-        'sos', 'liczny', 'oddawać', 'zachowywać się', 'kontrola', 'mózg', 'bezpieczeństwo', 'duński', 'oglądać',
-        'dodawać', 'urodziny', 'figura', 'powiat', 'dzisiejszy', 'otworzyć', 'armia', 'zboże', 'czerwiec', 'opłata',
-        'skutek', 'suma', 'wyjście', 'operacja', 'niedźwiedź', 'matematyka', 'zniszczyć', 'pokazywać', 'zbudować',
-        'kontynent', 'dwanaście', 'dodatkowy', 'fragment', 'łódź', 'szary', '80', 'ojczyzna', 'tańczyć',
-        'Boże Narodzenie', 'umysł', 'Ameryka', 'ogólny', 'azjatycki', 'bydło', 'biblioteka', 'żart', 'rozwiązanie',
-        'lecieć', 'pojęcie', 'konstrukcja', 'Austria', 'niech', 'niebezpieczeństwo', 'tyle', 'podłoga', 'wysoko',
-        'odczuwać', 'obrona', 'żelazo', 'studiować', 'środa', 'park', 'powstawać', 'łuk', 'dolina', 'przygotowywać',
-        'obywatelka', 'gotowy', 'miecz', 'uchodzić', 'szkoda', 'zgodny', 'dzielnica', 'prezent', 'sukces', '90',
-        'lista', 'towarzystwo', 'podział', 'wysiłek', 'stado', 'tajemnica', 'kłopot', 'łyżka', 'lęk', 'cebula',
-        'płacić', 'no', 'profesor', 'w czasie', 'niszczyć', 'm.in.', 'Afganistan', 'usuwać', 'pomysł', 'mrówka',
-        'Kraków', 'gotować', 'norma', 'całkiem', 'finansowy', 'tor', 'temu', 'jądro', 'wracać', 'Białoruś', 'koza',
-        'Jezus', 'płaszcz', 'wierny', 'różowy', 'widok', 'sygnał', 'cesarz', 'potrzebny', 'nagły', 'wypowiedź', 'kosz',
-        'królestwo', 'samochodowy', 'artystyczny', '60', 'Chrystus', 'anioł', 'przejście', 'krzesło', 'sprzęt',
-        'wskazywać', 'ksiądz', 'strumień', 'metalowy', 'wykonywanie', 'zmarły', 'chrześcijański', 'cierpienie', 'scena',
-        'przeszkoda', 'zimno', 'mieć na imię', 'przychodzić', 'słoń', 'odwaga', 'przedstawiciel', 'aktor', 'ciekawy',
-        'dziewiąty', 'Australia', 'smutny', 'biec', 'przyprawa', 'prawny', 'tłum', 'interes', 'studia', 'świątynia',
-        'pijany', 'użytkownik', 'kostka', 'wywołać', 'wujek', 'dodać', 'robotnik', 'powszechny', 'dyrektor',
-        'umieszczać', 'robota', 'narząd', 'szwedzki', 'turecki', 'otrzymywać', 'produkować', 'zabawka', 'kolejowy',
-        'nastrój', 'szkło', 'ziemski', 'farba', 'bycie', 'zainteresowanie', 'relacja', 'ciężar', 'pasmo', 'wynosić',
-        'obóz', 'marka', 'szczególny', 'lis', 'wada', 'Holandia', 'bogini', 'uciekać', 'dziewczynka', 'przestępstwo',
-        'wycieczka', 'tablica', 'kolej', 'natychmiast', 'zdolny', 'wysyłać', 'błoto', 'Szwajcaria', 'orzeł', 'oddech',
-        'motyl', 'kilometr', 'umożliwiać', 'żydowski', 'gospodarka', 'pomóc', 'wciąż', 'intensywny', 'wakacje', 'pytać',
-        'utrzymywać', 'gdyby', 'malować', 'samica', 'istotny', 'idea', 'posiłek', 'wszelki', 'seks', 'pomarańczowy',
-        'handlowy', 'czoło', 'przynieść', 'teoria', 'staw', 'obserwować', 'po prostu', 'Izrael', 'opieka', 'mgła',
-        'osobisty', 'znaczyć', 'impreza', 'powieść', 'archipelag', 'nadmierny', 'reguła', 'pojedynczy', 'szklanka',
-        'wóz', 'odcinek', 'telewizyjny', 'róża', 'zawartość', 'ryż', 'poznać', 'jedynie', 'polityk', 'zwycięstwo',
-        'władca', 'żaba', 'zbiornik', 'mistrz', 'procent', 'zawodowy', 'obowiązywać', 'choć', 'kura', 'ćwiczenie',
-        'chłop', 'świeca', 'promień', 'spadek', 'trudność', 'szereg', 'cień', 'epoka', 'umieścić', 'doskonały',
-        'ozdobny', 'chociaż', 'kościelny', 'wyścig', 'zamiast', 'ocean', 'koncert', 'wybierać', 'znaczny',
-        'chrześcijaństwo', 'bar', 'gołąb', 'postawa', 'kolacja', 'wina', 'pora', 'pragnąć', 'zakończyć', 'bieda',
-        'Węgry', 'smutek', 'biuro', 'wieczorem', 'dolny', 'byk', 'burza', 'katolicki', 'książę', 'samiec', 'grzech',
-        'naukowiec', 'kończyć', 'dorosły', 'zapalenie', 'przyjaźń', 'godność', 'fotografia', 'nieprzyjemny', 'mądry',
-        'klimat', 'muzeum', 'treść', 'rezultat', 'dane', 'cisza', 'zaś', 'psychiczny', 'starać się', 'lampa', 'wesoły',
-        'Unia Europejska', 'dziób', 'traktować', 'przeprowadzać', 'piętro', 'niezwykły', 'wieża', 'pokarm', 'igła',
-        'strefa', 'spór', 'dać się', 'Estonia', 'poprzedni', 'dowód', 'pasek', 'dno', 'klub', 'wysłać', 'rachunek',
-        'odkryć', 'gardło', 'piętnaście', 'nauczycielka', 'bawić się', 'królewski', 'lotnisko', 'wzrok', 'moralny',
-        'odzież', 'śmiać się', 'mnóstwo', 'czapka', 'wywodzić się', 'sądowy', 'papież', 'plemię', 'kartka', '70',
-        'tani', 'pożar', 'półwysep', 'kult', 'łąka', 'lot', 'broda', 'wspólnota', 'wreszcie', 'lata', 'powolny',
-        'przybyć', 'mocz', 'Słowacja', 'grunt', 'pomidor', 'dokładny', 'stowarzyszenie', 'r.', 'wojenny', 'odważny',
-        'podnosić', 'zeszły', 'ośrodek', 'ozdoba', 'wraz', 'tytoń', 'obrót', 'zmęczony', 'głośny', 'parlament',
-        'uzyskać', 'wydawać się', 'budowla', 'jakby', 'wniosek', 'zajęcie', 'rysunek', 'wzgląd', 'pająk',
-        'Morze Śródziemne', 'Litwa', 'jednocześnie', 'diabeł', 'pozostać', 'kłaść', 'skłonność', 'dziecięcy',
-        'korzystać', 'Belgia', 'lina', 'wystawa', 'ciągnąć', 'pacjent', 'świadczyć', 'narkotyk', 'sukienka',
-        'techniczny', 'zaraz', 'Wielka Brytania', 'medycyna', 'przyjechać', 'powstanie', 'trwały', 'wzbudzać',
-        'czynnik', 'strata', 'podróżować', 'hałas', 'rak', 'talerz', 'plecy', 'późny', 'deska', 'boleć', 'spaść',
-        'martwy', 'łańcuch', 'czeski', 'filmowy', 'wygrać', 'zaufanie', 'alkoholowy', 'płakać', 'głupiec', 'poczta',
-        'dar', 'w formie', 'narodowość', 'podnieść', 'okręt', 'gęś', 'oś', 'nasiono', 'śmiech', 'tył', 'woleć', 'islam',
-        'sowa', 'wpaść', 'panna', 'chyba', 'osiągnięcie', 'trudno', 'robak', 'otoczenie', 'konflikt', 'centralny',
-        'pustynia', 'gabinet', 'poruszać', 'hasło', 'świecić', 'kij', 'przód', 'etap', 'większy', 'filozofia',
-        'jedenaście', 'wstyd', 'kobiecy', 'urzędowy', 'czekolada', 'ciemność', 'zapis', 'ubogi', 'wioska', 'biskup',
-        'doktor', 'oczywiście', 'wisieć', 'tłumaczenie', 'kwestia', 'kogut', 'oddać', 'ślepy', 'latać', 'babka',
-        'dokonać', 'bogactwo', 'śmieć', 'analiza', 'strzelać', 'mierzyć', 'ciotka', 'blady', 'pozostawać', 'tłumaczyć',
-        'muzyk', 'zgadzać się', 'paliwo', 'Żyd', 'postępować', 'bronić', 'szkodliwy', 'zanim', 'włosy', 'zatrzymać',
-        'aktywny', 'skala', 'cmentarz', 'spadać', 'głupota', 'kieszeń', 'lustro', 'zając', 'szlachetny', 'wątpliwość',
-        'letni', 'cyfra', 'lokalny', 'pomarańcza', 'skierować', 'poeta', 'okropny', 'istnienie', 'minister', 'umierać',
-        'faza', 'dalej', 'następować', 'zrozumieć', 'dostęp', 'opuścić', 'katastrofa', 'pojemnik', 'pojawiać się',
-        'ulegać', 'lekarstwo', 'przymiotnik', 'nieść', 'Chorwacja', 'inaczej', 'plama', 'policzek', 'chęć', 'królik',
-        'bóstwo', 'ryzyko', 'zamiar', 'przebywać', 'radiowy', 'pałac', 'zarówno', 'nazywać się', 'paczka',
-        'gospodarstwo', 'kolumna', 'graniczyć', 'biologia', 'upadek', 'wprowadzać', 'Kościół', 'rzucić', 'plus',
-        'wkrótce', 'ładunek', 'sprawiedliwość', 'kolorowy', 'kapusta', 'wybory', 'uśmiech', 'zakon', 'nocny', 'kurwa',
-        'Adam', 'na pewno', 'przemysłowy', 'oba', 'wyjątkowy', 'najpierw', 'futro', 'pisanie', 'planować', 'jadalny',
-        'adres', 'przenosić', 'dojść', 'częściowo', 'bezpośrednio', 'wybuch', 'głodny', 'oprzeć', 'tata', 'wzgórze',
-        'fizyka', 'planetoida', 'zgromadzenie', 'codzienny', 'tarcza', 'św.', 'dziennik', 'krzyczeć', 'Norwegia', '0',
-        'organizować', 'urodzić się', 'wynikać', 'krawędź', 'pełnić', 'Albania', 'uciec', 'czasami', 'przekazywać',
-        'praktyka', 'pokrywać', 'płot', 'oczekiwać', 'użyć', 'rządzić', 'ustawa', 'rolnik',
-    )
diff --git a/faker/providers/phone_number/pt_BR/__init__.py b/faker/providers/phone_number/pt_BR/__init__.py
index ca3efbd3..95707ba6 100644
--- a/faker/providers/phone_number/pt_BR/__init__.py
+++ b/faker/providers/phone_number/pt_BR/__init__.py
@@ -71,7 +71,6 @@ class Provider(PhoneNumberProvider):
         '#### ####',
         '####-####',
     )
-
     msisdn_formats = (
         '5511#########',
         '5521#########',
@@ -82,11 +81,3 @@ class Provider(PhoneNumberProvider):
         '5571#########',
         '5581#########',
     )
-
-    cellphone_formats = (
-        '+55 9#### ####',
-    )
-
-    def cellphone_number(self):
-        pattern = self.random_element(self.cellphone_formats)
-        return self.numerify(self.generator.parse(pattern))
diff --git a/faker/providers/phone_number/th_TH/__init__.py b/faker/providers/phone_number/th_TH/__init__.py
deleted file mode 100644
index 609bbb21..00000000
--- a/faker/providers/phone_number/th_TH/__init__.py
+++ /dev/null
@@ -1,9 +0,0 @@
-from __future__ import unicode_literals
-from .. import Provider as PhoneNumberProvider
-
-
-class Provider(PhoneNumberProvider):
-    formats = (
-        '+66 #### ####',
-        '+668 #### ####',
-    )
diff --git a/faker/providers/ssn/bg_BG/__init__.py b/faker/providers/ssn/bg_BG/__init__.py
deleted file mode 100644
index d606f148..00000000
--- a/faker/providers/ssn/bg_BG/__init__.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Bulgarian VAT IDs
-    """
-
-    vat_id_formats = (
-        'BG#########',
-        'BG##########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random Bulgarian VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/cs_CZ/__init__.py b/faker/providers/ssn/cs_CZ/__init__.py
deleted file mode 100644
index 90cd5321..00000000
--- a/faker/providers/ssn/cs_CZ/__init__.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    vat_id_formats = (
-        'CZ########',
-        'CZ#########',
-        'CZ##########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random Czech VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/de_AT/__init__.py b/faker/providers/ssn/de_AT/__init__.py
deleted file mode 100644
index 4b65cbd2..00000000
--- a/faker/providers/ssn/de_AT/__init__.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Austrian VAT IDs
-    """
-
-    vat_id_formats = (
-        'ATU########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: a random Austrian VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/de_CH/__init__.py b/faker/providers/ssn/de_CH/__init__.py
deleted file mode 100644
index 8fb03ef9..00000000
--- a/faker/providers/ssn/de_CH/__init__.py
+++ /dev/null
@@ -1,6 +0,0 @@
-# coding=utf-8
-from ..fr_CH import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    pass
diff --git a/faker/providers/ssn/de_DE/__init__.py b/faker/providers/ssn/de_DE/__init__.py
deleted file mode 100644
index 3b958fed..00000000
--- a/faker/providers/ssn/de_DE/__init__.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the German VAT IDs
-    """
-
-    vat_id_formats = (
-        'DE#########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random German VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/dk_DK/__init__.py b/faker/providers/ssn/dk_DK/__init__.py
deleted file mode 100644
index e4e0e45f..00000000
--- a/faker/providers/ssn/dk_DK/__init__.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Danish VAT IDs
-    """
-
-    vat_id_formats = (
-        'DK########',
-    )
-
-    def vat_id(self):
-        """
-        Returns a random generated Danish Tax ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/el_CY/__init__.py b/faker/providers/ssn/el_CY/__init__.py
deleted file mode 100644
index dbb98d30..00000000
--- a/faker/providers/ssn/el_CY/__init__.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Cypriot VAT IDs
-    """
-
-    vat_id_formats = (
-        'CY#########?',
-    )
-
-    def vat_id(self):
-        """
-        Returns a random generated Cypriot Tax ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/el_GR/__init__.py b/faker/providers/ssn/el_GR/__init__.py
deleted file mode 100644
index 76885b88..00000000
--- a/faker/providers/ssn/el_GR/__init__.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Greek VAT IDs
-    """
-
-    vat_id_formats = (
-        'EL#########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: a random Greek VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/en_GB/__init__.py b/faker/providers/ssn/en_GB/__init__.py
index 6ada182f..4e009269 100644
--- a/faker/providers/ssn/en_GB/__init__.py
+++ b/faker/providers/ssn/en_GB/__init__.py
@@ -23,17 +23,3 @@ class Provider(BaseProvider):
     def ssn(self):
         pattern = self.random_element(self.nino_formats)
         return self.numerify(self.generator.parse(pattern))
-
-    vat_id_formats = (
-        'GB### #### ##',
-        'GB### #### ## ###',
-        'GBGD###',
-        'GBHA###',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random British VAT ID
-        """
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/en_IE/__init__.py b/faker/providers/ssn/en_IE/__init__.py
deleted file mode 100644
index c0fa237b..00000000
--- a/faker/providers/ssn/en_IE/__init__.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Irish VAT IDs
-    """
-
-    vat_id_formats = (
-        'IE#?#####?',
-        'IE#######?',
-        'IE#######??',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: a random Irish VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/es_ES/__init__.py b/faker/providers/ssn/es_ES/__init__.py
deleted file mode 100644
index 2d377259..00000000
--- a/faker/providers/ssn/es_ES/__init__.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Spanish VAT IDs
-    """
-
-    vat_id_formats = (
-        'ES?########',
-        'ES########?',
-        'ES?#######?',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: a random Spanish VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/et_EE/__init__.py b/faker/providers/ssn/et_EE/__init__.py
index ed0ad8dd..dbdacdd5 100644
--- a/faker/providers/ssn/et_EE/__init__.py
+++ b/faker/providers/ssn/et_EE/__init__.py
@@ -62,14 +62,3 @@ class Provider(SsnProvider):
                                 birthday.day)
         ik += str(self.generator.random.randrange(0, 999)).zfill(3)
         return ik + str(checksum([int(ch) for ch in ik]))
-
-    vat_id_formats = (
-        'EE#########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random Estonian VAT ID
-        """
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/fi_FI/__init__.py b/faker/providers/ssn/fi_FI/__init__.py
index 3fd76732..daff7c91 100644
--- a/faker/providers/ssn/fi_FI/__init__.py
+++ b/faker/providers/ssn/fi_FI/__init__.py
@@ -52,14 +52,3 @@ class Provider(SsnProvider):
         else:
             raise ValueError('Finnish SSN do not support people born before the year 1800 or after the year 2999')
         return separator
-
-    vat_id_formats = (
-        'FI########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random Finnish VAT ID
-        """
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/fr_CH/__init__.py b/faker/providers/ssn/fr_CH/__init__.py
index 90ec0ef9..84f2bdcf 100644
--- a/faker/providers/ssn/fr_CH/__init__.py
+++ b/faker/providers/ssn/fr_CH/__init__.py
@@ -31,19 +31,3 @@ class Provider(SsnProvider):
                          + digits[7:11] + '.' \
                          + digits[11:]
         return ssn
-
-    def vat_id(self):
-        """
-        :return: Swiss UID number
-        """
-        def _checksum(digits):
-            code = ['8', '6', '4', '2', '3', '5', '9', '7']
-            remainder = 11-(sum(map(lambda x, y: int(x) * int(y), code, digits)) % 11)
-            if remainder == 10:
-                return 0
-            elif remainder == 11:
-                return 5
-            return remainder
-
-        vat_id = self.bothify('########')
-        return 'CHE' + vat_id + str(_checksum(vat_id))
diff --git a/faker/providers/ssn/fr_FR/__init__.py b/faker/providers/ssn/fr_FR/__init__.py
deleted file mode 100644
index 98aae208..00000000
--- a/faker/providers/ssn/fr_FR/__init__.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the French VAT IDs
-    """
-
-    vat_id_formats = (
-        'FR?? #########',
-        'FR## #########',
-        'FR?# #########',
-        'FR#? #########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: a random French VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/hr_HR/__init__.py b/faker/providers/ssn/hr_HR/__init__.py
index a9ab43fd..9eb73ed1 100644
--- a/faker/providers/ssn/hr_HR/__init__.py
+++ b/faker/providers/ssn/hr_HR/__init__.py
@@ -39,14 +39,3 @@ class Provider(SsnProvider):
         digits.append(checksum(digits))
 
         return ''.join(map(str, digits))
-
-    vat_id_formats = (
-        'HR###########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random Croatian VAT ID
-        """
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/hu_HU/__init__.py b/faker/providers/ssn/hu_HU/__init__.py
index 8c27f14c..a009f4a2 100644
--- a/faker/providers/ssn/hu_HU/__init__.py
+++ b/faker/providers/ssn/hu_HU/__init__.py
@@ -128,14 +128,3 @@ class Provider(SsnProvider):
         K = fmod(reduce(lambda x, y: x + y, cum), 11)
 
         return vdig + str(int(K))
-
-    vat_id_formats = (
-        'HU########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random Hungarian VAT ID
-        """
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/it_IT/__init__.py b/faker/providers/ssn/it_IT/__init__.py
index 2382b268..c910585e 100644
--- a/faker/providers/ssn/it_IT/__init__.py
+++ b/faker/providers/ssn/it_IT/__init__.py
@@ -16,31 +16,20 @@ CHECKSUM_TABLE = (
 
 
 def checksum(value):
-    """
+    '''
     Calculates the checksum char used for the 16th char.
     Author: Vincenzo Palazzo
-    """
+    '''
     return chr(65 + sum(CHECKSUM_TABLE[index % 2][ALPHANUMERICS_DICT[char]]
                         for index, char in enumerate(value)) % 26)
 
 
 class Provider(SsnProvider):
-    """
+    '''
     Generates italian fiscal codes.
-    """
+    '''
     fiscal_code_format = '??????##?##?###'
 
     def ssn(self):
         code = self.bothify(self.fiscal_code_format).upper()
         return code + checksum(code)
-
-    vat_id_formats = (
-        'IT###########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random Italian VAT ID
-        """
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/lb_LU/__init__.py b/faker/providers/ssn/lb_LU/__init__.py
deleted file mode 100644
index 2809057e..00000000
--- a/faker/providers/ssn/lb_LU/__init__.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Luxembourgish VAT IDs
-    """
-
-    vat_id_formats = (
-        'LU########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: a random Luxembourgish VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/lt_LT/__init__.py b/faker/providers/ssn/lt_LT/__init__.py
deleted file mode 100644
index 8ad52f88..00000000
--- a/faker/providers/ssn/lt_LT/__init__.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Lithuanian VAT IDs
-    """
-
-    vat_id_formats = (
-        'LT#########',
-        'LT############',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: a random Lithuanian VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/lv_LV/__init__.py b/faker/providers/ssn/lv_LV/__init__.py
deleted file mode 100644
index 1bbd249b..00000000
--- a/faker/providers/ssn/lv_LV/__init__.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Latvian VAT IDs
-    """
-
-    vat_id_formats = (
-        'LV###########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: a random Latvian VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/mt_MT/__init__.py b/faker/providers/ssn/mt_MT/__init__.py
deleted file mode 100644
index 33ec3c66..00000000
--- a/faker/providers/ssn/mt_MT/__init__.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Maltese VAT IDs
-    """
-
-    vat_id_formats = (
-        'MT########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random Maltese VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/nl_BE/__init__.py b/faker/providers/ssn/nl_BE/__init__.py
index e2ee1e95..d4655b44 100644
--- a/faker/providers/ssn/nl_BE/__init__.py
+++ b/faker/providers/ssn/nl_BE/__init__.py
@@ -56,14 +56,3 @@ class Provider(SsnProvider):
         # return result as a string
         elms.append(s_rjust)
         return "".join(elms)
-
-    vat_id_formats = (
-        'BE##########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random Belgian VAT ID
-        """
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/nl_NL/__init__.py b/faker/providers/ssn/nl_NL/__init__.py
index 48a75c53..79f9df6e 100644
--- a/faker/providers/ssn/nl_NL/__init__.py
+++ b/faker/providers/ssn/nl_NL/__init__.py
@@ -37,14 +37,3 @@ class Provider(SsnProvider):
         bsn = "".join([str(e) for e in digits])
         # finally return our random but valid BSN
         return bsn
-
-    vat_id_formats = (
-        'NL#########B##',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random Dutch VAT ID
-        """
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/no_NO/__init__.py b/faker/providers/ssn/no_NO/__init__.py
index ead2b08a..2f171d42 100644
--- a/faker/providers/ssn/no_NO/__init__.py
+++ b/faker/providers/ssn/no_NO/__init__.py
@@ -59,13 +59,13 @@ class Provider(SsnProvider):
             raise ValueError('Gender must be one of F or M.')
 
         while True:
-            if 1900 <= birthday.year <= 1999:
+            if birthday.year >= 1900 and birthday.year <= 1999:
                 suffix = str(self.generator.random.randrange(0, 49))
-            elif 1854 <= birthday.year <= 1899:
+            elif birthday.year >= 1854 and birthday.year <= 1899:
                 suffix = str(self.generator.random.randrange(50, 74))
-            elif 2000 <= birthday.year <= 2039:
+            elif birthday.year >= 2000 and birthday.year <= 2039:
                 suffix = str(self.generator.random.randrange(50, 99))
-            elif 1940 <= birthday.year <= 1999:
+            elif birthday.year >= 1940 and birthday.year <= 1999:
                 suffix = str(self.generator.random.randrange(90, 99))
             if gender == 'F':
                 gender_num = self.generator.random.choice((0, 2, 4, 6, 8))
diff --git a/faker/providers/ssn/pl_PL/__init__.py b/faker/providers/ssn/pl_PL/__init__.py
index 1b668c76..bd92bf60 100644
--- a/faker/providers/ssn/pl_PL/__init__.py
+++ b/faker/providers/ssn/pl_PL/__init__.py
@@ -62,14 +62,3 @@ class Provider(SsnProvider):
         pesel_digits.append(checksum(pesel_digits))
 
         return ''.join(str(digit) for digit in pesel_digits)
-
-    vat_id_formats = (
-        'PL##########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random Polish VAT ID
-        """
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/pt_PT/__init__.py b/faker/providers/ssn/pt_PT/__init__.py
deleted file mode 100644
index 3d21e83b..00000000
--- a/faker/providers/ssn/pt_PT/__init__.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Portuguese VAT IDs
-    """
-
-    vat_id_formats = (
-        'PT#########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random Portuguese VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/ro_RO/__init__.py b/faker/providers/ssn/ro_RO/__init__.py
deleted file mode 100644
index 73aa410d..00000000
--- a/faker/providers/ssn/ro_RO/__init__.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Romanian VAT IDs
-    """
-
-    vat_id_formats = (
-        'RO##',
-        'RO###',
-        'RO####',
-        'RO#####',
-        'RO######',
-        'RO#######',
-        'RO########',
-        'RO#########',
-        'RO##########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random Romanian VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/sk_SK/__init__.py b/faker/providers/ssn/sk_SK/__init__.py
deleted file mode 100644
index 1f4a5399..00000000
--- a/faker/providers/ssn/sk_SK/__init__.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Slovakian VAT IDs
-    """
-
-    vat_id_formats = (
-        'SK##########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: a random Slovakian VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/sl_SI/__init__.py b/faker/providers/ssn/sl_SI/__init__.py
deleted file mode 100644
index 10d86735..00000000
--- a/faker/providers/ssn/sl_SI/__init__.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# coding=utf-8
-from .. import Provider as BaseProvider
-
-
-class Provider(BaseProvider):
-    """
-    A Faker provider for the Slovenian VAT IDs
-    """
-
-    vat_id_formats = (
-        'SI########',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: a random Slovenian VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/faker/providers/ssn/sv_SE/__init__.py b/faker/providers/ssn/sv_SE/__init__.py
index 827d834a..2590da9f 100644
--- a/faker/providers/ssn/sv_SE/__init__.py
+++ b/faker/providers/ssn/sv_SE/__init__.py
@@ -42,15 +42,3 @@ class Provider(SsnProvider):
         pnr = '{0}-{1}{2}'.format(pnr_date, suffix, luhn_checksum)
 
         return pnr
-
-    vat_id_formats = (
-        'SE############',
-    )
-
-    def vat_id(self):
-        """
-        http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
-        :return: A random Swedish VAT ID
-        """
-
-        return self.bothify(self.random_element(self.vat_id_formats))
diff --git a/setup.py b/setup.py
index 24dd557c..034b49ff 100644
--- a/setup.py
+++ b/setup.py
@@ -71,7 +71,7 @@ setup(
         "email_validator>=1.0.0,<1.1.0",
         "ukpostcodeparser>=1.1.1",
         "mock",
-        "pytest>=3.8.0,<3.9",
+        "pytest>=3.6.0",
     ],
     extras_require={
         ':python_version=="2.7"': [


Test patch:
diff --git a/tests/providers/test_address.py b/tests/providers/test_address.py
index 1787c563..a00cc44d 100644
--- a/tests/providers/test_address.py
+++ b/tests/providers/test_address.py
@@ -74,41 +74,6 @@ class TestAr_AA(unittest.TestCase):
             Faker().country_code(representation='hello')
 
 
-class TestCsCZ(unittest.TestCase):
-    """ Tests in addresses in the cs_CZ locale """
-
-    def setUp(self):
-        self.factory = Faker('cs_CZ')
-
-    def test_street_suffix_short(self):
-        street_suffix_short = self.factory.street_suffix_short()
-        assert isinstance(street_suffix_short, string_types)
-
-    def test_street_suffix_long(self):
-        street_suffix_long = self.factory.street_suffix_long()
-        assert isinstance(street_suffix_long, string_types)
-
-    def test_city_name(self):
-        city = self.factory.city_name()
-        assert isinstance(city, string_types)
-
-    def test_street_name(self):
-        street_name = self.factory.street_name()
-        assert isinstance(street_name, string_types)
-
-    def test_state(self):
-        state = self.factory.state()
-        assert isinstance(state, string_types)
-
-    def test_postcode(self):
-        postcode = self.factory.postcode()
-        assert isinstance(postcode, string_types)
-
-    def test_city_with_postcode(self):
-        city_with_postcode = self.factory.city_with_postcode()
-        assert isinstance(city_with_postcode, string_types)
-
-
 class TestDeAT(unittest.TestCase):
     """ Tests in addresses in the de_AT locale """
 
@@ -144,6 +109,10 @@ class TestDeAT(unittest.TestCase):
         postcode = self.factory.postcode()
         assert re.match("\d{4}", postcode)
 
+    def test_city_with_postcode(self):
+        city_with_postcode = self.factory.city_with_postcode()
+        assert isinstance(city_with_postcode, string_types)
+
     def test_latitude(self):
         latitude = self.factory.latitude()
         assert re.match("4[6-8]\.\d+", str(latitude))
@@ -184,10 +153,6 @@ class TestDeDE(unittest.TestCase):
         assert isinstance(country, string_types)
         assert country in DeProvider.countries
 
-    def test_city_with_postcode(self):
-        city_with_postcode = self.factory.city_with_postcode()
-        assert isinstance(city_with_postcode, string_types)
-
 
 class TestFiFI(unittest.TestCase):
     """ Tests in addresses in the fi_FI locale """
diff --git a/tests/providers/test_bank.py b/tests/providers/test_bank.py
index 2e58af46..3a0ae3bb 100644
--- a/tests/providers/test_bank.py
+++ b/tests/providers/test_bank.py
@@ -15,18 +15,3 @@ class TestNoNO(unittest.TestCase):
     def test_bban(self):
         bban = self.factory.bban()
         assert re.match("\d{11}", bban)
-
-
-class TestPlPL(unittest.TestCase):
-    """Tests the bank provider for pl_PL locale"""
-
-    def setUp(self):
-        self.factory = Faker('pl_PL')
-
-    def test_bban(self):
-        bban = self.factory.bban()
-        assert re.match("\d{26}", bban)
-
-    def test_iban(self):
-        iban = self.factory.iban()
-        assert re.match("PL\d{26}", iban)
diff --git a/tests/providers/test_phone_number.py b/tests/providers/test_phone_number.py
index 0bfbb96d..156082cb 100644
--- a/tests/providers/test_phone_number.py
+++ b/tests/providers/test_phone_number.py
@@ -64,12 +64,6 @@ class TestPhoneNumber(unittest.TestCase):
         assert msisdn.isdigit()
         assert msisdn[0:4] in formats
 
-    def test_cellphone_pt_br(self):
-        factory = Faker('pt_BR')
-        cellphone = factory.cellphone_number()
-        assert cellphone is not None
-        assert len(cellphone) == 14
-
 
 class TestHuHU(unittest.TestCase):
 
@@ -79,25 +73,3 @@ class TestHuHU(unittest.TestCase):
     def test_phone_number(self):
         phone_number = self.factory.phone_number()
         re.match(r"[1-9]\d/\d{3} \d{4}", phone_number)
-
-
-class TestThTH(unittest.TestCase):
-
-    def setUp(self):
-        self.factory = Faker('th_TH')
-
-    def test_phone_number_should_be_in_defined_format(self):
-        phone_number = self.factory.phone_number()
-
-        first, second, third = phone_number.split(' ')
-
-        formats = ('+66', '+668')
-        self.assertTrue(first in formats)
-
-        if len(first) == 3:
-            self.assertEqual(first, '+66')
-        elif len(first) == 4:
-            self.assertEqual(first, '+668')
-
-        self.assertEqual(len(second), 4)
-        self.assertEqual(len(third), 4)
diff --git a/tests/providers/test_ssn.py b/tests/providers/test_ssn.py
index 0e09f3f8..495a612e 100644
--- a/tests/providers/test_ssn.py
+++ b/tests/providers/test_ssn.py
@@ -2,8 +2,8 @@
 
 from __future__ import unicode_literals
 
-import re
 import unittest
+import re
 from datetime import datetime
 
 import pytest
@@ -13,45 +13,9 @@ from faker.providers.ssn.en_CA import checksum as ca_checksum
 from faker.providers.ssn.et_EE import checksum as et_checksum
 from faker.providers.ssn.fi_FI import Provider as fi_Provider
 from faker.providers.ssn.hr_HR import checksum as hr_checksum
-from faker.providers.ssn.no_NO import checksum as no_checksum, Provider as no_Provider
-from faker.providers.ssn.pl_PL import checksum as pl_checksum, calculate_month as pl_calculate_mouth
 from faker.providers.ssn.pt_BR import checksum as pt_checksum
-
-
-class TestBgBG(unittest.TestCase):
-    def setUp(self):
-        self.factory = Faker('bg_BG')
-
-    def test_vat_id(self):
-        for _ in range(100):
-            assert re.search(r'^BG\d{9,10}$', self.factory.vat_id())
-
-
-class TestCsCZ(unittest.TestCase):
-    def setUp(self):
-        self.factory = Faker('cs_CZ')
-
-    def test_vat_id(self):
-        for _ in range(100):
-            assert re.search(r'^CZ\d{8,10}$', self.factory.vat_id())
-
-
-class TestDeAT(unittest.TestCase):
-    def setUp(self):
-        self.factory = Faker('de_AT')
-
-    def test_vat_id(self):
-        for _ in range(100):
-            assert re.search(r'^ATU\d{8}$', self.factory.vat_id())
-
-
-class TestElCY(unittest.TestCase):
-    def setUp(self):
-        self.factory = Faker('el_CY')
-
-    def test_vat_id(self):
-        for _ in range(100):
-            assert re.search(r'^CY\d{9}\w$', self.factory.vat_id())
+from faker.providers.ssn.pl_PL import checksum as pl_checksum, calculate_month as pl_calculate_mouth
+from faker.providers.ssn.no_NO import checksum as no_checksum, Provider as no_Provider
 
 
 class TestEnCA(unittest.TestCase):
@@ -266,15 +230,6 @@ class TestEnUS(unittest.TestCase):
             self.factory.ssn(taxpayer_identification_number_type='ssn')
 
 
-class TestEsES(unittest.TestCase):
-    def setUp(self):
-        self.factory = Faker('es_ES')
-
-    def test_vat_id(self):
-        for _ in range(100):
-            assert re.search(r'^ES\w\d{8}$|^ES\d{8}\w$|^ES\w\d{7}\w$', self.factory.vat_id())
-
-
 class TestEtEE(unittest.TestCase):
     """ Tests SSN in the et_EE locale """
 
@@ -291,10 +246,6 @@ class TestEtEE(unittest.TestCase):
         for _ in range(100):
             assert re.search(r'^\d{11}$', self.factory.ssn())
 
-    def test_vat_id(self):
-        for _ in range(100):
-            assert re.search(r'^EE\d{9}$', self.factory.vat_id())
-
 
 class TestFiFI(unittest.TestCase):
     """ Tests SSN in the fi_FI locale """
@@ -317,7 +268,7 @@ class TestFiFI(unittest.TestCase):
 
     def test_ssn_sanity(self):
         for age in range(100):
-            self.factory.ssn(min_age=age, max_age=age + 1)
+            self.factory.ssn(min_age=age, max_age=age+1)
 
     def test_valid_ssn(self):
         ssn = self.factory.ssn(artificial=False)
@@ -329,28 +280,6 @@ class TestFiFI(unittest.TestCase):
         individual_number = int(ssn[7:10])
         assert individual_number >= 900
 
-    def test_vat_id(self):
-        for _ in range(100):
-            assert re.search(r'^FI\d{8}$', self.factory.vat_id())
-
-
-class TestFrFR(unittest.TestCase):
-    def setUp(self):
-        self.factory = Faker('fr_FR')
-
-    def test_vat_id(self):
-        for _ in range(100):
-            assert re.search(r'^FR[\w\d]{2} \d{9}$', self.factory.vat_id())
-
-
-class TestEnGB(unittest.TestCase):
-    def setUp(self):
-        self.factory = Faker('en_GB')
-
-    def test_vat_id(self):
-        for _ in range(100):
-            assert re.search(r'^GB\d{3} \d{4} \d{2}(?: \d{3})?$|^GB(?:GD|HA)\d{3}$', self.factory.vat_id())
-
 
 class TestHrHR(unittest.TestCase):
     """ Tests SSN in the hr_HR locale """
@@ -370,10 +299,6 @@ class TestHrHR(unittest.TestCase):
         for _ in range(100):
             assert re.search(r'^\d{11}$', self.factory.ssn())
 
-    def test_vat_id(self):
-        for _ in range(100):
-            assert re.search(r'^HR\d{11}$', self.factory.vat_id())
-
 
 class TestHuHU(unittest.TestCase):
     def setUp(self):
@@ -402,10 +327,6 @@ class TestHuHU(unittest.TestCase):
             except ValueError:
                 pass
 
-    def test_vat_id(self):
-        for _ in range(100):
-            assert re.search(r'^HU\d{8}$', self.factory.vat_id())
-
 
 class TestPtBR(unittest.TestCase):
     def setUp(self):
@@ -421,16 +342,42 @@ class TestPtBR(unittest.TestCase):
 
     def test_pt_BR_cpf(self):
         for _ in range(100):
-            assert re.search(r'\d{3}\.\d{3}\.\d{3}-\d{2}', self.factory.cpf())
+            assert re.search(r'\d{3}\.\d{3}\.\d{3}\-\d{2}', self.factory.cpf())
+
 
+class TestPlPL(unittest.TestCase):
+    """ Tests SSN in the pl_PL locale """
 
-class TestNlNL(unittest.TestCase):
     def setUp(self):
-        self.factory = Faker('nl_NL')
+        self.factory = Faker('pl_PL')
+
+    def test_ssn_checksum(self):
+        assert pl_checksum([0, 5, 2, 6, 2, 8, 1, 2, 3, 6]) == 5
+        assert pl_checksum([8, 5, 0, 5, 0, 8, 1, 5, 5, 8]) == 7
+        assert pl_checksum([4, 5, 1, 1, 1, 0, 0, 2, 4, 3]) == 3
+        assert pl_checksum([9, 1, 0, 7, 2, 6, 1, 4, 8, 7]) == 3
+        assert pl_checksum([8, 1, 1, 2, 1, 4, 1, 1, 8, 7]) == 6
+
+    def test_calculate_month(self):
+        assert pl_calculate_mouth(datetime.strptime('1 1 1900', '%m %d %Y')) == 1
+        assert pl_calculate_mouth(datetime.strptime('12 1 1900', '%m %d %Y')) == 12
+        assert pl_calculate_mouth(datetime.strptime('1 1 1999', '%m %d %Y')) == 1
+
+        assert pl_calculate_mouth(datetime.strptime('1 1 2000', '%m %d %Y')) == 21
+        assert pl_calculate_mouth(datetime.strptime('12 1 2000', '%m %d %Y')) == 32
+        assert pl_calculate_mouth(datetime.strptime('1 1 2099', '%m %d %Y')) == 21
+
+        assert pl_calculate_mouth(datetime.strptime('1 1 2100', '%m %d %Y')) == 41
+        assert pl_calculate_mouth(datetime.strptime('12 1 2100', '%m %d %Y')) == 52
+        assert pl_calculate_mouth(datetime.strptime('1 1 2199', '%m %d %Y')) == 41
 
-    def test_vat_id(self):
+        assert pl_calculate_mouth(datetime.strptime('1 1 2200', '%m %d %Y')) == 61
+        assert pl_calculate_mouth(datetime.strptime('12 1 2200', '%m %d %Y')) == 72
+        assert pl_calculate_mouth(datetime.strptime('1 1 2299', '%m %d %Y')) == 61
+
+    def test_ssn(self):
         for _ in range(100):
-            assert re.search(r'^NL\d{9}B\d{2}$', self.factory.vat_id())
+            assert re.search(r'^\d{11}$', self.factory.ssn())
 
 
 class TestNoNO(unittest.TestCase):
@@ -473,42 +420,3 @@ class TestNoNO(unittest.TestCase):
     def test_no_NO_ssn_invalid_gender_passed(self):
         with pytest.raises(ValueError):
             self.factory.ssn(gender='A')
-
-
-class TestPlPL(unittest.TestCase):
-    """ Tests SSN in the pl_PL locale """
-
-    def setUp(self):
-        self.factory = Faker('pl_PL')
-
-    def test_ssn_checksum(self):
-        assert pl_checksum([0, 5, 2, 6, 2, 8, 1, 2, 3, 6]) == 5
-        assert pl_checksum([8, 5, 0, 5, 0, 8, 1, 5, 5, 8]) == 7
-        assert pl_checksum([4, 5, 1, 1, 1, 0, 0, 2, 4, 3]) == 3
-        assert pl_checksum([9, 1, 0, 7, 2, 6, 1, 4, 8, 7]) == 3
-        assert pl_checksum([8, 1, 1, 2, 1, 4, 1, 1, 8, 7]) == 6
-
-    def test_calculate_month(self):
-        assert pl_calculate_mouth(datetime.strptime('1 1 1900', '%m %d %Y')) == 1
-        assert pl_calculate_mouth(datetime.strptime('12 1 1900', '%m %d %Y')) == 12
-        assert pl_calculate_mouth(datetime.strptime('1 1 1999', '%m %d %Y')) == 1
-
-        assert pl_calculate_mouth(datetime.strptime('1 1 2000', '%m %d %Y')) == 21
-        assert pl_calculate_mouth(datetime.strptime('12 1 2000', '%m %d %Y')) == 32
-        assert pl_calculate_mouth(datetime.strptime('1 1 2099', '%m %d %Y')) == 21
-
-        assert pl_calculate_mouth(datetime.strptime('1 1 2100', '%m %d %Y')) == 41
-        assert pl_calculate_mouth(datetime.strptime('12 1 2100', '%m %d %Y')) == 52
-        assert pl_calculate_mouth(datetime.strptime('1 1 2199', '%m %d %Y')) == 41
-
-        assert pl_calculate_mouth(datetime.strptime('1 1 2200', '%m %d %Y')) == 61
-        assert pl_calculate_mouth(datetime.strptime('12 1 2200', '%m %d %Y')) == 72
-        assert pl_calculate_mouth(datetime.strptime('1 1 2299', '%m %d %Y')) == 61
-
-    def test_ssn(self):
-        for _ in range(100):
-            assert re.search(r'^\d{11}$', self.factory.ssn())
-
-    def test_vat_id(self):
-        for _ in range(100):
-            assert re.search(r'^PL\d{10}$', self.factory.vat_id())