У меня есть метод:
public int checkQuality() {
Calendar currentDate = Calendar.getInstance();
long differenceOne = this.expireDate.getTimeInMillis() - this.createDate.getTimeInMillis();
long differenceTwo = currentDate.getTimeInMillis() - this.createDate.getTimeInMillis();
return (int) (((float) differenceTwo / differenceOne) * 100);
}
Он проверяет в процентах на сколько вышел срок годности товара в процентах, и возвращает int
этих процентов.
Мне нужно его протестировать и первый тест выглядит так:
@Test
public void whenThen() {
Calendar createDate = new GregorianCalendar(2016, 11, 16);
Calendar expireDate = new GregorianCalendar(2017, 11, 31);
Product food = new Food(createDate, expireDate);
ControlQuality control = new ControlQuality();
control.uploadInRepo(food);
assertThat(food, is(control.getRepo().get(0).getProducts().get(0)));
}
Совершенно очевидно что через пару дней он уже работать не будет.
Можно конечно при создании объектов Calendar
оттолкнуться от текущей даты, но мне кажется это какой-то костыль...
Как мне сделать что-бы это работало всегда без палок, лома, и прочей подручной утвари?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите, как cделать простую и не очень медленную проверку отправляемого текста на сервер на наличие матов? Те ввел юзер плохие слова и идет...
Использую SpringНужно сделать post-запрос из андроид приложения
ПриветЯ новичок в программировании, пытаюсь сделать простенькое приложение для создания напоминаний
Есть база данных (postgreSQL) в ней имеется таблица с числами типа moneyЗадача достать с этой таблицы это число на языке джава