diff options
Diffstat (limited to 'src/LivingVillage.Desktop.Tests')
| -rw-r--r-- | src/LivingVillage.Desktop.Tests/PrototypeTests.fs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/LivingVillage.Desktop.Tests/PrototypeTests.fs b/src/LivingVillage.Desktop.Tests/PrototypeTests.fs index ab7ae1a..f1f4aed 100644 --- a/src/LivingVillage.Desktop.Tests/PrototypeTests.fs +++ b/src/LivingVillage.Desktop.Tests/PrototypeTests.fs @@ -203,6 +203,33 @@ type PrototypeTests () = Assert.IsTrue(first.Tiles |> List.exists (fun tile -> tile.Kind = (VillageArt.StonePaving))) [<TestMethod>] + member _.CornerStatusShowsDayMoneyAndEnergyFromRealData () = + let world = Sim.initialWorldN 42UL 0 + let lines = M5Interaction.cornerStatusLines world + Assert.AreEqual<int>(2, lines.Length) + Assert.IsTrue(lines.[0].StartsWith("天数 "), sprintf "day line: %s" lines.[0]) + Assert.IsTrue(lines.[1].StartsWith("金钱 "), sprintf "money line: %s" lines.[1]) + Assert.IsTrue(lines.[1].Contains("精力")) + + let nextDay = { world with Tick = world.Tick + Sim.ticksPerDay } + Assert.AreNotEqual<string>(lines.[0], M5Interaction.cornerStatusLines nextDay |> List.item 0) + + let richWorld = + { world with + Avatar = + { world.Avatar with + Mind = + { world.Avatar.Mind with + Needs = { world.Avatar.Mind.Needs with Money = 88.0f; Energy = 76.0f } } } } + let richLines = M5Interaction.cornerStatusLines richWorld + Assert.IsTrue(richLines.[1].Contains("88"), sprintf "money value missing: %s" richLines.[1]) + Assert.IsTrue(richLines.[1].Contains("76"), sprintf "energy value missing: %s" richLines.[1]) + + Assert.IsTrue(ChineseText.requiredUiLabels |> List.contains "天数") + Assert.IsTrue(ChineseText.requiredUiLabels |> List.contains "金钱") + Assert.IsTrue(ChineseText.requiredUiLabels |> List.contains "精力") + + [<TestMethod>] member _.TitleScreenLayoutIsDeterministicAndLayered () = let first = TitleScreen.layout 1280 720 let second = TitleScreen.layout 1280 720 |
