summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_random.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_random.py')
-rw-r--r--Lib/test/test_random.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py
index 51f9193..96f6cc8 100644
--- a/Lib/test/test_random.py
+++ b/Lib/test/test_random.py
@@ -226,14 +226,26 @@ class TestBasicOps:
with self.assertRaises(ValueError):
sample(['red', 'green', 'blue'], counts=[-3, -7, -8], k=2) # counts are negative
with self.assertRaises(ValueError):
- sample(['red', 'green', 'blue'], counts=[0, 0, 0], k=2) # counts are zero
- with self.assertRaises(ValueError):
sample(['red', 'green'], counts=[10, 10], k=21) # population too small
with self.assertRaises(ValueError):
sample(['red', 'green', 'blue'], counts=[1, 2], k=2) # too few counts
with self.assertRaises(ValueError):
sample(['red', 'green', 'blue'], counts=[1, 2, 3, 4], k=2) # too many counts
+ # Cases with zero counts match equivalents without counts (see gh-130285)
+ self.assertEqual(
+ sample('abc', k=0, counts=[0, 0, 0]),
+ sample([], k=0),
+ )
+ self.assertEqual(
+ sample([], 0, counts=[]),
+ sample([], 0),
+ )
+ with self.assertRaises(ValueError):
+ sample([], 1, counts=[])
+ with self.assertRaises(ValueError):
+ sample('x', 1, counts=[0])
+
def test_choices(self):
choices = self.gen.choices
data = ['red', 'green', 'blue', 'yellow']