1 Востаннє редагувалося lacosteasd (22.06.2018 16:43:47)

Тема: Список покупок

Привіт :)  Буду дуже вдячний за допомогу в реалізації даної таски.
1. Application overview:
Personal expenses management application that allows users to track how much money have they spent.
2. [MAJOR] Requirements:
As a result of test problem solution you should provide a
command-line application that supports following commands:
● add 2017-04-25 12 USD Jogurt — adds expense entry to the list of user expenses. Expenses for various dates could be added in any order. Command accepts following parameters:
2017-04-25 — is the date when expense occurred
12 — is an amount of money spent
USD — the currency in which expense occurred
Jogurt — is the name of product purchased
● list — shows the list of all expenses sorted by date
● clear 2017-04-25 — removes all expenses for specified date, where:
2017-04-25 — is the date for which all expenses should be
removed
● total PLN — this command should take a list of exchange rates
from http://fixer.io , calculate the total amount of money spent and present it to user in specified currency, where:
PLN — is the currency in which total amount of expenses should be presented
3. [MINOR] Requirements:
In order to get extra points for test problem solution you might
cover your source code with unit tests.
4. Application usage example:
Here is an example of normal application usage flow, for each command a corresponding output is shown:

Я тільки починаю використовувати js, та не дуже розумію як правильно зробити, почав робити ось так:

class List {
    constructor(date, amount, currency, product){
    this._date = date;
    this._amount = amount;
    this._currency = currency;
    this._product = product;
    }
    
    get data (){
    return this._data;
    }
    
    get amount(){
    return this._amount;
    }
    
    get currency (){
    return this._currency;
    }
    
    get product (){
    return this._product
    }
}

class Result extends List {
    constructor(date, amount, currency, product) {
      super(date);
      this._amount = amount;
      this._currency = currency;
      this._product = product;

    } 
   }

const out = new Result(2017-04-25, 12, 'USD', 'Jogurt');
    console.log(Result);

> add 2017-04-25 2 USD Jogurt
2017-04-25
Jogurt 2 USD
>add 2017-04-25 3 EUR “French fries”
2017-04-25
Jogurt 2 USD
French Fries 3 EUR
> add 2017-04-27 4.75 EUR Beer
2017-04-25
Jogurt 2 USD
French Fries 3 EUR
2017-04-27
Beer 4.75 EUR
> add 2017-04-26 2.5 PLN Sweets
2017-04-25
Jogurt 2 USD
French Fries 3 EUR
2017-04-26
Sweets 2.5 PLN
2017-04-27
Beer 4.75 EUR
> list
2017-04-25
Jogurt 2 USD
French Fries 3 EUR
2017-04-26
Sweets 2.5 PLN
2017-04-27
Beer 4.75 EUR
> clear 2017-04-27
2017-04-25
Jogurt 2 USD
French Fries 3 EUR
2017-04-26
Sweets 2.5 PLN
> total EUR
5.42 EUR

2

Re: Список покупок

Будь ласка, приведіть допис у відповідність Правилам, особливо п.3.5.