Commit Graph

118 Commits

Author SHA1 Message Date
Tim Van Baak 4fee854c4c Refactor script handlers to return a result type
This moves the point of strictness from the handler to the driver, which makes more sense and keeps it in one place. Drivers choose to be strict when a script result is a failure but still gives a continuation handler. The CLI driver prints an error and continues, while the test driver fails if it wasn't expecting the failure.
2024-09-03 03:20:59 +00:00
Tim Van Baak 3984b814ca Implement assert order-valid 2024-09-01 04:54:28 +00:00
Tim Van Baak f18147f666 Enable suppressing adjudicator output in tests 2024-08-28 21:27:35 +00:00
Tim Van Baak 9f52c78b40 Enable repl output to /dev/null 2024-08-28 21:10:41 +00:00
Tim Van Baak 7b890046b6 Add assertion stubs and unit tests 2024-08-28 19:14:19 +00:00
Tim Van Baak d2a46aa02d Implement dummy assertions 2024-08-28 15:01:27 +00:00
Tim Van Baak f02e71d4f9 Implement repl adjudication 2024-08-28 14:41:23 +00:00
Tim Van Baak f77cc60185 Factor out common subject parsing logic 2024-08-28 14:39:21 +00:00
Tim Van Baak 44f2c25a2c Add unit test for submitting orders in the repl 2024-08-28 00:46:32 +00:00
Tim Van Baak 43a2517a95 Fix unit declaration commands 2024-08-28 00:45:38 +00:00
Tim Van Baak 416f2aa919 Rename to OrderParser 2024-08-27 03:23:28 +00:00
Tim Van Baak 4f276df6c1 Basic order parsing and a unit test 2024-08-27 02:43:12 +00:00
Tim Van Baak 24e80af7ef Add test cases for support-move 2024-08-26 17:47:52 +00:00
Tim Van Baak e25191548e Set version to 0.0.2
Some internal milestones may qualify as 0.x, 1.0 will be reserved for when a minimum viable game can be played
2024-08-26 16:47:00 +00:00
Tim Van Baak 33aecf876a Add test cases for support-hold 2024-08-26 16:32:33 +00:00
Tim Van Baak b4f8f621ca Add test cases for move order 2024-08-26 15:39:42 +00:00
Tim Van Baak ffe164975b Remove power from UnitSpec and add hold regex tests 2024-08-26 04:57:30 +00:00
Tim Van Baak ebeb178984 Move some parsing code into OrderRegex 2024-08-25 04:26:10 +00:00
Tim Van Baak 93b106da1e Move province and power regexes to Map 2024-08-25 03:55:14 +00:00
Tim Van Baak 973f8ea0d7 Add Timelines.All shortcut 2024-08-25 03:36:31 +00:00
Tim Van Baak 55dfe0ca99 Early-out on comments 2024-08-21 09:47:13 -07:00
Tim Van Baak e9c4d3d2d3 Re-spec validation handler for all adjudication steps 2024-08-21 09:11:39 -07:00
Tim Van Baak 5167978f8c Update some log statements 2024-08-21 14:27:48 +00:00
Tim Van Baak aaf3320cf8 Add a handler for asserting against orders 2024-08-21 14:25:25 +00:00
Tim Van Baak 2745d12d29 Implement regex order parsing in game script handler 2024-08-21 13:46:02 +00:00
Tim Van Baak 8e976433c8 Replace ad-hoc setup parsing with regex 2024-08-21 13:35:28 +00:00
Tim Van Baak 1689d2e9b1 Add order parsing regex 2024-08-20 14:39:49 +00:00
Tim Van Baak f9f8ea2b5a Add script-based test framework 2024-08-17 21:24:59 -07:00
Tim Van Baak b2461b3736 Add strict mode to setup handler 2024-08-17 21:18:35 -07:00
Tim Van Baak 92506ac6ed Typo in default units 2024-08-16 16:03:37 -07:00
Tim Van Baak 114379de59 Add basic game setup 2024-08-16 16:00:02 -07:00
Tim Van Baak 7ad6f3a3d3 Add a repl script handling framework 2024-08-16 14:39:13 -07:00
Tim Van Baak 6bb6c0695f Add CLI verbs 2024-08-16 13:33:13 -07:00
Tim Van Baak eaafdeb5a9 Eliminate sources of Unit reference equality 2024-08-16 20:13:15 +00:00
Tim Van Baak 9a64609605 Update adjudication logging 2024-08-15 22:20:03 -07:00
Tim Van Baak 889e9d173b Reduce MoveOrder.Location to string 2024-08-15 22:01:38 -07:00
Tim Van Baak f21b1e500c Eliminate MoveOrder.Province 2024-08-15 21:48:41 -07:00
Tim Van Baak 3d664208b5 Add Season.First, replacing FIRST_TURN 2024-08-15 16:36:50 -07:00
Tim Van Baak 25d903d91a Refactor Season into a value struct
This keeps the rich features of a Season type without requiring constant string parsing (as much) or going through World to do lookups to get the objects. Since seasons now have value equality instead of reference equality, it's easier to get access to whem when needed. They're still, fundamentally, sugar over a tuple.
2024-08-15 13:51:41 -07:00
Tim Van Baak 566d29e539 Add function to extract information from season keys 2024-08-15 08:51:17 -07:00
Tim Van Baak 4b2712e4bc Reduce Power to string 2024-08-15 07:54:53 -07:00
Tim Van Baak bfdf2d5636 Reduce Unit.Power to string 2024-08-15 07:37:05 -07:00
Tim Van Baak 2e6e6c55b8 Reduce Order.Power to string 2024-08-15 07:30:43 -07:00
Tim Van Baak abbe929122 Designation -> Key 2024-08-15 06:52:08 -07:00
Tim Van Baak 601ce2d297 HoldStrength uses season string 2024-08-14 22:40:40 -07:00
Tim Van Baak 64f48064fc AdvanceTimeline key to string 2024-08-14 22:32:48 -07:00
Tim Van Baak 9185534f70 Reduce MoveOrder.Season to string 2024-08-14 22:28:56 -07:00
Tim Van Baak f2d3d5a583 Remove GetSeason(string) 2024-08-14 22:03:56 -07:00
Tim Van Baak 868022d34f Convert World.Seasons to a dictionary 2024-08-14 22:00:22 -07:00
Tim Van Baak 2484d4f0fd Get world serialization round trip kinda working 2024-08-14 21:12:58 -07:00