Davide Bertola
11/20/2020, 8:24 PMpakoito
11/20/2020, 8:39 PMpakoito
11/20/2020, 8:40 PMpakoito
11/20/2020, 8:40 PMpakoito
11/20/2020, 8:41 PMpakoito
11/20/2020, 8:41 PMfun destroyWorldIfImpure(): Stream<Unit> = Stream { destroyWorld() }
pakoito
11/20/2020, 8:42 PMdestroyWorldIfImpure()
would not trigger destroyWorld
unless you do something with the Stream
pakoito
11/20/2020, 8:42 PMunsafeRun
and suchDavid Stone
11/20/2020, 8:42 PMDavide Bertola
11/20/2020, 8:50 PMpakoito
11/20/2020, 8:52 PMpakoito
11/20/2020, 8:53 PMpakoito
11/20/2020, 8:54 PMDavide Bertola
11/20/2020, 8:54 PMfun test(s1: Stream<Int>, s2: Stream<Boolean>): Stream<Int> {
var c = 0
return s1.map {
c += it
return c
}
}
Davide Bertola
11/20/2020, 8:54 PMDavide Bertola
11/20/2020, 8:55 PMDavid Stone
11/20/2020, 8:56 PMDavide Bertola
11/20/2020, 8:56 PMDavid Stone
11/20/2020, 8:56 PMDavide Bertola
11/20/2020, 8:58 PMpakoito
11/20/2020, 9:07 PMpakoito
11/20/2020, 9:08 PMpakoito
11/20/2020, 9:08 PMpakoito
11/20/2020, 9:09 PMpakoito
11/20/2020, 9:10 PMDavide Bertola
11/20/2020, 9:15 PMDavid Stone
11/20/2020, 9:18 PMDavid Stone
11/20/2020, 9:19 PMDavid Stone
11/20/2020, 9:20 PMpakoito
11/20/2020, 9:23 PMpakoito
11/20/2020, 9:25 PMpakoito
11/20/2020, 9:26 PMpakoito
11/20/2020, 9:26 PMDavide Bertola
11/20/2020, 9:27 PMDavid Stone
11/20/2020, 9:29 PMDavid Stone
11/20/2020, 9:29 PMDavide Bertola
11/20/2020, 9:29 PMDavid Stone
11/20/2020, 9:32 PMzip
with two empty lists wouldn’t really be testing anythingDavid Stone
11/20/2020, 9:32 PMpakoito
11/20/2020, 9:33 PMpakoito
11/20/2020, 9:33 PMpakoito
11/20/2020, 9:33 PMpakoito
11/20/2020, 9:35 PMtestWith(User.gen(), User.gen()) { user1, user2 ->
mergeToPair(Stream.of(user1), Stream.of(user2)).runBlockingEither() == Either.right(user1 to user2)
}
pakoito
11/20/2020, 9:36 PMtestWith(User.gen(), Exception.gen()) { user1, exc ->
mergeToPair(Stream.of(user1), Stream.error(exc)).runBlockingEither() == Either.left(exc)
}
pakoito
11/20/2020, 9:36 PMtestWith(User.gen(), Exception.gen()) { user1, exc ->
mergeToPair(Stream.error(exc), Stream.of(user1)).runBlockingEither() == Either.left(exc)
}
pakoito
11/20/2020, 9:37 PMDavide Bertola
11/20/2020, 9:41 PMpakoito
11/21/2020, 1:43 AM