diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 00000000..5008ddfc
Binary files /dev/null and b/.DS_Store differ
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 00000000..73f69e09
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 00000000..03d9549e
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 00000000..639900d1
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 00000000..cc6b5a17
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
new file mode 100644
index 00000000..797acea5
--- /dev/null
+++ b/.idea/runConfigurations.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/take-home-test.iml b/.idea/take-home-test.iml
new file mode 100644
index 00000000..d6ebd480
--- /dev/null
+++ b/.idea/take-home-test.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000..35eb1ddf
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/index.js b/index.js
index 525c9de1..c524099c 100644
--- a/index.js
+++ b/index.js
@@ -1,5 +1,6 @@
-import { Drug, Pharmacy } from "./pharmacy";
+import { Pharmacy } from "./modules/pharmarcy/pharmacy";
import fs from "fs";
+import { Drug } from "./modules/entities/drug";
const drugs = [
new Drug("Doliprane", 20, 30),
diff --git a/modules/entities/drug.js b/modules/entities/drug.js
new file mode 100644
index 00000000..ee8f4111
--- /dev/null
+++ b/modules/entities/drug.js
@@ -0,0 +1,7 @@
+export class Drug {
+ constructor(name, expiresIn, benefit) {
+ this.name = name;
+ this.expiresIn = expiresIn;
+ this.benefit = benefit;
+ }
+}
diff --git a/modules/pharmarcy/pharmacy.js b/modules/pharmarcy/pharmacy.js
new file mode 100644
index 00000000..b9f81ea3
--- /dev/null
+++ b/modules/pharmarcy/pharmacy.js
@@ -0,0 +1,98 @@
+export class Pharmacy {
+ constructor(drugs = []) {
+ this.drugs = drugs;
+ }
+ updateBenefitValue() {
+ this.drugs.map(drugs => {
+ if (
+ this._isNotHerbealTea(drugs) &&
+ this._isNotFervex(drugs) &&
+ this._isNotMagicPill(drugs) &&
+ this._isNotDafalgan(drugs) &&
+ drugs.benefit >= 0 &&
+ drugs.expiresIn > 0
+ ) {
+ this._decreaseOfOneBenefit(drugs);
+ this._decreaseOfOneExpireIn(drugs);
+ }
+
+ if (drugs.expiresIn <= 0 && this._isNotHerbealTea(drugs)) {
+ this.decreaseBenefitTwice(drugs);
+ }
+
+ if (!this._isNotHerbealTea(drugs)) {
+ if (drugs.expiresIn < 0) {
+ this.increaseBenefitTwice(drugs);
+ }
+
+ if (drugs.expiresIn >= 0) {
+ this._increaseOfOneBenefit(drugs);
+ this._decreaseOfOneExpireIn(drugs);
+ }
+ }
+
+ if (!this._isNotFervex(drugs)) {
+ if (drugs.expiresIn <= 10 && drugs.expiresIn > 5) {
+ this.increaseBenefitTwice(drugs);
+ } else if (drugs.expiresIn <= 5 && drugs.expiresIn > 0) {
+ this.increaseBenefitThird(drugs);
+ } else {
+ this._increaseOfOneBenefit(drugs);
+ }
+ this._decreaseOfOneExpireIn(drugs);
+ }
+
+ if (!this._isNotDafalgan(drugs)) {
+ this.decreaseBenefitTwice(drugs);
+ this._decreaseOfOneExpireIn(drugs);
+ }
+
+ if (drugs.benefit > 50) {
+ drugs.benefit = 50;
+ }
+ });
+ return this.drugs;
+ }
+
+ // Private Methods
+
+ _isNotHerbealTea(drugs) {
+ return drugs.name !== "Herbal Tea";
+ }
+
+ _isNotFervex(drugs) {
+ return drugs.name !== "Fervex";
+ }
+
+ _isNotMagicPill(drugs) {
+ return drugs.name !== "Magic Pill";
+ }
+
+ _decreaseOfOneBenefit(drugs) {
+ if (drugs.benefit !== 0) drugs.benefit--;
+ }
+
+ _increaseOfOneBenefit(drugs) {
+ drugs.benefit++;
+ }
+
+ _isNotDafalgan(drugs) {
+ return drugs.name !== "Dafalgan";
+ }
+
+ _decreaseOfOneExpireIn(drugs) {
+ drugs.expiresIn--;
+ }
+
+ increaseBenefitThird(drugs) {
+ drugs.benefit = drugs.benefit + 3;
+ }
+
+ increaseBenefitTwice(drugs) {
+ drugs.benefit = drugs.benefit + 2;
+ }
+
+ decreaseBenefitTwice(drugs) {
+ drugs.benefit = drugs.benefit - 2;
+ }
+}
diff --git a/modules/pharmarcy/pharmacy.test.js b/modules/pharmarcy/pharmacy.test.js
new file mode 100644
index 00000000..c5187e5d
--- /dev/null
+++ b/modules/pharmarcy/pharmacy.test.js
@@ -0,0 +1,126 @@
+import { Pharmacy } from "./pharmacy";
+import { Drug } from "../entities/drug";
+
+describe("Pharmacy", () => {
+ it("should decrease the benefit and expiresIn", () => {
+ // Arrange
+ const pharmacy = new Pharmacy([new Drug("test", 2, 3)]);
+
+ // Act
+ const res = pharmacy.updateBenefitValue();
+
+ // Assert
+ expect(res).toEqual([new Drug("test", 1, 2)]);
+ });
+
+ it("should decrease benefit twice when date expired", () => {
+ // Arrange
+ const pharmacy = new Pharmacy([new Drug("Test", -1, 10)]);
+
+ // Act
+ const res = pharmacy.updateBenefitValue();
+
+ // Assert
+ expect(res).toEqual([new Drug("Test", -1, 8)]);
+ });
+
+ it("should never have benefit negative", () => {
+ // Arrange
+ const pharmacy = new Pharmacy([new Drug("Test", 3, 0)]);
+
+ // Act
+ const res = pharmacy.updateBenefitValue();
+
+ // Assert
+ expect(res).toEqual([new Drug("Test", 2, 0)]);
+ });
+
+ it("should benefit increase twice after expiration date for Herbal Tea", () => {
+ // Arrange
+ const pharmacy = new Pharmacy([new Drug("Herbal Tea", -1, 10)]);
+
+ // Act
+ const res = pharmacy.updateBenefitValue();
+
+ // Assert
+ expect(res).toEqual([new Drug("Herbal Tea", -1, 12)]);
+ });
+
+ it("should never have benefit more 50 for Herbal Tea", () => {
+ // Arrange
+ const pharmacy = new Pharmacy([new Drug("Herbal Tea", -1, 50)]);
+
+ // Act
+ const res = pharmacy.updateBenefitValue();
+
+ // Assert
+ expect(res).toEqual([new Drug("Herbal Tea", -1, 50)]);
+ });
+
+ it("should never decrease in Benefit and never expires when drug is Magic Pill", () => {
+ // Arrange
+ const pharmacy = new Pharmacy([new Drug("Magic Pill", 3, 23)]);
+
+ // Act
+ const res = pharmacy.updateBenefitValue();
+
+ // Assert
+ expect(res).toEqual([new Drug("Magic Pill", 3, 23)]);
+ });
+
+ it("should increase benefit when drug is Fervex", () => {
+ // Arrange
+ const pharmacy = new Pharmacy([new Drug("Fervex", 15, 35)]);
+
+ // Act
+ const res = pharmacy.updateBenefitValue();
+
+ // Assert
+ expect(res).toEqual([new Drug("Fervex", 14, 36)]);
+ });
+
+ it("should increase benefit twice when drug is Fervex and date expired between 10 and 5 days left", () => {
+ // Arrange
+ const pharmacy = new Pharmacy([new Drug("Fervex", 6, 20)]);
+
+ // Act
+ const res = pharmacy.updateBenefitValue();
+
+ // Assert
+ expect(res).toEqual([new Drug("Fervex", 5, 22)]);
+ });
+
+ it("should increase benefit three times when drug is Fervex and date expired between 5 and 0 days left", () => {
+ // Arrange
+ const pharmacy = new Pharmacy([new Drug("Fervex", 4, 20)]);
+
+ // Act
+ const res = pharmacy.updateBenefitValue();
+
+ // Assert
+ expect(res).toEqual([new Drug("Fervex", 3, 23)]);
+ });
+
+ it("should decrease benefit twice when drug is Dafalgan", () => {
+ // Arrange
+ const pharmacy = new Pharmacy([new Drug("Dafalgan", 4, 6)]);
+
+ // Act
+ const res = pharmacy.updateBenefitValue();
+
+ // Assert
+ expect(res).toEqual([new Drug("Dafalgan", 3, 4)]);
+ });
+
+ it("should increase benefit when drug is Herbal Tea", () => {
+ // Arrange
+ const pharmacy = new Pharmacy([new Drug("Herbal Tea", 45, 6)]);
+
+ // Act
+ const res = pharmacy.updateBenefitValue();
+
+ // Assert
+ expect(res).toEqual([new Drug("Herbal Tea", 44, 7)]);
+ });
+
+});
diff --git a/output.txt b/output.txt
index d3e0f699..f9a7f023 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":"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":49},{"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":48},{"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":47},{"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":46},{"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":45},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":9,"benefit":19},{"name":"Herbal Tea","expiresIn":-1,"benefit":16},{"name":"Fervex","expiresIn":-6,"benefit":44},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":8,"benefit":18},{"name":"Herbal Tea","expiresIn":-1,"benefit":18},{"name":"Fervex","expiresIn":-7,"benefit":43},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":7,"benefit":17},{"name":"Herbal Tea","expiresIn":-1,"benefit":20},{"name":"Fervex","expiresIn":-8,"benefit":42},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":6,"benefit":16},{"name":"Herbal Tea","expiresIn":-1,"benefit":22},{"name":"Fervex","expiresIn":-9,"benefit":41},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":5,"benefit":15},{"name":"Herbal Tea","expiresIn":-1,"benefit":24},{"name":"Fervex","expiresIn":-10,"benefit":40},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":4,"benefit":14},{"name":"Herbal Tea","expiresIn":-1,"benefit":26},{"name":"Fervex","expiresIn":-11,"benefit":39},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":3,"benefit":13},{"name":"Herbal Tea","expiresIn":-1,"benefit":28},{"name":"Fervex","expiresIn":-12,"benefit":38},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":2,"benefit":12},{"name":"Herbal Tea","expiresIn":-1,"benefit":30},{"name":"Fervex","expiresIn":-13,"benefit":37},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":1,"benefit":11},{"name":"Herbal Tea","expiresIn":-1,"benefit":32},{"name":"Fervex","expiresIn":-14,"benefit":36},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":0,"benefit":8},{"name":"Herbal Tea","expiresIn":-1,"benefit":34},{"name":"Fervex","expiresIn":-15,"benefit":35},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":0,"benefit":6},{"name":"Herbal Tea","expiresIn":-1,"benefit":36},{"name":"Fervex","expiresIn":-16,"benefit":34},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":0,"benefit":4},{"name":"Herbal Tea","expiresIn":-1,"benefit":38},{"name":"Fervex","expiresIn":-17,"benefit":33},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":0,"benefit":2},{"name":"Herbal Tea","expiresIn":-1,"benefit":40},{"name":"Fervex","expiresIn":-18,"benefit":32},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":0,"benefit":0},{"name":"Herbal Tea","expiresIn":-1,"benefit":42},{"name":"Fervex","expiresIn":-19,"benefit":31},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":0,"benefit":-2},{"name":"Herbal Tea","expiresIn":-1,"benefit":44},{"name":"Fervex","expiresIn":-20,"benefit":30},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":0,"benefit":-4},{"name":"Herbal Tea","expiresIn":-1,"benefit":46},{"name":"Fervex","expiresIn":-21,"benefit":29},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":0,"benefit":-6},{"name":"Herbal Tea","expiresIn":-1,"benefit":48},{"name":"Fervex","expiresIn":-22,"benefit":28},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":0,"benefit":-8},{"name":"Herbal Tea","expiresIn":-1,"benefit":50},{"name":"Fervex","expiresIn":-23,"benefit":27},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":0,"benefit":-10},{"name":"Herbal Tea","expiresIn":-1,"benefit":50},{"name":"Fervex","expiresIn":-24,"benefit":26},{"name":"Magic Pill","expiresIn":15,"benefit":40}],[{"name":"Doliprane","expiresIn":0,"benefit":-12},{"name":"Herbal Tea","expiresIn":-1,"benefit":50},{"name":"Fervex","expiresIn":-25,"benefit":25},{"name":"Magic Pill","expiresIn":15,"benefit":40}]
\ No newline at end of file
diff --git a/pharmacy.js b/pharmacy.js
deleted file mode 100644
index cda44c41..00000000
--- a/pharmacy.js
+++ /dev/null
@@ -1,66 +0,0 @@
-export class Drug {
- 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;
- }
- }
- } 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;
- }
-}
diff --git a/pharmacy.test.js b/pharmacy.test.js
deleted file mode 100644
index f0925fc1..00000000
--- a/pharmacy.test.js
+++ /dev/null
@@ -1,9 +0,0 @@
-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)]
- );
- });
-});