Commit graph

68 commits

Author SHA1 Message Date
e0417f0b62 GREEN: Fix custom delimiter bug
- Uncommented delimiter extraction line
- Now properly extracts custom delimiter from format '//[delimiter]\n'
- Tests pass: '//;\n1;2' returns 3, '//|\n10|20|30' returns 60
2026-02-18 12:58:09 +07:00
6deaaaa8dc RED: Test exposing custom delimiter bug
- Test expects '//;\n1;2' to return 3
- Currently fails with FormatException
- Custom delimiter extraction is commented out
- Tries to parse '1;2' as single number, fails
2026-02-18 12:57:56 +07:00
073afc0ab6 fix: Introduce real custom delimiter bug
- Comment out delimiter extraction line
- Custom delimiter now never gets extracted
- Will fail when testing '//;\n1;2'
2026-02-18 12:57:49 +07:00
0a6da5a651 GREEN: Fix summation loop bug
- Changed loop condition from 'i < length - 1' to 'i < length'
- Now includes last element in sum
- Tests pass: '1,2' returns 3, '1,2,3' returns 6
2026-02-18 12:57:05 +07:00
ebaa21ca27 RED: Test exposing comma-delimited summation bug
- Test expects '1,2' to return 3
- Currently returns 1 (missing last element)
- Summation loop has off-by-one: for (i < length - 1)
- Expected: <3>, Actual: <1>
- Expected: <6>, Actual: <3>
2026-02-18 12:56:53 +07:00
77d48e790a GREEN: Fix single number parsing bug
- Removed +1 off-by-one error from single number parsing
- Now correctly returns the parsed number
- Tests pass: '5' returns 5, '42' returns 42
2026-02-18 12:56:40 +07:00
d30267bcc6 RED: Test exposing single number parsing bug
- Test expects single number '5' to return 5
- Currently returns 6 (off-by-one error)
- Expected: <5>, Actual: <6>
2026-02-18 12:56:28 +07:00
164adf815d GREEN: Fix empty string bug
- Changed return value from 1 to 0 for empty string
- Test now passes: empty string returns 0
2026-02-18 12:56:17 +07:00
e38bac9441 RED: Test exposing empty string bug
- Test expects empty string to return 0
- Currently returns 1 instead
- Expected: <0>, Actual: <1>
2026-02-18 12:56:05 +07:00
279c381872 feat: Add buggy String Calculator implementation
- Implements basic string calculator with 5 intentional bugs
- Bug 1: Empty string returns 1 instead of 0
- Bug 2: Single number has off-by-one error
- Bug 3: Summation loop misses last element
- Bug 4: Newline delimiter not properly handled
- Bug 5: Custom delimiter parsing broken
- Ready for Bug Hunt Kata with TDD approach
2026-02-18 12:55:51 +07:00
3e737dfef3 Merge pull request GH-3 from gh/gilded-rose
gilded rose
2026-02-18 12:47:57 +07:00
d602d302ee docs: document gilded rose kata 2026-02-18 12:46:12 +07:00
4d436517e7 GREEN: implement conjured items degrading twice as fast 2026-02-18 12:42:42 +07:00
13f6bc231f RED: add tests for conjured items 2026-02-18 12:41:33 +07:00
c2994ce63c REFACTOR: extract helper methods and domain constants 2026-02-18 12:39:31 +07:00
7a17790915 REFACTOR: introduce strategy pattern for item types 2026-02-18 12:37:13 +07:00
5655326543 REFACTOR: extract item type methods from nested conditionals 2026-02-18 12:35:02 +07:00
7f05229104 GREEN: add characterization tests for legacy Gilded Rose code 2026-02-18 12:06:26 +07:00
cb38ddcd5d update readme 2026-02-10 12:48:51 +07:00
561e85217c Merge pull request GH-2 from gh/bowling-game
bowling game
2026-02-10 12:48:01 +07:00
a93a6abb28 REFACTOR: break down the logic into dedicated methods, tests cleaned up 2026-02-10 12:43:42 +07:00
8474b20e85 GREEN: calculate strike 2026-02-10 12:34:55 +07:00
9ca4accd7b RED: test one strike 2026-02-10 12:33:22 +07:00
7c24567bfa REFACTOR: extract spare checking logic 2026-02-10 11:55:31 +07:00
b6007c8115 GREEN: store rolls in a list and check for spare 2026-02-10 11:52:49 +07:00
f34c820c65 RED: test one spare 2026-02-10 11:39:05 +07:00
acf96ad482 REFACTOR: tests clean up 2026-02-10 11:36:11 +07:00
b4cdd039ae GREEN: save score state and add knocked pins on each roll 2026-02-10 11:24:12 +07:00
e4167c03a5 RED: test all ones 2026-02-10 11:22:23 +07:00
9a22a3e5fe GREEN: score() returns hardcoded 0 2026-02-10 11:21:13 +07:00
1f31a68df5 RED: test gutter game 2026-02-10 11:19:34 +07:00
131c2d4c48 add readme 2026-02-10 10:48:14 +07:00
8c18b21121 Merge pull request GH-1 from gh/roman-numerals-kata
roman numerals kata
2026-02-10 09:51:47 +07:00
6e75926f79 REFACTOR: split validation into value object 2026-02-10 09:38:58 +07:00
438221e2d7 GREEN: implement roman numerals contraints 2026-02-10 09:34:43 +07:00
216aa72d39 RED: test roman numerals contraints 2026-02-10 09:33:44 +07:00
5dfc85fc20 REFACTOR: organize tests into groups and add edge cases 2026-02-10 09:31:30 +07:00
5bf2839e33 GREEN: add conversion rules for 400. 500. 900, and 1000 2026-02-10 09:25:07 +07:00
ccfc795ee0 RED: test convert 400 (CD), 500 (D), 900 (CM), 1000 (M) 2026-02-10 09:24:03 +07:00
1b0336edeb GREEN: add convertion rules for 90 and 100 2026-02-10 09:21:10 +07:00
24cdceaa92 RED: test convert 90 to XC and 100 to C 2026-02-10 09:20:39 +07:00
dc6728bea5 GREEN: add conversion rule for 50 2026-02-10 09:18:47 +07:00
44566369d0 RED: test convert 50 to L 2026-02-10 09:18:11 +07:00
bef6a56d06 GREEN: add coversion rule for 40 2026-02-10 09:16:38 +07:00
e411e38a31 RED: test convert 40 to XL 2026-02-10 09:12:54 +07:00
b12821147d REFACTOR: apply DRY, remove magic numbers, add conversionRules domain 2026-02-10 09:12:34 +07:00
7eed3f8e2a GREEN: add roman symbol for 10 2026-02-10 08:50:50 +07:00
2117e4c193 RED: test convert 10 to X 2026-02-10 08:50:33 +07:00
da8f7bbfb1 GREEN: add roman symbol for 9 2026-02-10 08:49:39 +07:00
0a87dc96cb RED: test convert 9 to IX 2026-02-10 08:48:59 +07:00