mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-11 20:02:09 +00:00
commit
448e074e2e
7
scala/build.sbt
Normal file
7
scala/build.sbt
Normal file
@ -0,0 +1,7 @@
|
||||
name := "GildedRose"
|
||||
|
||||
version := "1.0"
|
||||
|
||||
scalaVersion := "2.10.2"
|
||||
|
||||
libraryDependencies += "org.scalatest" % "scalatest_2.10" % "2.0"
|
||||
58
scala/src/main/scala/com/gildedrose/GildedRose.scala
Normal file
58
scala/src/main/scala/com/gildedrose/GildedRose.scala
Normal file
@ -0,0 +1,58 @@
|
||||
package com.gildedrose
|
||||
|
||||
class GildedRose(val items: Array[Item]) {
|
||||
|
||||
|
||||
def updateQuality() {
|
||||
for (i <- 0 until items.length) {
|
||||
if (!items(i).name.equals("Aged Brie")
|
||||
&& !items(i).name.equals("Backstage passes to a TAFKAL80ETC concert")) {
|
||||
if (items(i).quality > 0) {
|
||||
if (!items(i).name.equals("Sulfuras, Hand of Ragnaros")) {
|
||||
items(i).quality = items(i).quality - 1
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (items(i).quality < 50) {
|
||||
items(i).quality = items(i).quality + 1
|
||||
|
||||
if (items(i).name.equals("Backstage passes to a TAFKAL80ETC concert")) {
|
||||
if (items(i).sellIn < 11) {
|
||||
if (items(i).quality < 50) {
|
||||
items(i).quality = items(i).quality + 1
|
||||
}
|
||||
}
|
||||
|
||||
if (items(i).sellIn < 6) {
|
||||
if (items(i).quality < 50) {
|
||||
items(i).quality = items(i).quality + 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!items(i).name.equals("Sulfuras, Hand of Ragnaros")) {
|
||||
items(i).sellIn = items(i).sellIn - 1
|
||||
}
|
||||
|
||||
if (items(i).sellIn < 0) {
|
||||
if (!items(i).name.equals("Aged Brie")) {
|
||||
if (!items(i).name.equals("Backstage passes to a TAFKAL80ETC concert")) {
|
||||
if (items(i).quality > 0) {
|
||||
if (!items(i).name.equals("Sulfuras, Hand of Ragnaros")) {
|
||||
items(i).quality = items(i).quality - 1
|
||||
}
|
||||
}
|
||||
} else {
|
||||
items(i).quality = items(i).quality - items(i).quality
|
||||
}
|
||||
} else {
|
||||
if (items(i).quality < 50) {
|
||||
items(i).quality = items(i).quality + 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
5
scala/src/main/scala/com/gildedrose/Item.scala
Normal file
5
scala/src/main/scala/com/gildedrose/Item.scala
Normal file
@ -0,0 +1,5 @@
|
||||
package com.gildedrose
|
||||
|
||||
class Item(val name: String, var sellIn: Int, var quality: Int) {
|
||||
|
||||
}
|
||||
12
scala/src/test/scala/com/gildedrose/GildedRoseTest.scala
Normal file
12
scala/src/test/scala/com/gildedrose/GildedRoseTest.scala
Normal file
@ -0,0 +1,12 @@
|
||||
package com.gildedrose
|
||||
|
||||
import org.scalatest._
|
||||
|
||||
class GildedRoseTest extends FlatSpec with Matchers {
|
||||
it should "foo" in {
|
||||
var items = Array[Item](new Item("foo", 0, 0))
|
||||
val app = new GildedRose(items)
|
||||
app.updateQuality()
|
||||
(app.items(0).name) should equal ("fixme")
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user