Commit Graph

47 Commits

Author SHA1 Message Date
Tim Van Baak 53e208ec31 Remove Location reference from Unit 2024-08-14 08:20:04 -07:00
Tim Van Baak ce25329d27 Refactor away Unit.Province 2024-08-14 08:15:10 -07:00
Tim Van Baak 4df5ef84dc Shift usage of Unit.Location to Unit.LocationId
This is in preparation for removing province and location references from Unit
2024-08-14 07:39:49 -07:00
Tim Van Baak b2ff8896b2 Enable basic World serialization 2024-08-13 22:14:55 -07:00
Tim Van Baak c9bd8c8194 Delete Season.Coord 2024-08-13 18:56:21 -07:00
Tim Van Baak 5989970c42 Refactor timelines and season creation logic into World 2024-08-13 18:56:21 -07:00
Tim Van Baak 984676f587 Add more JsonIgnores 2024-08-13 18:56:21 -07:00
Tim Van Baak 0dec1e1eec Add a serialization round trip test
This currently fails because a lot of World still works on references instead of lookups
2024-08-12 21:47:28 -07:00
Tim Van Baak b17ce9485a Refactor season futures into World 2024-08-12 15:25:23 -07:00
Tim Van Baak 3242186208 Use a simpler override where available 2024-08-12 14:57:16 -07:00
Tim Van Baak 11dfa403e4 Rename PastId back to Past 2024-08-12 14:52:50 -07:00
Tim Van Baak ae77c3c708 Remove Season.Past so all lookups go through World 2024-08-12 14:51:07 -07:00
Tim Van Baak f5afb4105b Move more timeline logic from Season to World 2024-08-12 14:50:15 -07:00
Tim Van Baak 5dfe9a5bb5 Replace most uses of Season creators to World 2024-08-12 13:56:06 -07:00
Tim Van Baak 9696919773 Update timeline designator usage
Timelines are now identified by strings and come first in timeline-turn tuples.
2024-08-12 09:28:56 -07:00
Tim Van Baak 3d48a7d6f6 Refactor timeline factory to generate string ids
The strings are immediately shimmed back to ints for now
2024-08-12 07:51:18 -07:00
Tim Van Baak dab37c239b Refactor province and power information into Map 2024-08-11 21:45:25 -07:00
Tim Van Baak 3db01c0ffd Update projects to dotnet 8 2024-08-09 06:53:22 -07:00
Jaculabilis a63ff3992b Remove broken validation assert
Validation only happens for orders in the current batch, so the test can't validate an order from the previous batch
2022-11-08 19:59:27 -08:00
Jaculabilis 15fde7340c Fix incorrect unit in 3.A.5 2022-11-06 14:43:45 -08:00
Jaculabilis 12c307d835 Create a DATC-inspired document for illustrating time travel test cases 2022-04-22 13:33:17 -07:00
Jaculabilis 076f1f7f29 Add more tests around time travel 2022-04-09 21:10:44 -07:00
Jaculabilis d491ea9f64 Fix missing temporal dimension to dislodge checks 2022-03-30 13:00:51 -07:00
Jaculabilis 9f5ecaa16a Add province shortcuts to decrease verbosity 2022-03-30 12:52:57 -07:00
Jaculabilis b679558d9c Make adjudicator reusable to decrease verbosity 2022-03-30 08:04:44 -07:00
Jaculabilis 604dda95e8 Enable fluent definitions of multiple turns 2022-03-29 21:01:58 -07:00
Jaculabilis b347cc88aa Make TestCaseBuilder reusable 2022-03-29 20:59:30 -07:00
Jaculabilis 6948db29df Save previous orders so time travel can re-adjudicate them 2022-03-29 20:40:19 -07:00
Jaculabilis 6a6810ef07 Add basic movement phase update tests 2022-03-29 17:16:00 -07:00
Jaculabilis d4e68844c6 Simplify world updates and expose root season 2022-03-28 22:34:57 -07:00
Jaculabilis ff64b459ca Reduce verbosity of test case assertions 2022-03-28 15:05:04 -07:00
Jaculabilis 609e8cc60c Add dislodge checks to DATC A tests 2022-03-28 09:39:03 -07:00
Jaculabilis b026adbfbc Add some basic unit tests for the movement adjudicator 2022-03-27 15:10:34 -07:00
Jaculabilis 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
Jaculabilis 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
Jaculabilis 1ea4ac0ded Remove obsolete test fixture 2022-03-24 07:29:50 -07:00
Jaculabilis 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
Jaculabilis 8c828661e2 Add validation constraint 2022-03-22 22:11:14 -07:00
Jaculabilis c50dbf6b46 Add movement order validation tests 2022-03-22 21:30:20 -07:00
Jaculabilis 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
Jaculabilis 9e1782c401 Create fluent interface for building test cases 2022-03-15 17:24:16 -07:00
Jaculabilis 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
Jaculabilis 18c5435c96 Refactor map definitions into World 2022-03-15 14:52:08 -07:00
Jaculabilis c4f5145320 Add order model and adjudicator framework 2022-02-18 17:17:17 -08:00
Jaculabilis 031d1b60bd Add unit model and unit tests 2022-02-18 12:13:23 -08:00
Jaculabilis b284f1acc6 Add season model and timeline unit test 2022-02-18 11:35:05 -08:00
Jaculabilis 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