Skip to content

Commit 520def9

Browse files
1eyewonderTheAngryByrd
authored andcommitted
Updated unit tests
1 parent 8ec37d9 commit 520def9

File tree

4 files changed

+92
-12
lines changed

4 files changed

+92
-12
lines changed

tests/FsToolkit.ErrorHandling.Tests/AsyncValidationCE.fs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,11 @@ let ``AsyncValidationCE bind Tests`` =
154154
testCaseAsync "let! Error Validation"
155155
<| async {
156156
let innerData = "Foo"
157-
let! expected = AsyncValidation.error innerData
157+
let expected = Error [ innerData ]
158158

159159
let! actual =
160160
asyncValidation {
161-
let! f = validation { return Error innerData }
161+
let! f = validation { return! expected }
162162
return f
163163
}
164164

@@ -173,8 +173,8 @@ let ``AsyncValidationCE bind Tests`` =
173173
testCaseAsync "do! Error result"
174174
<| async {
175175
let innerData = ()
176-
let! expected = AsyncValidation.error innerData
177176
let data = Result.Error innerData
177+
let! expected = AsyncValidation.error innerData
178178
let! actual = asyncValidation { do! data }
179179
Expect.equal actual expected "Should be error"
180180
}

tests/FsToolkit.ErrorHandling.Tests/Main.fs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,16 @@ module FsToolkit.ErrorHandling.Tests
44
open Fable.Mocha
55
#else
66
open Expecto
7-
8-
[<Tests>] //needed for `dotnet test` to work
97
#endif
8+
9+
//needed for `dotnet test` to work
10+
[<Tests>]
1011
let allTests =
1112
testList "All Tests" [
1213
ResultTests.allTests
1314
ResultCETests.allTests
1415
ResultOptionTests.allTests
16+
ResultOptionCETests.allTests
1517
OptionTests.allTests
1618
OptionCETests.allTests
1719
AsyncOptionTests.allTests
@@ -22,6 +24,8 @@ let allTests =
2224
AsyncResultCETests.allTests
2325
AsyncResultOptionTests.allTests
2426
AsyncResultOptionCETests.allTests
27+
AsyncValidationTests.allTests
28+
AsyncValidationCETests.allTests
2529
ValidationTests.allTests
2630
ValidationCETests.allTests
2731
ValueOptionTests.allTests

tests/FsToolkit.ErrorHandling.Tests/ResultOption.fs

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,86 @@ let resultOptionOperatorsTests =
207207
|> Expect.hasOkValue (Some validURL)
208208
]
209209

210+
let zipTests =
211+
testList "zip tests" [
212+
testCase "Ok Some, Ok Some"
213+
<| fun () ->
214+
let actual = ResultOption.zip (Ok(Some 1)) (Ok(Some 2))
215+
Expect.equal actual (Ok(Some(1, 2))) "Should be ok some"
216+
testCase "Ok None, Ok None"
217+
<| fun () ->
218+
let actual = ResultOption.zip (Ok None) (Ok None)
219+
Expect.equal actual (Ok None) "Should be ok none"
220+
testCase "Ok Some, Ok None"
221+
<| fun () ->
222+
let actual = ResultOption.zip (Ok(Some 1)) (Ok None)
223+
Expect.equal actual (Ok None) "Should be ok none"
224+
testCase "Ok None, Ok Some"
225+
<| fun () ->
226+
let actual = ResultOption.zip (Ok None) (Ok(Some 1))
227+
Expect.equal actual (Ok None) "Should be ok none"
228+
testCase "Ok Some, Error"
229+
<| fun () ->
230+
let actual = ResultOption.zip (Ok(Some 1)) (Error "Bad")
231+
Expect.equal actual (Error "Bad") "Should be Error"
232+
testCase "Error, Ok Some"
233+
<| fun () ->
234+
let actual = ResultOption.zip (Error "Bad") (Ok(Some 1))
235+
Expect.equal actual (Error "Bad") "Should be Error"
236+
testCase "Ok None, Error"
237+
<| fun () ->
238+
let actual = ResultOption.zip (Ok None) (Error "Bad")
239+
Expect.equal actual (Error "Bad") "Should be Error"
240+
testCase "Error, Ok None"
241+
<| fun () ->
242+
let actual = ResultOption.zip (Error "Bad") (Ok None)
243+
Expect.equal actual (Error "Bad") "Should be Error"
244+
testCase "Error, Error"
245+
<| fun () ->
246+
let actual = ResultOption.zip (Error "Bad1") (Error "Bad2")
247+
Expect.equal actual (Error "Bad1") "Should be Error"
248+
]
249+
250+
let zipErrorTests =
251+
testList "zipError tests" [
252+
testCase "Ok Some, Ok Some"
253+
<| fun () ->
254+
let actual = ResultOption.zipError (Ok(Some 1)) (Ok(Some 2))
255+
Expect.equal actual (Ok(Some 1)) "Should be ok some"
256+
testCase "Ok None, Ok None"
257+
<| fun () ->
258+
let actual = ResultOption.zipError (Ok None) (Ok None)
259+
Expect.equal actual (Ok None) "Should be ok none"
260+
testCase "Ok Some, Ok None"
261+
<| fun () ->
262+
let actual = ResultOption.zipError (Ok(Some 1)) (Ok None)
263+
Expect.equal actual (Ok(Some 1)) "Should be ok some"
264+
testCase "Ok None, Ok Some"
265+
<| fun () ->
266+
let actual = ResultOption.zipError (Ok None) (Ok(Some 1))
267+
Expect.equal actual (Ok None) "Should be ok none"
268+
testCase "Ok Some, Error"
269+
<| fun () ->
270+
let actual = ResultOption.zipError (Ok(Some 1)) (Error "Bad")
271+
Expect.equal actual (Ok(Some 1)) "Should be ok some"
272+
testCase "Error, Ok Some"
273+
<| fun () ->
274+
let actual = ResultOption.zipError (Error "Bad") (Ok(Some 1))
275+
Expect.equal actual (Ok(Some 1)) "Should be ok some"
276+
testCase "Ok None, Error"
277+
<| fun () ->
278+
let actual = ResultOption.zipError (Ok None) (Error "Bad")
279+
Expect.equal actual (Ok None) "Should be ok none"
280+
testCase "Error, Ok None"
281+
<| fun () ->
282+
let actual = ResultOption.zipError (Error "Bad") (Ok None)
283+
Expect.equal actual (Ok None) "Should be ok none"
284+
testCase "Error, Error"
285+
<| fun () ->
286+
let actual = ResultOption.zipError (Error "Bad1") (Error "Bad2")
287+
Expect.equal actual (Error("Bad1", "Bad2")) "Should be Error tuple"
288+
]
289+
210290
let allTests =
211291
testList "Result Option Tests" [
212292
map2Tests
@@ -217,4 +297,6 @@ let allTests =
217297
ignoreTests
218298
resultOptionCETests
219299
resultOptionOperatorsTests
300+
zipTests
301+
zipErrorTests
220302
]

tests/FsToolkit.ErrorHandling.Tests/ResultOptionCE.fs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -183,13 +183,7 @@ let ``ResultOptionCE bind Tests`` =
183183
let data = ()
184184
let actual = resultOption { do! None }
185185

186-
Expect.equal actual (Ok(Some data)) "Should be ok some"
187-
188-
testCase "Error result"
189-
<| fun _ ->
190-
let data = Error()
191-
let actual = resultOption { do! data }
192-
Expect.equal actual (data) "Should be ok"
186+
Expect.equal actual (Ok None) "Should be ok none"
193187

194188
testCase "Ok Choice"
195189
<| fun _ ->

0 commit comments

Comments
 (0)