diff options
-rw-r--r-- | lib/pure/collections/tables.nim | 7 | ||||
-rw-r--r-- | lib/pure/testutils.nim | 15 | ||||
-rw-r--r-- | tests/collections/ttables.nim | 5 | ||||
-rw-r--r-- | tests/collections/ttablesthreads.nim | 4 |
4 files changed, 11 insertions, 20 deletions
diff --git a/lib/pure/collections/tables.nim b/lib/pure/collections/tables.nim index bf08eaa92..2e3adc6fb 100644 --- a/lib/pure/collections/tables.nim +++ b/lib/pure/collections/tables.nim @@ -776,11 +776,12 @@ iterator allValues*[A, B](t: Table[A, B]; key: A): B = ## `add proc<#add,Table[A,B],A,B>`_). ## runnableExamples: - import testutils + import sequtils, algorithm + var a = {'a': 3, 'b': 5}.toTable for i in 1..3: a.add('z', 10*i) - doAssert a.sortedPairs == @[('a', 3), ('b', 5), ('z', 10), ('z', 20), ('z', 30)] - doAssert sortedItems(a.allValues('z')) == @[10, 20, 30] + doAssert toSeq(a.pairs).sorted == @[('a', 3), ('b', 5), ('z', 10), ('z', 20), ('z', 30)] + doAssert sorted(toSeq(a.allValues('z'))) == @[10, 20, 30] let hc = genHash(key) var h: Hash = hc and high(t.data) diff --git a/lib/pure/testutils.nim b/lib/pure/testutils.nim deleted file mode 100644 index bdf90b616..000000000 --- a/lib/pure/testutils.nim +++ /dev/null @@ -1,15 +0,0 @@ -## Utilities to help writing tests -## -## Unstable, experimental API. - -import std/[sequtils, algorithm] - -proc sortedPairs*[T](t: T): auto = - ## helps when writing tests involving tables in a way that's robust to - ## changes in hashing functions / table implementation. - toSeq(t.pairs).sorted - -template sortedItems*(t: untyped): untyped = - ## helps when writing tests involving tables in a way that's robust to - ## changes in hashing functions / table implementation. - sorted(toSeq(t)) diff --git a/tests/collections/ttables.nim b/tests/collections/ttables.nim index 7459b3f13..bba95c1f1 100644 --- a/tests/collections/ttables.nim +++ b/tests/collections/ttables.nim @@ -8,7 +8,10 @@ And we get here ''' joinable: false """ -import hashes, sequtils, tables, algorithm, testutils +import hashes, sequtils, tables, algorithm + +proc sortedPairs[T](t: T): auto = toSeq(t.pairs).sorted +template sortedItems(t: untyped): untyped = sorted(toSeq(t)) block tableDollar: # other tests should use `sortedPairs` to be robust to future table/hash diff --git a/tests/collections/ttablesthreads.nim b/tests/collections/ttablesthreads.nim index 757a8cebe..9f7d77719 100644 --- a/tests/collections/ttablesthreads.nim +++ b/tests/collections/ttablesthreads.nim @@ -3,7 +3,9 @@ discard """ output: '''true''' """ -import hashes, tables, sharedtables, testutils +import hashes, tables, sharedtables, algorithm, sequtils + +proc sortedPairs[T](t: T): auto = toSeq(t.pairs).sorted const data = { |