diff --git a/tests/unitt/lib/collections/decouple.test.art b/tests/unitt/lib/collections/decouple.test.art new file mode 100644 index 0000000000..d54de83f88 --- /dev/null +++ b/tests/unitt/lib/collections/decouple.test.art @@ -0,0 +1,27 @@ +import {unitt}! +import relative {../../commons/functions}! + + +test "returns a tuple" [ + expected: [[a b c] [a b c]] + actual: decouple [[a a] [b b] [c c]] + + assert -> expected = actual + assert -> 2 = size actual +] + +test "keeps the order" [ + expected: [["one" "two" "three"] [1 2 3]] + actual: decouple [["one" 1] ["two" 2] ["three" 3]] + + assert -> expected = actual +] + +test "inplace-equivalence" [ + value: [["one" "two" "three"] [1 2 3]] + + [reference inplaced]: + inplaceEquivalence value 'decouple [] + + assert -> reference = inplaced +] \ No newline at end of file diff --git a/tests/unittests/lib.collections.art b/tests/unittests/lib.collections.art index be0b6775da..36adc7a2f4 100644 --- a/tests/unittests/lib.collections.art +++ b/tests/unittests/lib.collections.art @@ -9,24 +9,10 @@ passed: $[] -> print "[+] passed!" ; ==> Tests -topic "decouple" +; couple don't support literals yet +topic "couple" do [ - ensure -> [["one" "two" "three"] [1 2 3]] = decouple [["one" 1] ["two" 2] ["three" 3]] - passed - - a: [["one" 1] ["two" 2] ["three" 3]] - decouple 'a - ensure -> [["one" "two" "three"] [1 2 3]] = a - passed - - blk: [["one" 1] ["two" 2] ["three" 3]] - - a: new blk - b: #[b: new blk] - - decouple 'a - decouple 'b\b - ensure -> a = b\b + ensure -> [["one" 1] ["two" 2] ["three" 3]] = couple ["one" "two" "three"] [1 2 3] passed ] diff --git a/tests/unittests/lib.collections.res b/tests/unittests/lib.collections.res index d034fa7ec6..2f02cc7df4 100644 --- a/tests/unittests/lib.collections.res +++ b/tests/unittests/lib.collections.res @@ -1,7 +1,5 @@ ->> decouple -[+] passed! -[+] passed! +>> couple [+] passed! >> drop - :string < :string :string