diff options
author | Ruslan Mustakov <endragor@users.noreply.github.com> | 2017-03-02 21:31:30 +0700 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2017-03-02 15:31:30 +0100 |
commit | a81247dcbe95eaac8338e478d8837cbcf57a0f3e (patch) | |
tree | cf7d86e6e19cf16e9149885a2ac81c4f2f09a2e7 /tests | |
parent | e2567e2e03c72929cbdfbf59933b4f35868b9626 (diff) | |
download | Nim-a81247dcbe95eaac8338e478d8837cbcf57a0f3e.tar.gz |
Add compute proc for SharedTable (#5385)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/collections/ttables.nim | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/tests/collections/ttables.nim b/tests/collections/ttables.nim index 0e06bc26f..a2988e841 100644 --- a/tests/collections/ttables.nim +++ b/tests/collections/ttables.nim @@ -1,8 +1,9 @@ discard """ + cmd: "nim c --threads:on $file" output: '''true''' """ -import hashes, tables +import hashes, tables, sharedtables const data = { @@ -211,6 +212,29 @@ block clearCountTableTest: t.clear() assert t.len() == 0 +block withKeyTest: + var t = initSharedTable[int, int]() + t.withKey(1) do (k: int, v: var int, pairExists: var bool): + assert(v == 0) + pairExists = true + v = 42 + assert(t.mget(1) == 42) + t.withKey(1) do (k: int, v: var int, pairExists: var bool): + assert(v == 42) + pairExists = false + try: + discard t.mget(1) + assert(false, "KeyError expected") + except KeyError: + discard + t.withKey(2) do (k: int, v: var int, pairExists: var bool): + pairExists = false + try: + discard t.mget(2) + assert(false, "KeyError expected") + except KeyError: + discard + proc orderedTableSortTest() = var t = initOrderedTable[string, int](2) for key, val in items(data): t[key] = val |