diff --git a/index.js b/index.js index 525c9de1..0ed6b014 100644 --- a/index.js +++ b/index.js @@ -1,11 +1,12 @@ -import { Drug, Pharmacy } from "./pharmacy"; +import { Drug, Pharmacy } from "./pharmacy.js"; import fs from "fs"; const drugs = [ new Drug("Doliprane", 20, 30), new Drug("Herbal Tea", 10, 5), new Drug("Fervex", 5, 40), - new Drug("Magic Pill", 15, 40) + new Drug("Magic Pill", 15, 40), + new Drug("Dafalgan", 15, 40) ]; const trial = new Pharmacy(drugs); diff --git a/output.txt b/output.txt index d3e0f699..dcc34f8a 100644 --- a/output.txt +++ b/output.txt @@ -1 +1 @@ -[{"name":"Doliprane","expiresIn":19,"benefit":29},{"name":"Herbal Tea","expiresIn":9,"benefit":6},{"name":"Fervex","expiresIn":4,"benefit":43},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":18,"benefit":28},{"name":"Herbal Tea","expiresIn":8,"benefit":7},{"name":"Fervex","expiresIn":3,"benefit":46},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":17,"benefit":27},{"name":"Herbal Tea","expiresIn":7,"benefit":8},{"name":"Fervex","expiresIn":2,"benefit":49},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":16,"benefit":26},{"name":"Herbal Tea","expiresIn":6,"benefit":9},{"name":"Fervex","expiresIn":1,"benefit":50},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":15,"benefit":25},{"name":"Herbal Tea","expiresIn":5,"benefit":10},{"name":"Fervex","expiresIn":0,"benefit":50},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":14,"benefit":24},{"name":"Herbal Tea","expiresIn":4,"benefit":11},{"name":"Fervex","expiresIn":-1,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":13,"benefit":23},{"name":"Herbal Tea","expiresIn":3,"benefit":12},{"name":"Fervex","expiresIn":-2,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":12,"benefit":22},{"name":"Herbal Tea","expiresIn":2,"benefit":13},{"name":"Fervex","expiresIn":-3,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":11,"benefit":21},{"name":"Herbal Tea","expiresIn":1,"benefit":14},{"name":"Fervex","expiresIn":-4,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":10,"benefit":20},{"name":"Herbal Tea","expiresIn":0,"benefit":15},{"name":"Fervex","expiresIn":-5,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":9,"benefit":19},{"name":"Herbal Tea","expiresIn":-1,"benefit":17},{"name":"Fervex","expiresIn":-6,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":8,"benefit":18},{"name":"Herbal Tea","expiresIn":-2,"benefit":19},{"name":"Fervex","expiresIn":-7,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":7,"benefit":17},{"name":"Herbal Tea","expiresIn":-3,"benefit":21},{"name":"Fervex","expiresIn":-8,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":6,"benefit":16},{"name":"Herbal Tea","expiresIn":-4,"benefit":23},{"name":"Fervex","expiresIn":-9,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":5,"benefit":15},{"name":"Herbal Tea","expiresIn":-5,"benefit":25},{"name":"Fervex","expiresIn":-10,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":4,"benefit":14},{"name":"Herbal Tea","expiresIn":-6,"benefit":27},{"name":"Fervex","expiresIn":-11,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":3,"benefit":13},{"name":"Herbal Tea","expiresIn":-7,"benefit":29},{"name":"Fervex","expiresIn":-12,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":2,"benefit":12},{"name":"Herbal Tea","expiresIn":-8,"benefit":31},{"name":"Fervex","expiresIn":-13,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":1,"benefit":11},{"name":"Herbal Tea","expiresIn":-9,"benefit":33},{"name":"Fervex","expiresIn":-14,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":0,"benefit":10},{"name":"Herbal Tea","expiresIn":-10,"benefit":35},{"name":"Fervex","expiresIn":-15,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":-1,"benefit":8},{"name":"Herbal Tea","expiresIn":-11,"benefit":37},{"name":"Fervex","expiresIn":-16,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":-2,"benefit":6},{"name":"Herbal Tea","expiresIn":-12,"benefit":39},{"name":"Fervex","expiresIn":-17,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":-3,"benefit":4},{"name":"Herbal Tea","expiresIn":-13,"benefit":41},{"name":"Fervex","expiresIn":-18,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":-4,"benefit":2},{"name":"Herbal Tea","expiresIn":-14,"benefit":43},{"name":"Fervex","expiresIn":-19,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":-5,"benefit":0},{"name":"Herbal Tea","expiresIn":-15,"benefit":45},{"name":"Fervex","expiresIn":-20,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":-6,"benefit":0},{"name":"Herbal Tea","expiresIn":-16,"benefit":47},{"name":"Fervex","expiresIn":-21,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":-7,"benefit":0},{"name":"Herbal Tea","expiresIn":-17,"benefit":49},{"name":"Fervex","expiresIn":-22,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":-8,"benefit":0},{"name":"Herbal Tea","expiresIn":-18,"benefit":50},{"name":"Fervex","expiresIn":-23,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":-9,"benefit":0},{"name":"Herbal Tea","expiresIn":-19,"benefit":50},{"name":"Fervex","expiresIn":-24,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":-10,"benefit":0},{"name":"Herbal Tea","expiresIn":-20,"benefit":50},{"name":"Fervex","expiresIn":-25,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40}] \ No newline at end of file +[{"name":"Doliprane","expiresIn":19,"benefit":29},{"name":"Herbal Tea","expiresIn":9,"benefit":6},{"name":"Fervex","expiresIn":4,"benefit":43},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":14,"benefit":38}],[{"name":"Doliprane","expiresIn":18,"benefit":28},{"name":"Herbal Tea","expiresIn":8,"benefit":7},{"name":"Fervex","expiresIn":3,"benefit":46},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":13,"benefit":36}],[{"name":"Doliprane","expiresIn":17,"benefit":27},{"name":"Herbal Tea","expiresIn":7,"benefit":8},{"name":"Fervex","expiresIn":2,"benefit":49},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":12,"benefit":34}],[{"name":"Doliprane","expiresIn":16,"benefit":26},{"name":"Herbal Tea","expiresIn":6,"benefit":9},{"name":"Fervex","expiresIn":1,"benefit":50},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":11,"benefit":32}],[{"name":"Doliprane","expiresIn":15,"benefit":25},{"name":"Herbal Tea","expiresIn":5,"benefit":10},{"name":"Fervex","expiresIn":0,"benefit":50},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":10,"benefit":30}],[{"name":"Doliprane","expiresIn":14,"benefit":24},{"name":"Herbal Tea","expiresIn":4,"benefit":11},{"name":"Fervex","expiresIn":-1,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":9,"benefit":28}],[{"name":"Doliprane","expiresIn":13,"benefit":23},{"name":"Herbal Tea","expiresIn":3,"benefit":12},{"name":"Fervex","expiresIn":-2,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":8,"benefit":26}],[{"name":"Doliprane","expiresIn":12,"benefit":22},{"name":"Herbal Tea","expiresIn":2,"benefit":13},{"name":"Fervex","expiresIn":-3,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":7,"benefit":24}],[{"name":"Doliprane","expiresIn":11,"benefit":21},{"name":"Herbal Tea","expiresIn":1,"benefit":14},{"name":"Fervex","expiresIn":-4,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":6,"benefit":22}],[{"name":"Doliprane","expiresIn":10,"benefit":20},{"name":"Herbal Tea","expiresIn":0,"benefit":15},{"name":"Fervex","expiresIn":-5,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":5,"benefit":20}],[{"name":"Doliprane","expiresIn":9,"benefit":19},{"name":"Herbal Tea","expiresIn":-1,"benefit":17},{"name":"Fervex","expiresIn":-6,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":4,"benefit":18}],[{"name":"Doliprane","expiresIn":8,"benefit":18},{"name":"Herbal Tea","expiresIn":-2,"benefit":19},{"name":"Fervex","expiresIn":-7,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":3,"benefit":16}],[{"name":"Doliprane","expiresIn":7,"benefit":17},{"name":"Herbal Tea","expiresIn":-3,"benefit":21},{"name":"Fervex","expiresIn":-8,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":2,"benefit":14}],[{"name":"Doliprane","expiresIn":6,"benefit":16},{"name":"Herbal Tea","expiresIn":-4,"benefit":23},{"name":"Fervex","expiresIn":-9,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":1,"benefit":12}],[{"name":"Doliprane","expiresIn":5,"benefit":15},{"name":"Herbal Tea","expiresIn":-5,"benefit":25},{"name":"Fervex","expiresIn":-10,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":0,"benefit":10}],[{"name":"Doliprane","expiresIn":4,"benefit":14},{"name":"Herbal Tea","expiresIn":-6,"benefit":27},{"name":"Fervex","expiresIn":-11,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-1,"benefit":6}],[{"name":"Doliprane","expiresIn":3,"benefit":13},{"name":"Herbal Tea","expiresIn":-7,"benefit":29},{"name":"Fervex","expiresIn":-12,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-2,"benefit":2}],[{"name":"Doliprane","expiresIn":2,"benefit":12},{"name":"Herbal Tea","expiresIn":-8,"benefit":31},{"name":"Fervex","expiresIn":-13,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-3,"benefit":-2}],[{"name":"Doliprane","expiresIn":1,"benefit":11},{"name":"Herbal Tea","expiresIn":-9,"benefit":33},{"name":"Fervex","expiresIn":-14,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-4,"benefit":-2}],[{"name":"Doliprane","expiresIn":0,"benefit":10},{"name":"Herbal Tea","expiresIn":-10,"benefit":35},{"name":"Fervex","expiresIn":-15,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-5,"benefit":-2}],[{"name":"Doliprane","expiresIn":-1,"benefit":8},{"name":"Herbal Tea","expiresIn":-11,"benefit":37},{"name":"Fervex","expiresIn":-16,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-6,"benefit":-2}],[{"name":"Doliprane","expiresIn":-2,"benefit":6},{"name":"Herbal Tea","expiresIn":-12,"benefit":39},{"name":"Fervex","expiresIn":-17,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-7,"benefit":-2}],[{"name":"Doliprane","expiresIn":-3,"benefit":4},{"name":"Herbal Tea","expiresIn":-13,"benefit":41},{"name":"Fervex","expiresIn":-18,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-8,"benefit":-2}],[{"name":"Doliprane","expiresIn":-4,"benefit":2},{"name":"Herbal Tea","expiresIn":-14,"benefit":43},{"name":"Fervex","expiresIn":-19,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-9,"benefit":-2}],[{"name":"Doliprane","expiresIn":-5,"benefit":0},{"name":"Herbal Tea","expiresIn":-15,"benefit":45},{"name":"Fervex","expiresIn":-20,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-10,"benefit":-2}],[{"name":"Doliprane","expiresIn":-6,"benefit":0},{"name":"Herbal Tea","expiresIn":-16,"benefit":47},{"name":"Fervex","expiresIn":-21,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-11,"benefit":-2}],[{"name":"Doliprane","expiresIn":-7,"benefit":0},{"name":"Herbal Tea","expiresIn":-17,"benefit":49},{"name":"Fervex","expiresIn":-22,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-12,"benefit":-2}],[{"name":"Doliprane","expiresIn":-8,"benefit":0},{"name":"Herbal Tea","expiresIn":-18,"benefit":49},{"name":"Fervex","expiresIn":-23,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-13,"benefit":-2}],[{"name":"Doliprane","expiresIn":-9,"benefit":0},{"name":"Herbal Tea","expiresIn":-19,"benefit":49},{"name":"Fervex","expiresIn":-24,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-14,"benefit":-2}],[{"name":"Doliprane","expiresIn":-10,"benefit":0},{"name":"Herbal Tea","expiresIn":-20,"benefit":49},{"name":"Fervex","expiresIn":-25,"benefit":0},{"name":"Magic Pill","expiresIn":15,"benefit":40},{"name":"Dafalgan","expiresIn":-15,"benefit":-2}] \ No newline at end of file diff --git a/pharmacy.js b/pharmacy.js index cda44c41..ea491d31 100644 --- a/pharmacy.js +++ b/pharmacy.js @@ -1,66 +1,67 @@ export class Drug { - constructor(name, expiresIn, benefit) { - this.name = name; - this.expiresIn = expiresIn; - this.benefit = benefit; - } + constructor(name, expiresIn, benefit) { + this.name = name; + this.expiresIn = expiresIn; + this.benefit = benefit; + } } - export class Pharmacy { - constructor(drugs = []) { - this.drugs = drugs; - } - updateBenefitValue() { - for (var i = 0; i < this.drugs.length; i++) { - if ( - this.drugs[i].name != "Herbal Tea" && - this.drugs[i].name != "Fervex" - ) { - if (this.drugs[i].benefit > 0) { - if (this.drugs[i].name != "Magic Pill") { - this.drugs[i].benefit = this.drugs[i].benefit - 1; - } - } - } else { - if (this.drugs[i].benefit < 50) { - this.drugs[i].benefit = this.drugs[i].benefit + 1; - if (this.drugs[i].name == "Fervex") { - if (this.drugs[i].expiresIn < 11) { - if (this.drugs[i].benefit < 50) { - this.drugs[i].benefit = this.drugs[i].benefit + 1; - } - } - if (this.drugs[i].expiresIn < 6) { - if (this.drugs[i].benefit < 50) { - this.drugs[i].benefit = this.drugs[i].benefit + 1; - } - } - } - } - } - if (this.drugs[i].name != "Magic Pill") { - this.drugs[i].expiresIn = this.drugs[i].expiresIn - 1; - } - if (this.drugs[i].expiresIn < 0) { - if (this.drugs[i].name != "Herbal Tea") { - if (this.drugs[i].name != "Fervex") { - if (this.drugs[i].benefit > 0) { - if (this.drugs[i].name != "Magic Pill") { - this.drugs[i].benefit = this.drugs[i].benefit - 1; - } + constructor(drugs = []) { + this.drugs = drugs; + } + updateBenefitValue() { + for (var i = 0; i < this.drugs.length; i++) { + switch (this.drugs[i].name) { + case "Herbal Tea": + this.drugs[i].benefit < 49 && this.drugs[i].expiresIn > 0 ? + (this.drugs[i].benefit = this.drugs[i].benefit + 1) && (this.drugs[i].expiresIn = this.drugs[i].expiresIn - 1) + : + this.drugs[i].expiresIn <= 0 && this.drugs[i].benefit < 49 ? + (this.drugs[i].expiresIn = this.drugs[i].expiresIn - 1) && (this.drugs[i].benefit = this.drugs[i].benefit + 2) + : + (this.drugs[i].expiresIn = this.drugs[i].expiresIn - 1) && (this.drugs[i].benefit = this.drugs[i].benefit) + break; + case "Fervex": + this.drugs[i].benefit < 50 ? + this.drugs[i].expiresIn > 0 ? + (this.drugs[i].expiresIn < 6) && (this.drugs[i].benefit < 47) ? + (this.drugs[i].expiresIn = this.drugs[i].expiresIn - 1) && (this.drugs[i].benefit = this.drugs[i].benefit + 3) + : + (this.drugs[i].expiresIn < 11) && (this.drugs[i].benefit < 48) ? + (this.drugs[i].expiresIn = this.drugs[i].expiresIn - 1) && (this.drugs[i].benefit = this.drugs[i].benefit + 2) + : + (this.drugs[i].expiresIn = this.drugs[i].expiresIn - 1) && (this.drugs[i].benefit = this.drugs[i].benefit + 1) + : + (this.drugs[i].expiresIn = this.drugs[i].expiresIn - 1) && (this.drugs[i].benefit = this.drugs[i].benefit) + : + (this.drugs[i].expiresIn = this.drugs[i].expiresIn - 1) && (this.drugs[i].benefit = 0) + break; + case "Magic Pill": + this.drugs[i].expiresIn = this.drugs[i].expiresIn + this.drugs[i].benefit < 0 ? this.drugs[i].benefit = 0 : this.drugs[i].benefit = this.drugs[i].benefit + break; + case "Dafalgan": + this.drugs[i].benefit > 0 && this.drugs[i].benefit < 50 ? + this.drugs[i].expiresIn <= 0 && this.drugs[i].benefit > 0 ? + this.drugs[i].benefit = this.drugs[i].benefit - 4 + : + this.drugs[i].benefit = this.drugs[i].benefit - 2 + : + this.drugs[i].benefit + this.drugs[i].expiresIn = this.drugs[i].expiresIn - 1 + break; + default: + this.drugs[i].benefit > 0 && this.drugs[i].benefit < 50 ? + this.drugs[i].expiresIn <= 0 && this.drugs[i].benefit > 0 ? + this.drugs[i].benefit = this.drugs[i].benefit - 2 + : + this.drugs[i].benefit = this.drugs[i].benefit - 1 + : + this.drugs[i].benefit + this.drugs[i].expiresIn = this.drugs[i].expiresIn - 1 + break; } - } else { - this.drugs[i].benefit = - this.drugs[i].benefit - this.drugs[i].benefit; - } - } else { - if (this.drugs[i].benefit < 50) { - this.drugs[i].benefit = this.drugs[i].benefit + 1; - } } - } + return this.drugs; } - - return this.drugs; - } -} +} \ No newline at end of file diff --git a/pharmacy.test.js b/pharmacy.test.js index f0925fc1..06e32f22 100644 --- a/pharmacy.test.js +++ b/pharmacy.test.js @@ -1,9 +1,53 @@ import { Drug, Pharmacy } from "./pharmacy"; - describe("Pharmacy", () => { it("should decrease the benefit and expiresIn", () => { expect(new Pharmacy([new Drug("test", 2, 3)]).updateBenefitValue()).toEqual( [new Drug("test", 1, 2)] ); }); -}); + it("should decrease the benefit twice as fast and expiresIn by 1", () => { + expect(new Pharmacy([new Drug("test", -1, 3)]).updateBenefitValue()).toEqual( + [new Drug("test", -2, 1)] + ); + }); + it("should decrease expiresIn and increase the benefit by 3", () => { + expect(new Pharmacy([new Drug("Fervex", 5, 3)]).updateBenefitValue()).toEqual( + [new Drug("Fervex", 4, 6)] + ); + }); + it("should decrease expiresIn and increase the benefit by 2", () => { + expect(new Pharmacy([new Drug("Fervex", 10, 3)]).updateBenefitValue()).toEqual( + [new Drug("Fervex", 9, 5)] + ); + }); + it("should decrease expiresIn and benefit", () => { + expect(new Pharmacy([new Drug("Fervex", 11, 46)]).updateBenefitValue()).toEqual( + [new Drug("Fervex", 10, 47)] + ); + }); + it("should decrease expiresIn and keep benefit equals to 0", () => { + expect(new Pharmacy([new Drug("Fervex", -1, 0)]).updateBenefitValue()).toEqual( + [new Drug("Fervex", -2, 0)] + ); + }); + it("should decrease expiresIn and increase the benefit", () => { + expect(new Pharmacy([new Drug("Herbal Tea", 1, 10)]).updateBenefitValue()).toEqual( + [new Drug("Herbal Tea", 0, 11)] + ); + }); + it("should decrease expiresIn and increase the benefit by 2", () => { + expect(new Pharmacy([new Drug("Herbal Tea", -1, 12)]).updateBenefitValue()).toEqual( + [new Drug("Herbal Tea", -2, 14)] + ); + }); + it("should nor decrease nor increase expiresIn and benefit", () => { + expect(new Pharmacy([new Drug("Magic Pill", 0, 14)]).updateBenefitValue()).toEqual( + [new Drug("Magic Pill", 0, 14)] + ); + }); + it("should increase twice as fast as normal drugs", () => { + expect(new Pharmacy([new Drug("Dafalgan", -1, 14)]).updateBenefitValue()).toEqual( + [new Drug("Dafalgan", -2, 10)] + ); + }); +}); \ No newline at end of file