Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pytest
- from phone_parser import parse_phone_number
- @pytest.mark.parametrize("phone_number, expected_result", [
- ('555-123-4567', {'area_code': '555', 'prefix': '123', 'line_number': '4567'}),
- ('(555) 123-4567', {'area_code': '555', 'prefix': '123', 'line_number': '4567'}),
- ('555.123.4567', {'area_code': '555', 'prefix': '123', 'line_number': '4567'}),
- ('5551234567', {'area_code': '555', 'prefix': '123', 'line_number': '4567'}),
- ('1-555-123-4567', {'area_code': '555', 'prefix': '123', 'line_number': '4567'}),
- ('+44 7911 123456', {'country_code': '44', 'prefix': '7911', 'line_number': '123456'}),
- ('+1 650-253-0000 x123', {'country_code': '1', 'area_code': '650', 'prefix': '253', 'line_number': '0000', 'extension': '123'}),
- ('+86 10-12345678 ext 123', {'country_code': '86', 'area_code': '10', 'prefix': '12345678', 'extension': '123'}),
- ('01155-123-4567', {'country_code': '55', 'area_code': '123', 'prefix': '456', 'line_number': '7'}),
- ('01181 3 1234 5678', {'country_code': '81', 'area_code': '3', 'prefix': '1234', 'line_number': '5678'})
- ])
- def test_parse_phone_number_valid(phone_number, expected_result):
- assert parse_phone_number(phone_number) == expected_result
- @pytest.mark.parametrize("phone_number", [
- '5551234',
- '55512345678',
- '1-555-1234-567',
- '(555)123-4567',
- '555-123-4567-',
- '+1 555-123-4567-',
- '+123 1234 5678-',
- '+33 (0) 1 23 45 67 89-',
- '+86 10-12345678-',
- '01155-1234-5678',
- '01181 3 1234 56789',
- '+1 650-253-0000 x1234',
- '+86 10-12345678 ext 1234'
- ])
- def test_parse_phone_number_invalid(phone_number):
- assert parse_phone_number(phone_number) is None
Advertisement
Add Comment
Please, Sign In to add comment