Commit Graph
4 Commits
Author SHA1 Message Date
Artur GoloyadandClaude Fable 5 8965637f18 refactor: add IItemUpdater strategies and ItemUpdaterFactory
Introduce the Strategy + Factory design: IItemUpdater (Name + Update),
an ItemUpdaterBase with the single shared [0,50] clamp helper, stateless
strategies for normal/Aged Brie/Sulfuras/Backstage, and a factory with
two-tier resolution (exact name via case-insensitive dictionary, then
Conjured prefix rule, then the default fallback).

Not wired into GildedRose yet; no behaviour change. The Conjured
strategy itself arrives in the feature commit.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 20:50:18 +02:00
Artur GoloyadandClaude Fable 5 a0066f58cd test: add failing specification tests for Conjured items
Conjured items must degrade twice as fast: -2 before sell-by, -4 after,
never below 0. Red on purpose (TDD) - the legacy code still treats
Conjured as a normal item; they go green once ConjuredItemUpdater lands.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 20:49:08 +02:00
Artur GoloyadandClaude Fable 5 ecf3d7e54a test: add specification unit tests for existing item types
Green against the legacy implementation: normal items (-1/-2, floor 0),
Aged Brie (+1/+2, cap 50), Sulfuras (immutable at SellIn 0 and -1),
Backstage passes (+1 / +2 at <=10 / +3 at <=5, 0 after concert, cap 50).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 20:48:39 +02:00
Artur GoloyadandClaude Fable 5 93f5e057ed test: approve characterization baseline of current behaviour
Approve the Foo approval snapshot and the pre-existing ThirtyDays
snapshot as the locked-down record of current (Conjured-still-broken)
behaviour. Replace the failing fixme placeholder with a passing
sanity check so the suite is fully green before refactoring.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 20:47:50 +02:00