update variable naming
use String.includes for choosing a category from item name
This commit is contained in:
James Sayer 2022-05-27 09:10:08 -04:00
parent 9653512287
commit ac49fc2888
3 changed files with 33 additions and 27 deletions

View File

@ -19,46 +19,51 @@ export class GildedRose {
updateQuality() { updateQuality() {
for (let i = 0; i < this.items.length; i++) { for (let i = 0; i < this.items.length; i++) {
if (this.items[i].name != 'Aged Brie' && this.items[i].name != 'Backstage passes to a TAFKAL80ETC concert') { let currentItem = this.items[i];
if (this.items[i].quality > 0) { let itemName = currentItem.name;
if (this.items[i].name != 'Sulfuras, Hand of Ragnaros') { let itemQuality = currentItem.quality;
this.items[i].quality = this.items[i].quality - 1 let itemSellin = currentItem.sellIn;
if (!itemName.includes('Sulfuras')) {
itemSellin = itemSellin - 1;
}
if (!itemName.includes('Aged Brie') && !itemName.includes('Backstage passes')) {
if (itemQuality > 0) {
if (!itemName.includes('Sulfuras')) {
itemQuality = itemQuality - 1
} }
} }
} else { } else {
if (this.items[i].quality < 50) { if (itemQuality < 50) {
this.items[i].quality = this.items[i].quality + 1 itemQuality = itemQuality + 1
if (this.items[i].name == 'Backstage passes to a TAFKAL80ETC concert') { if (itemName.includes('Backstage passes')) {
if (this.items[i].sellIn < 11) { if (itemSellin < 11) {
if (this.items[i].quality < 50) { if (itemQuality < 50) {
this.items[i].quality = this.items[i].quality + 1 itemQuality = itemQuality + 1
} }
} }
if (this.items[i].sellIn < 6) { if (itemSellin < 6) {
if (this.items[i].quality < 50) { if (itemQuality < 50) {
this.items[i].quality = this.items[i].quality + 1 itemQuality = itemQuality + 1
} }
} }
} }
} }
} }
if (this.items[i].name != 'Sulfuras, Hand of Ragnaros') { if (itemSellin < 0) {
this.items[i].sellIn = this.items[i].sellIn - 1; if (!itemName.includes('Aged Brie')) {
} if (!itemName.includes('Backstage passes')) {
if (this.items[i].sellIn < 0) { if (itemQuality > 0) {
if (this.items[i].name != 'Aged Brie') { if (!itemName.includes('Sulfuras, Hand of Ragnaros')) {
if (this.items[i].name != 'Backstage passes to a TAFKAL80ETC concert') { itemQuality = itemQuality - 1
if (this.items[i].quality > 0) {
if (this.items[i].name != 'Sulfuras, Hand of Ragnaros') {
this.items[i].quality = this.items[i].quality - 1
} }
} }
} else { } else {
this.items[i].quality = this.items[i].quality - this.items[i].quality itemQuality = itemQuality - itemQuality
} }
} else { } else {
if (this.items[i].quality < 50) { if (itemQuality < 50) {
this.items[i].quality = this.items[i].quality + 1 itemQuality = itemQuality + 1
} }
} }
} }

View File

@ -10,7 +10,8 @@ const items = [
new Item("Backstage passes to a TAFKAL80ETC concert", 10, 49), new Item("Backstage passes to a TAFKAL80ETC concert", 10, 49),
new Item("Backstage passes to a TAFKAL80ETC concert", 5, 49), new Item("Backstage passes to a TAFKAL80ETC concert", 5, 49),
// this conjured item does not work properly yet // this conjured item does not work properly yet
new Item("Conjured Mana Cake", 3, 6)]; new Item("Conjured Mana Cake", 3, 6)
];
const gildedRose = new GildedRose(items); const gildedRose = new GildedRose(items);

View File

@ -4,6 +4,6 @@ describe('Gilded Rose', () => {
it('should foo', () => { it('should foo', () => {
const gildedRose = new GildedRose([new Item('foo', 0, 0)]); const gildedRose = new GildedRose([new Item('foo', 0, 0)]);
const items = gildedRose.updateQuality(); const items = gildedRose.updateQuality();
expect(items[0].name).toBe('fixme'); expect(items[0].name).toBe('foo');
}); });
}); });