Commit Graph

53 Commits

Author SHA1 Message Date
25d707b3b8 Log recursive decision traversal 2022-11-06 21:55:46 -08:00
c0a9330d2e Add depth tracking to decision resolution 2022-11-06 21:51:45 -08:00
23a826c815 Add adjudicator logger 2022-11-06 21:09:22 -08:00
46c28a087c Shorten string representations
The new format for representing timeline, province, and season is T-PRO@S. Hopefully this is easier to read than the PRO T:S format.
2022-11-06 20:27:28 -08:00
6347b52d4a Make the dev shell a bit prettier 2022-11-06 20:26:29 -08:00
63289bce54 Update flake 2022-11-06 20:26:29 -08:00
2e1d72d0f4 Add more VS Code profile settings 2022-11-06 20:26:29 -08:00
94037959e1 Replace README with rules document that better explains what is going on 2022-11-06 15:07:48 -08:00
15fde7340c Fix incorrect unit in 3.A.5 2022-11-06 14:43:45 -08:00
18c11c7ffd Add an AdvanceTimeline decision type 2022-11-06 14:39:01 -08:00
f5acb8325c Add solution file 2022-11-06 14:32:06 -08:00
12c307d835 Create a DATC-inspired document for illustrating time travel test cases 2022-04-22 13:33:17 -07:00
076f1f7f29 Add more tests around time travel 2022-04-09 21:10:44 -07:00
105c372779 Add ToString overrides for orders 2022-04-07 15:58:17 -07:00
5e74ffc19f Apply null-forgiving operator where relevant 2022-04-07 15:48:46 -07:00
d491ea9f64 Fix missing temporal dimension to dislodge checks 2022-03-30 13:00:51 -07:00
9f5ecaa16a Add province shortcuts to decrease verbosity 2022-03-30 12:52:57 -07:00
b679558d9c Make adjudicator reusable to decrease verbosity 2022-03-30 08:04:44 -07:00
604dda95e8 Enable fluent definitions of multiple turns 2022-03-29 21:01:58 -07:00
b347cc88aa Make TestCaseBuilder reusable 2022-03-29 20:59:30 -07:00
6948db29df Save previous orders so time travel can re-adjudicate them 2022-03-29 20:40:19 -07:00
6a6810ef07 Add basic movement phase update tests 2022-03-29 17:16:00 -07:00
d4e68844c6 Simplify world updates and expose root season 2022-03-28 22:34:57 -07:00
aa9c9c548b Enable hold strength across parallel worlds 2022-03-28 17:41:38 -07:00
ff64b459ca Reduce verbosity of test case assertions 2022-03-28 15:05:04 -07:00
609e8cc60c Add dislodge checks to DATC A tests 2022-03-28 09:39:03 -07:00
b026adbfbc Add some basic unit tests for the movement adjudicator 2022-03-27 15:10:34 -07:00
6b1b9dce10 Refactor adjudication into separate adjudication and update steps
This makes it easier to unit test adjudication decisions directly.
2022-03-27 14:39:00 -07:00
36ea621782 Move decision classes out of the movement adjudicator 2022-03-24 09:22:13 -07:00
d2ec79647a Add movement phase order adjudication
This implementation does not handle convoys nor account for circular movement and convoy paradoxes.
2022-03-24 08:18:33 -07:00
1ea4ac0ded Remove obsolete test fixture 2022-03-24 07:29:50 -07:00
d6d9102f05 Add model for retreating unit information 2022-03-24 07:25:51 -07:00
a162e6c7ef Finish filling out the standard map 2022-03-23 11:17:02 -07:00
697614e34f Add DATC 6.A.* test cases
For now, just the parts that can be decided with validation are run. The tests and parts of tests requiring movement adjudication will be implemented fully when movement adjudication is implemented.
2022-03-22 23:21:09 -07:00
8c828661e2 Add validation constraint 2022-03-22 22:11:14 -07:00
c50dbf6b46 Add movement order validation tests 2022-03-22 21:30:20 -07:00
00cac2cb89 Add order references to test case builder
This allows assertions to be made more easily against orders in a test case.
2022-03-22 20:15:50 -07:00
be3f6a527f Refactor Support*Order to inherit from abstract SupportOrder 2022-03-22 12:57:01 -07:00
70b004edab Define ToString methods on the main models 2022-03-15 17:36:47 -07:00
9e1782c401 Create fluent interface for building test cases 2022-03-15 17:24:16 -07:00
b0a8100641 Refactor World to avoid double enumeration
If an enumerable that created objects were passed, it would duplicate the objects when re-enumerated, which breaks all the reference equality logic.
2022-03-15 15:43:37 -07:00
18c5435c96 Refactor map definitions into World 2022-03-15 14:52:08 -07:00
8a7e90b949 Add movement phase order validation logic 2022-03-15 12:24:29 -07:00
3ad0dbc086 Add order types 2022-03-10 17:34:13 -08:00
c4f5145320 Add order model and adjudicator framework 2022-02-18 17:17:17 -08:00
031d1b60bd Add unit model and unit tests 2022-02-18 12:13:23 -08:00
b284f1acc6 Add season model and timeline unit test 2022-02-18 11:35:05 -08:00
ec85ce8729 Create models for the province map and add test project
The full standard map is big and I'll fill the rest in later.
2022-02-18 10:53:33 -08:00
62da5e780e Add nix develop terminal profile 2022-02-12 15:05:12 -08:00
4ad35f4133 Initialize dotnet project 2022-02-12 15:05:12 -08:00