Commit Graph

174 Commits

Author SHA1 Message Date
Tim Van Baak 1eeb5115e6 Remove Unit.Past
Past is only used in tests. It was added speculatively in expectation that it would be useful for clients. Removing this means that all the fields of a Unit are present in the key, so the key can uniquely determine the Unit or even be parsed into one, and therefore multiple Unit instances can be equivalent if their fields match. If unit pasts are useful later, they can be tracked extrinsically the way timelines are tracked.
2024-09-09 19:40:22 -07:00
Tim Van Baak 4ce5faaac2 Replace Map lookup methods with Unit methods
This makes the flow of data easier to read and is slightly shorter in some cases. This pattern will be better for replacing more reference members with keys.
2024-09-09 12:11:44 -07:00
Tim Van Baak ddf951c17e Add GPLv3 license 2024-09-06 17:24:33 +00:00
Tim Van Baak 9fc298adda Remove in-code DATC A tests in favor of scripts 2024-09-06 16:42:35 +00:00
Tim Van Baak 7c0cdb0a21 Add the rest of DATC 6.A to the script tests 2024-09-06 16:17:55 +00:00
Tim Van Baak 5e2d495fa5 Update script tests 2024-09-06 16:04:25 +00:00
Tim Van Baak 7773c571e3 Add hold-order assertion for unparseable orders 2024-09-06 16:03:43 +00:00
Tim Van Baak 4096e4d517 Implement coastal accessibility checks for support-move orders 2024-09-06 15:19:58 +00:00
Tim Van Baak aaf2e78730 Implement coastal accessibility checks for move orders 2024-09-06 15:09:30 +00:00
Tim Van Baak 864a933ba0 Implement dislodge/hold assertions 2024-09-05 23:16:22 +00:00
Tim Van Baak c6f10868ae Implement support assertions 2024-09-05 23:11:29 +00:00
Tim Van Baak 5b32786904 Implement support-move parsing 2024-09-05 05:27:48 +00:00
Tim Van Baak ae5eb22010 Implement support-hold parsing 2024-09-05 05:22:07 +00:00
Tim Van Baak 26f7cee070 Add unit tests for move location disambiguation
Some of the coastal tests fail because the coast accessibility check isn't implemented yet
2024-09-05 05:11:12 +00:00
Tim Van Baak 80f340c0b2 Implement assert moves/no-move 2024-09-03 04:25:37 +00:00
Tim Van Baak e9c9999268 Implement assert has-past 2024-09-03 03:49:38 +00:00
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 569c9021e6 Disable some broken tests for now 2024-09-02 19:52:27 +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 720ccc4329 Add standard repl helper 2024-08-28 15:09:57 +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 14a493d95c Update design.md with note about order interpretation 2024-08-28 14:34:42 +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 512c91d2de Add unit test for testing the repl 2024-08-27 04:18:36 +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 868138b988 Disable script tests for now 2024-08-25 03:17:46 +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 32a7ddd3b5 Documentation updates 2024-08-21 14:39:03 +00: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 bfafb66603 Add test case for provinces with spaces 2024-08-20 14:43:02 +00:00
Tim Van Baak 1689d2e9b1 Add order parsing regex 2024-08-20 14:39:49 +00:00