diff --git a/faker/providers/bank/en_IN/__init__.py b/faker/providers/bank/en_IN/__init__.py new file mode 100644 index 0000000000..d63beebf6e --- /dev/null +++ b/faker/providers/bank/en_IN/__init__.py @@ -0,0 +1,49 @@ +from typing import Optional + +from .. import Provider as BankProvider + + +class Provider(BankProvider): + """Implement bank provider for ``en_IN`` locale. + Source: https://en.wikipedia.org/wiki/List_of_banks_in_India + """ + + banks = ( + "Bank of Baroda", + "Bank of India", + "Bank of Maharashtra", + "Canara Bank", + "Central Bank of India", + "Indian Bank", + "Indian Overseas Bank", + "Punjab National Bank", + "Punjab and Sind Bank", + "Union Bank of India", + "UCO Bank", + "State Bank of India", + "Axis Bank", + "Bandhan Bank", + "CSB Bank", + "City Union Bank", + "DCB Bank", + "Dhanlaxmi Bank", + "Federal Bank", + "HDFC Bank", + "ICICI Bank", + "IDBI Bank", + "IDFC First Bank", + "IndusInd Bank", + "Jammu & Kashmir Bank", + "Karnataka Bank", + "Karur Vysya Bank", + "Kotak Mahindra Bank", + "Nainital Bank", + "RBL Bank", + "South Indian Bank", + "Tamilnad Mercantile Bank", + "Yes Bank", + ) + + def bank(self, min_length: Optional[int] = None, max_length: Optional[int] = None) -> str: + """Generate a bank name.""" + return self.random_element(self.banks, min_length, max_length) diff --git a/tests/providers/test_bank.py b/tests/providers/test_bank.py index c809400253..3683b6e050 100644 --- a/tests/providers/test_bank.py +++ b/tests/providers/test_bank.py @@ -370,3 +370,11 @@ def test_iban(self, faker, num_samples): assert is_valid_iban(iban) assert iban[:2] == ElGrBankProvider.country_code assert re.fullmatch(r"\d{2}\d{23}", iban[2:]) + + +class TestEnIn: + """Test en_IN bank provider""" + + def test_bank(self, faker, num_samples): + for _ in range(num_samples): + assert re.match(r"\D{7,25}", faker.bank())