Skip to content

Commit

Permalink
MonadAsyncAwaitSpec
Browse files Browse the repository at this point in the history
  • Loading branch information
lhns committed Mar 13, 2024
1 parent de992a1 commit 12fd89d
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions core/shared/src/test/scala-3/cats/effect/MonadAsyncAwaitSpec.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/*
* Copyright 2021-2022 Typelevel
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package cats.effect

import cats.syntax.all._
import org.specs2.mutable.Specification
import cps._

class MonadAsyncAwaitSpec extends Specification {

"async[Option]" should {

"be Some" in {

val option = async[Option] {
val a = "a".some.await
val b = Option.when(1 + 1 == 2)("b").await
a + b
}

option must beSome("ab")
}

"be None" in {

val option = async[Option] {
val a = "a".some.await
val b = Option.when(1 + 1 == 3)("b").await
a + b
}

option must beNone
}

}

}

0 comments on commit 12fd89d

Please sign in to comment.