From 36acc45c3e3712e93775181c159bf0c0ef8c321f Mon Sep 17 00:00:00 2001 From: Ralf Comtesse Date: Wed, 1 Oct 2025 07:32:09 +0200 Subject: [PATCH] dependencies added to sbt to compile GildedRoseApprovalTest.java --- scala/build.sbt | 11 +++--- .../gildedrose/GildedRoseApprovalTest.java | 38 +++++++++++++++++++ ...la => GildedRoseApprovalTestInScala.scala} | 2 +- 3 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 scala/src/test/scala/com/gildedrose/GildedRoseApprovalTest.java rename scala/src/test/scala/com/gildedrose/{GildedRoseApprovalTest.scala => GildedRoseApprovalTestInScala.scala} (93%) diff --git a/scala/build.sbt b/scala/build.sbt index ec24d0b0..fa956336 100644 --- a/scala/build.sbt +++ b/scala/build.sbt @@ -3,9 +3,10 @@ val scala3Version = "3.7.3" lazy val root = project .in(file(".")) .settings( - name := "GildedRose", - version := "1.0", - scalaVersion := scala3Version, - - libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % "test" + name := "GildedRose", + version := "1.0", + scalaVersion := scala3Version, + libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % "test", + libraryDependencies += "com.approvaltests" % "approvaltests" % "25.4.3" % "test", + libraryDependencies += "org.junit.jupiter" % "junit-jupiter" % "5.11.4" % "test" ) diff --git a/scala/src/test/scala/com/gildedrose/GildedRoseApprovalTest.java b/scala/src/test/scala/com/gildedrose/GildedRoseApprovalTest.java new file mode 100644 index 00000000..6bd7365a --- /dev/null +++ b/scala/src/test/scala/com/gildedrose/GildedRoseApprovalTest.java @@ -0,0 +1,38 @@ +package com.gildedrose; + +import org.approvaltests.Approvals; +import org.approvaltests.reporters.DiffReporter; +import org.approvaltests.reporters.UseReporter; +import org.junit.jupiter.api.Test; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +@UseReporter(DiffReporter.class) +public class GildedRoseApprovalTest { + + @Test + public void foo() { + + Item[] items = new Item[]{new Item("foo", 0, 0)}; + GildedRose app = new GildedRose(items); + app.updateQuality(); + + Approvals.verifyAll("Items", items); + } + + @Test + public void thirtyDays() { + + ByteArrayOutputStream fakeoutput = new ByteArrayOutputStream(); + System.setOut(new PrintStream(fakeoutput)); + System.setIn(new ByteArrayInputStream("a\n".getBytes())); + + // todo: fix Program +// Program.main(); + String output = fakeoutput.toString(); + + Approvals.verify(output); + } +} \ No newline at end of file diff --git a/scala/src/test/scala/com/gildedrose/GildedRoseApprovalTest.scala b/scala/src/test/scala/com/gildedrose/GildedRoseApprovalTestInScala.scala similarity index 93% rename from scala/src/test/scala/com/gildedrose/GildedRoseApprovalTest.scala rename to scala/src/test/scala/com/gildedrose/GildedRoseApprovalTestInScala.scala index 32224404..d7e6c43c 100644 --- a/scala/src/test/scala/com/gildedrose/GildedRoseApprovalTest.scala +++ b/scala/src/test/scala/com/gildedrose/GildedRoseApprovalTestInScala.scala @@ -6,7 +6,7 @@ import org.scalatest.matchers.should.Matchers import java.io.{File, FileOutputStream} import scala.io.Source -class GildedRoseApprovalTest extends AnyFlatSpec with Matchers { +class GildedRoseApprovalTestInScala extends AnyFlatSpec with Matchers { it should "return the result of the golden master" in { val fileWithTestResult = new File("approvaltests/gildedrose.testresult.txt") val outputStream = new FileOutputStream(fileWithTestResult)