Skip to content

Commit c7588a1

Browse files
committed
Add missing test for traverseEitherMerged
1 parent fe7bd05 commit c7588a1

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

tests/Runtime/Functions/Collection/EitherTraverseTest.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use function Fp\Collection\traverseEither;
1414
use function Fp\Collection\traverseEitherAcc;
1515
use function Fp\Collection\traverseEitherKV;
16+
use function Fp\Collection\traverseEitherMerged;
1617

1718
final class EitherTraverseTest extends TestCase
1819
{
@@ -36,6 +37,26 @@ public function testTraverse(): void
3637
);
3738
}
3839

40+
public function testTraverseEitherMerged(): void
41+
{
42+
/** @psalm-var list<int> $c */
43+
$c = [1, 2, 3, 4];
44+
45+
$this->assertEquals(
46+
Either::right($c),
47+
traverseEitherMerged($c, fn(int $v) => $v < 5
48+
? Either::right($v)
49+
: Either::left(["{$v} is too high"]))
50+
);
51+
52+
$this->assertEquals(
53+
Either::left(['3 is too high', '4 is too high']),
54+
traverseEitherMerged($c, fn(int $v) => $v < 3
55+
? Either::right($v)
56+
: Either::left(["{$v} is too high"]))
57+
);
58+
}
59+
3960
public function testTraverseAcc(): void
4061
{
4162
/** @psalm-var list<int> $c */

0 commit comments

Comments
 (0)