Skip to content

Commit e27c113

Browse files
authored
Return list instead of tuple in choices_distribution (#1485)
1 parent 52e5018 commit e27c113

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

faker/utils/distribution.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def choices_distribution(
6161

6262
if hasattr(random, 'choices'):
6363
if length == 1 and p is None:
64-
return (random.choice(a),)
64+
return [random.choice(a)]
6565
else:
6666
return random.choices(a, weights=p, k=length)
6767
else:

tests/providers/__init__.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,16 @@ def test_random_letter(self, faker, num_samples):
152152
letter = faker.random_letter()
153153
assert letter.isalpha()
154154

155+
@pytest.mark.parametrize('length', [0, 1, 2], ids=[
156+
'empty_list', 'list_with_one_element', 'list_with_two_elements',
157+
])
158+
def test_random_letters(self, faker, length):
159+
letters = faker.random_letters(length=length)
160+
assert len(letters) == length
161+
assert isinstance(letters, list)
162+
for letter in letters:
163+
assert letter.isalpha()
164+
155165
def test_random_lowercase_letter(self, faker, num_samples):
156166
for _ in range(num_samples):
157167
letter = faker.random_lowercase_letter()

0 commit comments

Comments
 (0)