@@ -161,12 +161,12 @@ func TestMapValidation(t *testing.T) {
161161 var mapper = func(value int) string {
162162 return strconv.Itoa(value)
163163 }
164- var mapValid Validation[error, string] = MapValidation[error, int, string](valid, mapper)
164+ var mapValid = MapValidation[error, int, string](valid, mapper)
165165 if mapValid.OrElse("good") != "10" {
166166 t.Errorf("value should be 10")
167167 }
168168
169- var mapInvalid Validation[error, string] = MapValidation[error, int, string](invalid, mapper)
169+ var mapInvalid = MapValidation[error, int, string](invalid, mapper)
170170 if mapInvalid.IsValid() {
171171 t.Errorf("should be an Invalid Validation")
172172 }
@@ -176,13 +176,28 @@ func TestMapErrorValidation(t *testing.T) {
176176 var mapper = func(value error) string {
177177 return value.Error()
178178 }
179- var mapErrorValid Validation[string, int] = MapErrorValidation[error, int, string](valid, mapper)
179+ var mapErrorValid = MapErrorValidation[error, int, string](valid, mapper)
180180 if mapErrorValid.OrElse(20) != 10 {
181181 t.Errorf("value should be 10")
182182 }
183183
184- var mapInvalid Validation[string, int] = MapErrorValidation[error, int, string](invalid, mapper)
184+ var mapInvalid = MapErrorValidation[error, int, string](invalid, mapper)
185185 if mapInvalid.IsValid() {
186186 t.Errorf("should be an Invalid Validation")
187187 }
188- }
188+ }
189+
190+ func TestFlatMapValidation(t *testing.T) {
191+ var mapper = func(value int) Validation[error, string] {
192+ return ValidOf[error, string](strconv.Itoa(value))
193+ }
194+ var flatMapValid = FlatMapValidation(valid, mapper)
195+ if flatMapValid.OrElse("good") != "10" {
196+ t.Errorf("value should be 10")
197+ }
198+
199+ var flatMapInvalid = FlatMapValidation(invalid, mapper)
200+ if flatMapInvalid.IsValid() {
201+ t.Errorf("should be an Invalid Validation")
202+ }
203+ }
0 commit comments