diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-28 22:38:52 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-28 22:38:52 +0800 |
| commit | aa3baa953ea5c4f99f5f23cb3eef9400338b61ec (patch) | |
| tree | 641759916bcf736ea91af48f798a0f7a3a406c99 /src/LivingVillage.Kernel.Tests | |
| parent | 3aa7221453afec24757b0c7e4d352f69af8b395b (diff) | |
| download | living-village-aa3baa953ea5c4f99f5f23cb3eef9400338b61ec.tar.gz | |
p51: 职业系统实现首切片——开局钱/体力/背包侧车 + 当日任务/跨日刷新 + StartNewGameWith 读回(design §2.4-1)
Diffstat (limited to 'src/LivingVillage.Kernel.Tests')
| -rw-r--r-- | src/LivingVillage.Kernel.Tests/DailyTaskTests.fs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/LivingVillage.Kernel.Tests/DailyTaskTests.fs b/src/LivingVillage.Kernel.Tests/DailyTaskTests.fs index 0800ff8..95a0dd1 100644 --- a/src/LivingVillage.Kernel.Tests/DailyTaskTests.fs +++ b/src/LivingVillage.Kernel.Tests/DailyTaskTests.fs @@ -239,11 +239,14 @@ type DailyTaskTests () = Assert.IsTrue(text.StartsWith("LV_WORLD_SAVE_V3"), "v3 header expected") let tokens = text.Split('|') Assert.IsTrue(tokens |> Array.exists (fun token -> token = "task-today"), "task tail marker expected") - Assert.AreEqual<string>("tile-none", Array.last tokens) + Assert.IsTrue(tokens |> Array.exists (fun token -> token = "backpack"), "backpack tail marker expected") let markerIndex = tokens |> Array.findIndex (fun token -> token = "task-today") + let backpackIndex = tokens |> Array.findIndex (fun token -> token = "backpack") let lastAnnalKindIndex = tokens |> Array.findIndexBack (fun token -> token = "trade") Assert.IsTrue(markerIndex > lastAnnalKindIndex, "task tail must follow the annals segment") + Assert.IsTrue(backpackIndex > markerIndex, "backpack tail must follow the task tail") + Assert.AreEqual<string>("3", Array.last tokens) match WorldSave.loadFromFileWith path with | Ok (restored, Some restoredState) -> Assert.AreEqual<Occupation.State>(state, restoredState) @@ -253,7 +256,7 @@ type DailyTaskTests () = | Error message -> Assert.Fail($"v3 task round trip failed: {message}")) [<TestMethod>] - member _.SaveV3WithoutTaskKeepsOldTailFreeLayout () = + member _.SaveV3WithoutTaskCarriesOnlyBackpackTail () = let world = DailyTaskHarness.worldWithAnnal () let state = Occupation.stateOf Occupation.Peddler DailyTaskHarness.withTempSave (fun path -> @@ -261,6 +264,7 @@ type DailyTaskTests () = let text = File.ReadAllText path Assert.IsTrue(text.StartsWith("LV_WORLD_SAVE_V3"), "v3 header expected") Assert.IsFalse(text.Contains("task-today"), "no-task v3 must not carry a task tail") + Assert.IsTrue(text.Contains("backpack"), "v3 must carry the backpack tail") match WorldSave.loadFromFileWith path with | Ok (restored, Some restoredState) -> Assert.AreEqual<Occupation.DailyTask option>(None, restoredState.Today) |
