comparison old_tests/test_storage.nim @ 1203:6360c8d17ce0 compiletime-tests

did: preprations to add rendering tests
author sam <sam@basx.dev>
date Mon, 15 Jul 2024 20:06:42 +0700
parents tests/test_storage.nim@114f395b9144
children
comparison
equal deleted inserted replaced
1202:a8864fe6fe6e 1203:6360c8d17ce0
1 import std/strformat
2
3 import semicongine
4
5 proc testSimple(storage: StorageType) =
6 const TEST_VALUE = 42
7 const KEY = "test"
8
9 # get default
10 assert storage.Load(KEY, 0) == default(type(TEST_VALUE))
11
12 # save and load custom
13 Store(storage, KEY, TEST_VALUE)
14 assert storage.Load(KEY, 0) == TEST_VALUE
15
16 proc stressTest(storage: StorageType) =
17 for i in 1 .. 10000:
18 let key = &"key-{i}"
19 Store(storage, key, i)
20 assert storage.Load(key, 0) == i
21
22 proc main() =
23 SystemStorage.Purge()
24 echo "SystemStorage: Testing simple store/load"
25 SystemStorage.testSimple()
26
27 UserStorage.Purge()
28 echo "UserStorage: Testing simple store/load"
29 UserStorage.testSimple()
30
31 echo "Stress test with 10'000 saves/loads"
32 SystemStorage.stressTest()
33
34 SystemStorage.Purge()
35 UserStorage.Purge()
36
37
38 when isMainModule:
39 main()