Add parameterized module: JUnit 5 @ParameterizedTest argument sources, display names, and two real anti-pattern failures

This commit is contained in:
Claude
2026-10-03 21:50:52 +00:00
parent 8be1245951
commit ee75bfa792
45 changed files with 1179 additions and 0 deletions
@@ -0,0 +1,25 @@
Captured from a real `junit-platform-console-standalone --details=tree` run against
MethodSourceTest, compiled and executed for real.
╷
├─ JUnit Platform Suite ✔
├─ JUnit Jupiter ✔
│ └─ MethodSourceTest ✔
│ └─ testUserActiveStatus(User, boolean) ✔
│ ├─ user alice active=true ✔
│ ├─ user bob active=true ✔
│ └─ user carol active=false ✔
└─ JUnit Vintage ✔
Test run finished after 196 ms
[ 3 tests successful ]
[ 0 tests failed ]
activeUserProvider() hands out three real User objects built with real LocalDate renewal dates.
alice's renewalDueDate is one day in the past but still inside the 3-day grace period
isActive() allows, and she's enabled -- active. bob's is 30 days in the future and he's
enabled -- active. carol's date is identical to alice's (one day in the past, still within the
grace period), but she's enabled = false -- and isActive() requires both conditions, so she's
inactive purely because of the enabled flag, not the date. All three outcomes match
User.isActive()'s real logic -- see the module README for why this differs from the original
post's version of the same example.