package readerwriter import org.scalatest._ import testutil.PendingIfUnimplemented import java.time.LocalDate import org.scalatest.flatspec.AnyFlatSpec import org.scalatest.matchers.should.Matchers class ReaderSpec extends AnyFlatSpec with Matchers with AppendedClues with PendingIfUnimplemented: val exampleRequest = Request( Some("Mister X"), "de-DE", "/hello", Map(), LocalDate.of(2019,6,26) ) val noUserRequest = exampleRequest.copy(user = None) "formatUser" should "read the username or substitute \"anonymous\"" in { Readers.formatUser.run(exampleRequest) shouldBe "Mister X" Readers.formatUser.run(noUserRequest) shouldBe "anonymous" } "formatTime" should "output the string representation of a request date" in { Readers.formatTime.run(exampleRequest) shouldBe "2019-06-26" } "sayBye" should "contain the correct user name and date" in { Readers.sayBye.run(exampleRequest) shouldBe "Goodbye Mister X, now is 2019-06-26" }