diff options
author | Peter Mora <morapeter@gmail.com> | 2015-10-05 22:41:54 +0200 |
---|---|---|
committer | Peter Mora <morapeter@gmail.com> | 2015-10-05 22:42:22 +0200 |
commit | 75097e2981e470197fa5649557875a9f60385973 (patch) | |
tree | 07f91724132a978ad267f8e9a920fa8d14ee255d /tests/collections | |
parent | 0a8a2070d01489d036ececa78c87ef94325d3e9d (diff) | |
download | Nim-75097e2981e470197fa5649557875a9f60385973.tar.gz |
sequtils related changes
Diffstat (limited to 'tests/collections')
-rw-r--r-- | tests/collections/tapply.nim | 7 | ||||
-rw-r--r-- | tests/collections/tmapit.nim | 28 |
2 files changed, 35 insertions, 0 deletions
diff --git a/tests/collections/tapply.nim b/tests/collections/tapply.nim new file mode 100644 index 000000000..403321ce1 --- /dev/null +++ b/tests/collections/tapply.nim @@ -0,0 +1,7 @@ +import sequtils + +var x = @[1, 2, 3] +x.apply(proc(x: var int) = x = x+10) +x.apply(proc(x: int): int = x+100) +x.applyIt(it+5000) +doAssert x == @[5111, 5112, 5113] diff --git a/tests/collections/tmapit.nim b/tests/collections/tmapit.nim new file mode 100644 index 000000000..067561882 --- /dev/null +++ b/tests/collections/tmapit.nim @@ -0,0 +1,28 @@ +import sequtils + +var x = @[1, 2, 3] +# This mapIt call will run with preallocation because ``len`` is available. +var y = x.mapIt($(it+10)) +doAssert y == @["11", "12", "13"] + +type structureWithoutLen = object + a: array[5, int] + +iterator items(s: structureWithoutLen): int {.inline.} = + yield s.a[0] + yield s.a[1] + yield s.a[2] + yield s.a[3] + yield s.a[4] + +var st: structureWithoutLen +st.a[0] = 0 +st.a[1] = 1 +st.a[2] = 2 +st.a[3] = 3 +st.a[4] = 4 + +# this will run without preallocating the result +# since ``len`` is not available +var r = st.mapIt($(it+10)) +doAssert r == @["10", "11", "12", "13", "14"] |