Commit Graph

74 Commits

Author SHA1 Message Date
ffe164975b Remove power from UnitSpec and add hold regex tests 2024-08-26 04:57:30 +00:00
973f8ea0d7 Add Timelines.All shortcut 2024-08-25 03:36:31 +00:00
868138b988 Disable script tests for now 2024-08-25 03:17:46 +00:00
bfafb66603 Add test case for provinces with spaces 2024-08-20 14:43:02 +00:00
1689d2e9b1 Add order parsing regex 2024-08-20 14:39:49 +00:00
ea366220eb Better error message for script failure 2024-08-18 13:32:36 -07:00
f9f8ea2b5a Add script-based test framework 2024-08-17 21:24:59 -07:00
eaafdeb5a9 Eliminate sources of Unit reference equality 2024-08-16 20:13:15 +00:00
9a64609605 Update adjudication logging 2024-08-15 22:20:03 -07:00
889e9d173b Reduce MoveOrder.Location to string 2024-08-15 22:01:38 -07:00
ff9e6196ad Add Timelines serialization test 2024-08-15 16:40:23 -07:00
a02e8121eb Rename test 2024-08-15 16:37:35 -07:00
3d664208b5 Add Season.First, replacing FIRST_TURN 2024-08-15 16:36:50 -07:00
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
566d29e539 Add function to extract information from season keys 2024-08-15 08:51:17 -07:00
4b2712e4bc Reduce Power to string 2024-08-15 07:54:53 -07:00
bfdf2d5636 Reduce Unit.Power to string 2024-08-15 07:37:05 -07:00
2e6e6c55b8 Reduce Order.Power to string 2024-08-15 07:30:43 -07:00
abbe929122 Designation -> Key 2024-08-15 06:52:08 -07:00
9185534f70 Reduce MoveOrder.Season to string 2024-08-14 22:28:56 -07:00
f2d3d5a583 Remove GetSeason(string) 2024-08-14 22:03:56 -07:00
868022d34f Convert World.Seasons to a dictionary 2024-08-14 22:00:22 -07:00
2484d4f0fd Get world serialization round trip kinda working 2024-08-14 21:12:58 -07:00
8f5dc63833 Use unit designations for order history instead of references 2024-08-14 18:49:27 -07:00
73d849e117 Working World roundtrip serialization
There are probably still reference equality issues here since Unit still has Season and Power objects. The test case builder also still works on reference equality in some places so the second part of adjudication is broken.
2024-08-14 09:51:18 -07:00
31bd6a45cb Define JSON serialization options on World 2024-08-14 09:16:53 -07:00
5ad57465d8 Remove reference from Unit.Past 2024-08-14 09:06:05 -07:00
885628900b Remove Location reference from Unit 2024-08-14 09:06:05 -07:00
e1772ce60b Refactor away Unit.Province 2024-08-14 09:06:05 -07:00
abaa7f7a92 Shift usage of Unit.Location to Unit.LocationId
This is in preparation for removing province and location references from Unit
2024-08-14 09:06:04 -07:00
228ad53cca Enable basic World serialization 2024-08-14 09:06:04 -07:00
f1563b8f5f Delete Season.Coord 2024-08-14 09:06:04 -07:00
345d54f960 Refactor timelines and season creation logic into World 2024-08-14 09:06:04 -07:00
58f877425a Add more JsonIgnores 2024-08-14 09:06:04 -07:00
ef4e130dbb Add a serialization round trip test
This currently fails because a lot of World still works on references instead of lookups
2024-08-14 09:06:04 -07:00
87685ec744 Refactor season futures into World 2024-08-14 09:06:04 -07:00
752a898123 Use a simpler override where available 2024-08-14 09:06:04 -07:00
400263ea0b Rename PastId back to Past 2024-08-14 09:06:04 -07:00
5e5483367d Remove Season.Past so all lookups go through World 2024-08-14 09:06:04 -07:00
81c9aa4859 Move more timeline logic from Season to World 2024-08-14 09:06:04 -07:00
b756959b0a Replace most uses of Season creators to World 2024-08-14 09:06:04 -07:00
421e84b559 Update timeline designator usage
Timelines are now identified by strings and come first in timeline-turn tuples.
2024-08-14 09:06:04 -07:00
780ae8b948 Refactor timeline factory to generate string ids
The strings are immediately shimmed back to ints for now
2024-08-14 09:06:03 -07:00
bd8e0da6b6 Refactor province and power information into Map 2024-08-14 09:04:56 -07:00
3db01c0ffd Update projects to dotnet 8 2024-08-09 06:53:22 -07:00
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
15fde7340c Fix incorrect unit in 3.A.5 2022-11-06 14:43:45 -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
d491ea9f64 Fix missing temporal dimension to dislodge checks 2022-03-30 13:00:51 -07:00