Skip to content

Commit 184bbc2

Browse files
authored
Synced tests toml, regenerated test cases, and updated example for largest series product. (#3924)
1 parent b60e243 commit 184bbc2

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

exercises/practice/largest-series-product/.meta/example.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
def slices(series, size):
66

77
if not size <= len(series):
8-
raise ValueError('span must be smaller than string length')
8+
raise ValueError('span must not exceed string length')
99
elif not 0 < size:
1010
raise ValueError('span must not be negative')
1111
elif not all(item.isdigit() for item in series):
@@ -20,4 +20,4 @@ def slices(series, size):
2020
def largest_product(series, size):
2121
if size == 0:
2222
return 1
23-
return max(reduce(mul, slice) for slice in slices(series, size))
23+
return max(reduce(mul, slice) for slice in slices(series, size))

exercises/practice/largest-series-product/.meta/tests.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ description = "reports zero if all spans include zero"
3838

3939
[5d81aaf7-4f67-4125-bf33-11493cc7eab7]
4040
description = "rejects span longer than string length"
41+
include = false
42+
43+
[0ae1ce53-d9ba-41bb-827f-2fceb64f058b]
44+
description = "rejects span longer than string length"
45+
reimplements = "5d81aaf7-4f67-4125-bf33-11493cc7eab7"
4146

4247
[06bc8b90-0c51-4c54-ac22-3ec3893a079e]
4348
description = "reports 1 for empty string and empty product (0 span)"
@@ -49,6 +54,11 @@ include = false
4954

5055
[6d96c691-4374-4404-80ee-2ea8f3613dd4]
5156
description = "rejects empty string and nonzero span"
57+
include = false
58+
59+
[6cf66098-a6af-4223-aab1-26aeeefc7402]
60+
description = "rejects empty string and nonzero span"
61+
reimplements = "6d96c691-4374-4404-80ee-2ea8f3613dd4"
5262

5363
[7a38f2d6-3c35-45f6-8d6f-12e6e32d4d74]
5464
description = "rejects invalid character in digits"

exercises/practice/largest-series-product/largest_series_product_test.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# These tests are auto-generated with test data from:
22
# https://github.com/exercism/problem-specifications/tree/main/exercises/largest-series-product/canonical-data.json
3-
# File last updated on 2023-07-19
3+
# File last updated on 2025-06-20
44

55
import unittest
66

@@ -44,17 +44,13 @@ def test_rejects_span_longer_than_string_length(self):
4444
with self.assertRaises(ValueError) as err:
4545
largest_product("123", 4)
4646
self.assertEqual(type(err.exception), ValueError)
47-
self.assertEqual(
48-
err.exception.args[0], "span must be smaller than string length"
49-
)
47+
self.assertEqual(err.exception.args[0], "span must not exceed string length")
5048

5149
def test_rejects_empty_string_and_nonzero_span(self):
5250
with self.assertRaises(ValueError) as err:
5351
largest_product("", 1)
5452
self.assertEqual(type(err.exception), ValueError)
55-
self.assertEqual(
56-
err.exception.args[0], "span must be smaller than string length"
57-
)
53+
self.assertEqual(err.exception.args[0], "span must not exceed string length")
5854

5955
def test_rejects_invalid_character_in_digits(self):
6056
with self.assertRaises(ValueError) as err:

0 commit comments

Comments
 (0)