diff --git a/scala3/src/main/scala/examples/Main.scala b/scala3/src/main/scala/examples/Main.scala deleted file mode 100644 index 70dede4..0000000 --- a/scala3/src/main/scala/examples/Main.scala +++ /dev/null @@ -1,15 +0,0 @@ -package examples - -import zio.{ZIOAppDefault, Task, Console} -import zio.Console.ConsoleLive - -object Main extends ZIOAppDefault: - - def app(c: Console): Task[Unit] = - for - _ <- c.printLine("What is your name?") - name <- c.readLine - _ <- c.printLine(s"Hello $name!") - yield () - - def run = app(ConsoleLive) diff --git a/scala3/src/main/scala/examples/adts.scala b/scala3/src/main/scala/examples/adts.scala index 67c1480..0695948 100644 --- a/scala3/src/main/scala/examples/adts.scala +++ b/scala3/src/main/scala/examples/adts.scala @@ -12,7 +12,7 @@ object adts: case object False extends Bool final case class RgbPair(snd: Bool, fst: Rgb) - + def idRgb(theArg: Rgb): Rgb = theArg - def and0(rgbArg: Rgb, rgbPairArg: RgbPair): RgbPair = rgbPairArg + def constRgbPair(rgbArg: Rgb, rgbPairArg: RgbPair): RgbPair = rgbPairArg diff --git a/scala3/src/test/scala/examples/MainSpec.scala b/scala3/src/test/scala/examples/MainSpec.scala deleted file mode 100644 index 78b3203..0000000 --- a/scala3/src/test/scala/examples/MainSpec.scala +++ /dev/null @@ -1,13 +0,0 @@ -package examples - -import zio.test.Assertion.equalTo -import zio.test.junit.JUnitRunnableSpec -import zio.test.{ assert, suite, test } - -object MainSpec extends JUnitRunnableSpec: - - def spec = suite("Test environment")( - test("expect call with input satisfying assertion") { - assert(40 + 2)(equalTo(42)) - } - ) diff --git a/scala3/src/test/scala/examples/RgbSpec.scala b/scala3/src/test/scala/examples/RgbSpec.scala new file mode 100644 index 0000000..199fbfa --- /dev/null +++ b/scala3/src/test/scala/examples/RgbSpec.scala @@ -0,0 +1,24 @@ +package examples + +import zio.test.Assertion.equalTo +import zio.test.junit.JUnitRunnableSpec +import zio.test.{ assert, suite, test } + +import examples.adts.{ Rgb, Red, Green, Blue, idRgb } +import examples.adts.{ RgbPair, constRgbPair } +import examples.adts.{ Bool, True, False } + +object RgbSpec extends JUnitRunnableSpec: + + def spec = suite("Test Rgb")( + test("identity on Rgb") { + assert(idRgb(Red))(equalTo(Red)) + assert(idRgb(Green))(equalTo(Green)) + assert(idRgb(Blue))(equalTo(Blue)) + }, + test ("const on RgbPair") { + assert( constRgbPair(Red, RgbPair(True, Blue) ) )(equalTo( RgbPair(True, Blue) )) + assert( constRgbPair(Green, RgbPair(False, Red) ) )(equalTo( RgbPair(False, Red) )) + assert( constRgbPair(Blue, RgbPair(True, Blue) ) )(equalTo( RgbPair(True, Blue) )) + } + )