From a94eb8c5f641c55c89558135fc844073df6dbb45 Mon Sep 17 00:00:00 2001 From: Dan Holmes Date: Thu, 3 Dec 2020 16:33:40 +0000 Subject: [PATCH] Create modules for other items --- js-jasmine/src/aged_brie_update.js | 13 +++++++++++++ js-jasmine/src/shop.js | 30 ++++++------------------------ js-jasmine/src/sulfuras_update.js | 9 +++++++++ 3 files changed, 28 insertions(+), 24 deletions(-) create mode 100644 js-jasmine/src/aged_brie_update.js create mode 100644 js-jasmine/src/sulfuras_update.js diff --git a/js-jasmine/src/aged_brie_update.js b/js-jasmine/src/aged_brie_update.js new file mode 100644 index 00000000..ea3c765b --- /dev/null +++ b/js-jasmine/src/aged_brie_update.js @@ -0,0 +1,13 @@ +function getQualityChange(item) { + if (item.sellIn <= 0) { + return 2; + } else { + return 1; + } +} + +function is(item) { + return item.name.toLowerCase().match(/aged brie/); +}; + +module.exports = { is, getQualityChange }; \ No newline at end of file diff --git a/js-jasmine/src/shop.js b/js-jasmine/src/shop.js index 17df0d4c..6b0d0730 100644 --- a/js-jasmine/src/shop.js +++ b/js-jasmine/src/shop.js @@ -1,4 +1,6 @@ var backstage_pass = require('./backstage_pass_update.js') +var aged_brie = require('./aged_brie_update.js') +var sulfuras = require('./sulfuras_update.js') class Shop { constructor(items = []) { @@ -27,23 +29,15 @@ class Shop { _getQualityChange(item) { if (backstage_pass.is(item)) { return backstage_pass.getQualityChange(item); - } else if (this._isAgedBrie(item)) { - return this._getQualityChangeAgedBrie(item); - } else if (this._isSulfuras(item)) { - return this._getQualityChangeSulfuras(item); + } else if (aged_brie.is(item)) { + return aged_brie.getQualityChange(item); + } else if (sulfuras.is(item)) { + return sulfuras.getQualityChange(item); } else { return this._getQualityChangeStandard(item); } } - _isAgedBrie(item) { - return item.name.toLowerCase().match(/aged brie/); - } - - _isSulfuras(item) { - return item.name.toLowerCase().match(/sulfuras/); - } - _getQualityChangeStandard(item) { if (item.sellIn <= 0) { return -2; @@ -52,18 +46,6 @@ class Shop { } } - _getQualityChangeAgedBrie(item) { - if (item.sellIn <= 0) { - return 2; - } else { - return 1; - } - } - - _getQualityChangeSulfuras(item) { - return 0; - } - _updateItemSellIn(item) { if (item.name != 'Sulfuras, Hand of Ragnaros') { item.sellIn = item.sellIn - 1; diff --git a/js-jasmine/src/sulfuras_update.js b/js-jasmine/src/sulfuras_update.js new file mode 100644 index 00000000..55e89b8a --- /dev/null +++ b/js-jasmine/src/sulfuras_update.js @@ -0,0 +1,9 @@ +function getQualityChange(item) { + return 0; +} + +function is(item) { + return item.name.toLowerCase().match(/sulfuras/); +}; + +module.exports = { is, getQualityChange }; \ No newline at end of file