@@ -46,48 +46,52 @@ let tests =
4646let taskTests =
4747 testList
4848 " Task tests"
49- [ testAsync " should convert from Task<string> to AsyncResult" {
50- let input =
51- Async.singleton " Hello" |> Async.StartAsTask
49+ [ testList
50+ " fromUnitTask"
51+ [ testAsync " should convert from Task to AsyncResult" {
52+ let source = new CancellationTokenSource()
53+ let input : Task = Task.Delay( 0 , source.Token)
5254
53- let expectedValue = Ok " Hello "
55+ let expectedValue = Ok()
5456
55- let! actual = AsyncResult.fromTask input
57+ let! actual = AsyncResult.fromUnitTask input
5658
57- Expect.equal actual expectedValue " Should be equal"
58- }
59- testAsync " fromTask failing Task should result in Error" {
59+ Expect.equal actual expectedValue " Should be equal"
60+ }
61+ testAsync " failing Task should result in Error" {
62+ let source = new CancellationTokenSource()
63+ let input : Task = Task.Delay( 1000 , source.Token)
64+ let expectedValue = Error " A task was canceled."
6065
61- let input =
62- Async.singleton " Hello"
63- |> Async.map ( fun _ -> failwith " boom" )
64- |> Async.StartAsTask
66+ source.Cancel()
6567
66- let expectedValue =
67- Error " One or more errors occurred. (boom)"
68+ let! actual = AsyncResult.fromUnitTask input
6869
69- let! actual = AsyncResult.fromTask input
70+ Expect.equal actual expectedValue " Should be equal"
71+ } ]
72+ testList
73+ " fromTask"
74+ [ testAsync " should convert from Task<string> to AsyncResult" {
75+ let input =
76+ Async.singleton " Hello" |> Async.StartAsTask
7077
71- Expect.equal actual expectedValue " Should be equal"
72- }
73- testAsync " should convert from Task to AsyncResult" {
74- let source = new CancellationTokenSource()
75- let input : Task = Task.Delay( 0 , source.Token)
78+ let expectedValue = Ok " Hello"
7679
77- let expectedValue = Ok ()
80+ let! actual = AsyncResult.fromTask input
7881
79- let! actual = AsyncResult.fromUnitTask input
82+ Expect.equal actual expectedValue " Should be equal"
83+ }
84+ testAsync " fromTask failing Task should result in Error" {
8085
81- Expect.equal actual expectedValue " Should be equal"
82- }
83- testAsync " failing Task should result in Error" {
84- let source = new CancellationTokenSource()
85- let input : Task = Task.Delay( 1000 , source.Token)
86- let expectedValue = Error " A task was canceled."
86+ let input =
87+ Async.singleton " Hello"
88+ |> Async.map ( fun _ -> failwith " boom" )
89+ |> Async.StartAsTask
8790
88- source.Cancel()
91+ let expectedValue =
92+ Error " One or more errors occurred. (boom)"
8993
90- let! actual = AsyncResult.fromUnitTask input
94+ let! actual = AsyncResult.fromTask input
9195
92- Expect.equal actual expectedValue " Should be equal"
93- } ]
96+ Expect.equal actual expectedValue " Should be equal"
97+ } ] ]
0 commit comments