mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-10-15 18:43:53 +00:00
added scala translation
This commit is contained in:
1 parent
567c27854a
commit
f60240f6b1
4 files changed
+82
No files matched your search
@@ -0,0 +1,7 @@
|
|||||||
|
name := "GildedRose"
|
||||||
|
|
||||||
|
version := "1.0"
|
||||||
|
|
||||||
|
scalaVersion := "2.10.2"
|
||||||
|
|
||||||
|
libraryDependencies += "org.scalatest" % "scalatest_2.10" % "2.0"
|
||||||
@@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package com.gildedrose
|
||||||
|
|
||||||
|
class Item(val name: String, var sellIn: Int, var quality: Int) {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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")
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in new issue
Block a user