Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void test5() {
- /*
- убирай метод
- гивен-методы - уже ок
- */
- ***********************
- @Test
- public void testReopenAllAtCompleted() {
- givenAtCompleted(new Task("a", TaskType.COMPLETED), new Task("b", TaskType.COMPLETED));
- /*
- пропусти строку после гивен-метода - отдели предварительные действия от тестируемого
- */
- toggleAll();
- /*
- посмотри на другие фиче-тесты
- в них - есть проверка состояния списка тасок
- и в этом тест-методе, и в других, которые добавятся - нужно прежде всего
- проверить список тасок
- и затем - проверить счетчик Items Left(если это возможно)
- */
- assertItemsLeft(2);
- }
- *********************************************************
- givenAtCompleted(new Task("a", TaskType.COMPLETED), new Task("b", TaskType.COMPLETED));
- //или
- givenAtCompleted(COMPLETED, "a", "b");
- /*
- в случае если нужно добавить несколько тасок в одном статуче - второй вариант вызова - будет гораздо удобнее
- чтобы это сделать - нужен еще один набор гивен-методов (дополнительно)
- у нас уже есть enum для статуса таски (TaskType)
- и нам нужен метод (методы), которые будут примерно такими - как ты реализовал изначально
- чтобы метод создавал несколько тасок с одним и тем же статусом
- реализуй дополнительно методы
- givenAtAll(TaskType taskType, String... taskTexts)
- givenAtActive(TaskType taskType, String... taskTexts)
- givenAtCompleted(TaskType taskType, String... taskTexts)
- ты получишь возможность для лаконичных вызовов
- для каждого из фильтров - свой метод
- первый параметр - явно рассказывает, что это
- и точно диктует - что за значения можно передать в метод
- в этих методах надо также переиспользовать given(Tasks... tasks)
- т е - больше мы алгоритма не повторяем ни в одном методе
- мы переиспоьзуем его
- тут у тебя будет задача
- как из (TaskType taskType, String... taskTexts)
- получить (Tasks... tasks)
- вот решим эту задачу - сможешь внутри
- given....(TaskType taskType, String... taskTexts)
- написать код в одну строчку
- given(xxx(taskType, taskTexts))
- в given(Task...tasks) в качестве параметра можно передавать массив Task[] tasks
- погугли про varargs in java
- реализуй метод xxx
- возвращающий Task[]
- с параметрами (TaskType taskType, String... taskTexts)
- в котором
- объяви переменную типа Task[] и инициализируй ее как массив Task[....такого-то размера....]
- какого - посмотри на параметры нашего метода
- в цикле обойди taskTexts
- и каждый элемент массива заполни с помощью метода aTask
- верни полученный массив
- а далее - используй этот метод
- внутри given...(TaskType taskType, String... taskTexts)
- given(xxx(taskType, taskTexts))
- Если тяжело сразу xxx реализовать -
- то для начала просто внутри givenAt....
- реализуй этот код - собери массив Task[] по переданным параметрам
- И тогда будет что-то типа такого
- Task[] tasks = ....
- ....
- ....
- ....
- given(tasks)
- */
Advertisement
Add Comment
Please, Sign In to add comment