File tree Expand file tree Collapse file tree
tests/FSharpx.Async.Tests Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -35,6 +35,10 @@ module AsyncSeq =
3535 let singleton ( v : 'T ) : AsyncSeq < 'T > =
3636 async { return Cons( v, empty) }
3737
38+ /// Creates an async sequence which repeats the specified value indefinitely.
39+ let rec replicate ( v : 'T ) : AsyncSeq < 'T > =
40+ Cons( v, async.Delay <| fun () -> replicate v) |> async.Return
41+
3842 /// Yields all elements of the first asynchronous sequence and then
3943 /// all elements of the second asynchronous sequence.
4044 let rec append ( seq1 : AsyncSeq < 'T >) ( seq2 : AsyncSeq < 'T >) : AsyncSeq < 'T > =
Original file line number Diff line number Diff line change @@ -201,6 +201,11 @@ let ``AsyncSeq.merge should be fair``() =
201201 let expected = [ 2 ; 1 ] |> AsyncSeq.ofSeq
202202 Assert.True( EQ expected actual)
203203
204-
205-
204+ [<Test>]
205+ let ``AsyncSeq.replicate`` () =
206+ let c = 10
207+ let x = " hello"
208+ let actual = AsyncSeq.replicate x |> AsyncSeq.take c
209+ let expected = List.replicate c x |> AsyncSeq.ofSeq
210+ Assert.True( EQ expected actual)
206211
You can’t perform that action at this time.
0 commit comments