@@ -104,6 +104,13 @@ class FEitherSyntaxTest extends MouseSuite {
104
104
assertEquals(leftValue.leftFlatMapIn(_ => " " .asLeft[Int ]), List (" " .asLeft[Int ]))
105
105
}
106
106
107
+ test(" FEitherSyntax.leftFlatMapOrKeepIn" ) {
108
+ assertEquals(rightValue.leftFlatMapOrKeepIn { case " 42" => Left (" " ) }, rightValue)
109
+ assertEquals(leftValue.leftFlatMapOrKeepIn { case " 4242" => Right (42 ) }, leftValue)
110
+ assertEquals(leftValue.leftFlatMapOrKeepIn { case " 42" => Left (" " ) }, List (Left (" " )))
111
+ assertEquals(leftValue.leftFlatMapOrKeepIn { case " 42" => Right (42 ) }, rightValue)
112
+ }
113
+
107
114
test(" FEitherSyntax.leftFlatMapF" ) {
108
115
assertEquals(rightValue.leftFlatMapF(_ => List (" " .asLeft[Int ])), rightValue)
109
116
assertEquals(leftValue.leftFlatMapF(_ => List (" " .asLeft[Int ])), List (" " .asLeft[Int ]))
@@ -114,6 +121,12 @@ class FEitherSyntaxTest extends MouseSuite {
114
121
assertEquals(leftValue.leftMapIn(_ => " " ), List (" " .asLeft[Int ]))
115
122
}
116
123
124
+ test(" FEitherSyntax.leftMapOrKeepIn" ) {
125
+ assertEquals(rightValue.leftMapOrKeepIn { case " 42" => " " }, rightValue)
126
+ assertEquals(leftValue.leftMapOrKeepIn { case " 4242" => " " }, leftValue)
127
+ assertEquals(leftValue.leftMapOrKeepIn { case " 42" => " " }, List (Left (" " )))
128
+ }
129
+
117
130
test(" FEitherSyntax.leftAsIn" ) {
118
131
assertEquals(rightValue.leftAsIn(" " ), rightValue)
119
132
assertEquals(leftValue.leftAsIn(" " ), List (" " .asLeft[Int ]))
0 commit comments