GREEN: add characterization tests for legacy Gilded Rose code
This commit is contained in:
parent
cb38ddcd5d
commit
7f05229104
2 changed files with 798 additions and 0 deletions
71
lib/gilded_rose.dart
Normal file
71
lib/gilded_rose.dart
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
// WARNING: DO NOT modify the Item class - the goblin in the corner will insta-rage!
|
||||
|
||||
class Item {
|
||||
String name;
|
||||
int sellIn;
|
||||
int quality;
|
||||
|
||||
Item(this.name, this.sellIn, this.quality);
|
||||
|
||||
@override
|
||||
String toString() => '$name, $sellIn, $quality';
|
||||
}
|
||||
|
||||
class GildedRose {
|
||||
List<Item> items;
|
||||
|
||||
GildedRose(this.items);
|
||||
|
||||
void updateQuality() {
|
||||
for (var i = 0; i < items.length; i++) {
|
||||
if (items[i].name != 'Aged Brie' &&
|
||||
items[i].name != 'Backstage passes to a TAFKAL80ETC concert') {
|
||||
if (items[i].quality > 0) {
|
||||
if (items[i].name != '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 == '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 != 'Sulfuras, Hand of Ragnaros') {
|
||||
items[i].sellIn = items[i].sellIn - 1;
|
||||
}
|
||||
|
||||
if (items[i].sellIn < 0) {
|
||||
if (items[i].name != 'Aged Brie') {
|
||||
if (items[i].name != 'Backstage passes to a TAFKAL80ETC concert') {
|
||||
if (items[i].quality > 0) {
|
||||
if (items[i].name != '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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue