Mercurial > games > semicongine
comparison tests/test_storage.nim @ 1499:1f58458b7ef7 default tip
did: fix a few issues with tests
author | sam <sam@basx.dev> |
---|---|
date | Tue, 14 Oct 2025 00:27:28 +0700 |
parents | 63364723d460 |
children |
comparison
equal
deleted
inserted
replaced
1498:d3d667bbdda4 | 1499:1f58458b7ef7 |
---|---|
1 import std/strformat | 1 import std/strformat |
2 import std/sequtils | |
2 | 3 |
3 import ../semicongine | 4 import ../semicongine |
4 import ../semicongine/storage | 5 import ../semicongine/storage |
5 | 6 |
6 proc testSimple(storage: StorageType) = | 7 proc testSimple(storage: StorageType) = |
32 | 33 |
33 assert listWorlds().len == 0 | 34 assert listWorlds().len == 0 |
34 | 35 |
35 const obj1 = Obj1(value: 42, id: ID(1)) | 36 const obj1 = Obj1(value: 42, id: ID(1)) |
36 "testWorld".storeWorld(obj1) | 37 "testWorld".storeWorld(obj1) |
37 assert listWorlds() == @["testWorld"] | 38 assert listWorlds()[0][1] == "testWorld" |
38 assert loadWorld[Obj1]("testWorld") == obj1 | 39 var myWorld: Obj1 |
40 loadWorld[Obj1]("testWorld", myWorld) | |
41 assert myWorld == obj1 | |
39 | 42 |
40 const obj2 = Obj2( | 43 const obj2 = Obj2( |
41 a: "Hello world", | 44 a: "Hello world", |
42 b: Obj1(value: 20, id: ID(20)), | 45 b: Obj1(value: 20, id: ID(20)), |
43 c: @[1, 2, 3, 4], | 46 c: @[1, 2, 3, 4], |
45 Obj1(value: 1, id: ID(11)), Obj1(value: 2, id: ID(22)), Obj1(value: 3, id: ID(33)) | 48 Obj1(value: 1, id: ID(11)), Obj1(value: 2, id: ID(22)), Obj1(value: 3, id: ID(33)) |
46 ], | 49 ], |
47 e: true, | 50 e: true, |
48 ) | 51 ) |
49 "testWorld".storeWorld(obj2) | 52 "testWorld".storeWorld(obj2) |
50 assert listWorlds() == @["testWorld"] | 53 assert listWorlds()[0][1] == "testWorld" |
51 assert loadWorld[Obj2]("testWorld") == obj2 | 54 var otherWorld: Obj2 |
55 loadWorld[Obj2]("testWorld", otherWorld) | |
56 assert otherWorld == obj2 | |
52 | 57 |
53 "earth".storeWorld(obj2) | 58 "earth".storeWorld(obj2) |
54 assert "earth" in listWorlds() | 59 assert "earth" in listWorlds().mapIt(it[1]) |
55 assert "testWorld" in listWorlds() | 60 assert "testWorld" in listWorlds().mapIt(it[1]) |
56 assert loadWorld[Obj2]("earth") == obj2 | 61 var moreWorld: Obj2 |
62 loadWorld[Obj2]("earth", moreWorld) | |
63 assert moreWorld == obj2 | |
57 | 64 |
58 "earth".purgeWorld() | 65 "earth".purgeWorld() |
59 assert listWorlds() == @["testWorld"] | 66 assert listWorlds()[0][1] == "testWorld" |
60 | 67 |
61 "testWorld".purgeWorld() | 68 "testWorld".purgeWorld() |
62 assert listWorlds().len == 0 | 69 assert listWorlds().len == 0 |
63 | 70 |
64 proc stressTest(storage: StorageType) = | 71 proc stressTest(storage: StorageType) = |