mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 04:12:13 +00:00
merged with origin
This commit is contained in:
parent
0a08d92b95
commit
f3e62e2bbb
@ -1,32 +1,38 @@
|
|||||||
package com.gildedrose
|
package com.gildedrose
|
||||||
|
|
||||||
import org.scalatest.flatspec.AnyFlatSpec
|
import org.approvaltests.Approvals
|
||||||
import org.scalatest.matchers.should.Matchers
|
import org.approvaltests.reporters.DiffReporter
|
||||||
|
import org.approvaltests.reporters.UseReporter
|
||||||
|
import org.junit.jupiter.api.Test
|
||||||
|
|
||||||
import java.io.{File, FileOutputStream}
|
import java.io.ByteArrayInputStream
|
||||||
import scala.io.Source
|
import java.io.ByteArrayOutputStream
|
||||||
|
import java.io.PrintStream
|
||||||
|
|
||||||
class GildedRoseApprovalTest extends AnyFlatSpec with Matchers {
|
@UseReporter(Array(classOf[DiffReporter]))
|
||||||
it should "return the result of the golden master" in {
|
class GildedRoseApprovalTest {
|
||||||
val fileWithTestResult = new File("approvaltests/gildedrose.testresult.txt")
|
|
||||||
val outputStream = new FileOutputStream(fileWithTestResult)
|
|
||||||
Console.withOut(outputStream) {
|
|
||||||
|
|
||||||
TexttestFixture.main(Array("30"))
|
@Test
|
||||||
}
|
def foo(): Unit = {
|
||||||
|
|
||||||
val approvedFile = "approvaltests/gildedrose.approved.txt"
|
val items: Array[Item] = Array(Item("foo", 0, 0))
|
||||||
val sourceForTestResults = Source.fromFile(fileWithTestResult)
|
val app: GildedRose = new GildedRose(items)
|
||||||
val sourceForApprovedFile = Source.fromFile(approvedFile)
|
app.updateQuality()
|
||||||
|
|
||||||
val resultingOutput =
|
Approvals.verifyAll("Items", items)
|
||||||
try sourceForTestResults.getLines().toVector
|
|
||||||
finally sourceForTestResults.close()
|
|
||||||
val approvedOutput =
|
|
||||||
try sourceForApprovedFile.getLines().toVector
|
|
||||||
finally sourceForTestResults.close()
|
|
||||||
|
|
||||||
resultingOutput should equal(approvedOutput)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
def thirtyDays(): Unit = {
|
||||||
|
|
||||||
|
val fakeoutput: ByteArrayOutputStream = new ByteArrayOutputStream()
|
||||||
|
System.setOut(new PrintStream(fakeoutput))
|
||||||
|
System.setIn(new ByteArrayInputStream("a\n".getBytes()))
|
||||||
|
|
||||||
|
val args: Array[String] = Array("30")
|
||||||
|
TexttestFixture.main(args)
|
||||||
|
val output: String = fakeoutput.toString()
|
||||||
|
|
||||||
|
Approvals.verify(output)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -1,7 +1,6 @@
|
|||||||
package com.gildedrose
|
package com.gildedrose
|
||||||
|
|
||||||
object TexttestFixture {
|
object TexttestFixture {
|
||||||
@main
|
|
||||||
def main(args: Array[String]): Unit = {
|
def main(args: Array[String]): Unit = {
|
||||||
System.out.println("OMGHAI!")
|
System.out.println("OMGHAI!")
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user