summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorFelix Krause <contact@flyx.org>2016-10-23 11:21:52 +0200
committerFelix Krause <contact@flyx.org>2016-10-23 11:21:52 +0200
commit73b0bb52bbeb24d2a5abfa80332be376e27e791c (patch)
tree8702197dcdb87f1c4cde2bddcfe68c1e1eb7e499 /tests
parent5cb50364eb1f70677f619882cfafbd3ede45356f (diff)
downloadNim-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.nim33
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