diff options
author | Felix Krause <contact@flyx.org> | 2016-10-23 11:21:52 +0200 |
---|---|---|
committer | Felix Krause <contact@flyx.org> | 2016-10-23 11:21:52 +0200 |
commit | 73b0bb52bbeb24d2a5abfa80332be376e27e791c (patch) | |
tree | 8702197dcdb87f1c4cde2bddcfe68c1e1eb7e499 /tests | |
parent | 5cb50364eb1f70677f619882cfafbd3ede45356f (diff) | |
download | Nim-73b0bb52bbeb24d2a5abfa80332be376e27e791c.tar.gz |
Table fixes. fixes #4901
* added `==` for OrderedTable, CountTable and the *Ref types * added missing documentation to all `==` procs * fixed clear() for OrderedTables, which did not work because `var` does not work well with `|` * added tests
Diffstat (limited to 'tests')
-rw-r--r-- | tests/collections/ttables.nim | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/collections/ttables.nim b/tests/collections/ttables.nim index 59fef4920..4f286d0ed 100644 --- a/tests/collections/ttables.nim +++ b/tests/collections/ttables.nim @@ -95,9 +95,24 @@ block orderedTableTest1: for key, val in mpairs(t): val = 99 for val in mvalues(t): assert val == 99 +block orderedTableTest2: + var + s = initOrderedTable[string, int]() + t = initOrderedTable[string, int]() + assert s == t + for key, val in items(data): t[key] = val + assert s != t + for key, val in items(sorteddata): s[key] = val + assert s != t + t.clear() + assert s != t + for key, val in items(sorteddata): t[key] = val + assert s == t + block countTableTest1: var s = data.toTable var t = initCountTable[string]() + for k in s.keys: t.inc(k) for k in t.keys: assert t[k] == 1 t.inc("90", 3) @@ -115,6 +130,24 @@ block countTableTest1: else: break inc i +block countTableTest2: + var + s = initCountTable[int]() + t = initCountTable[int]() + assert s == t + s.inc(1) + assert s != t + t.inc(2) + assert s != t + t.inc(1) + assert s != t + s.inc(2) + assert s == t + s.inc(1) + assert s != t + t.inc(1) + assert s == t + block mpairsTableTest1: var t = initTable[string, int]() t["a"] = 1 |