1
1
package test .ru .alexgur .kanban ;
2
2
3
3
import static org .junit .jupiter .api .Assertions .assertEquals ;
4
- import static org .junit .jupiter .api .Assertions .assertNotNull ;
5
4
import static org .junit .jupiter .api .Assertions .assertTrue ;
6
5
7
6
import java .util .ArrayList ;
13
12
import ru .alexgur .kanban .model .SubTask ;
14
13
import ru .alexgur .kanban .model .Task ;
15
14
import ru .alexgur .kanban .service .HistoryManager ;
15
+ import ru .alexgur .kanban .service .InMemoryHistoryManager ;
16
16
import ru .alexgur .kanban .service .Managers ;
17
17
import ru .alexgur .kanban .service .Status ;
18
18
import ru .alexgur .kanban .service .TaskManager ;
19
19
20
20
import org .junit .jupiter .api .Assertions ;
21
21
import org .junit .jupiter .api .BeforeAll ;
22
22
23
- public class Tests {
23
+ public class MainTest {
24
24
private static TaskManager tm ;
25
25
private static HistoryManager hm ;
26
26
@@ -31,231 +31,6 @@ public static void createTaskManagerAndHistoryManagerVarsSetHistoryManager() {
31
31
tm .setHistoryManager (hm );
32
32
}
33
33
34
- // проверьте, что экземпляры класса Task равны друг другу;
35
- @ Test
36
- public void shouldBeEqualTwoTasks () {
37
- Task task1 = new Task ();
38
- Task task2 = new Task ();
39
-
40
- task1 .setName ("Название" ).setText ("Описание" );
41
- task2 .setName ("Название" ).setText ("Описание" );
42
-
43
- Assertions .assertEquals (task1 , task2 );
44
- }
45
-
46
- // проверьте, что наследники класса Task равны друг другу;
47
- @ Test
48
- public void shouldBeEqualTwoSubTasks () {
49
- SubTask subTask1 = new SubTask ();
50
- SubTask subTask2 = new SubTask ();
51
-
52
- subTask1 .setName ("Название SubTask" ).setText ("Описание SubTask" );
53
- subTask2 .setName ("Название SubTask" ).setText ("Описание SubTask" );
54
-
55
- Assertions .assertEquals (subTask1 , subTask2 );
56
- }
57
-
58
- // проверьте, что объект Epic нельзя добавить в самого себя в виде подзадачи;
59
- @ Test
60
- public void shouldNotBePossibleToAddEpicAsSubTask () {
61
- Epic epic = new Epic ();
62
- List <Integer > sbTasksIds = new ArrayList <>();
63
-
64
- sbTasksIds .add (epic .id );
65
- epic .setSubTasksIds (sbTasksIds );
66
-
67
- Assertions .assertEquals (0 , epic .getSubTasksIds ().size ());
68
- }
69
-
70
- // проверьте, что объект Subtask нельзя сделать своим же эпиком;
71
- @ Test
72
- public void shouldNotBePossibleToSetSubTaskAsItsOwnEpic () {
73
- SubTask subTask = new SubTask ();
74
-
75
- subTask .setEpicId (subTask .id );
76
-
77
- Assertions .assertNotEquals (subTask .id , subTask .getEpicId ());
78
- }
79
-
80
- // убедитесь, что утилитарный класс всегда возвращает проинициализированные и
81
- // готовые к работе экземпляры менеджеров;
82
- @ Test
83
- public void shouldReturnInitAndRedyManagers () {
84
- Assertions .assertTrue (Managers .getDefault () instanceof TaskManager );
85
- Assertions .assertTrue (Managers .getDefaultHistory () instanceof HistoryManager );
86
- }
87
-
88
- // проверьте, что InMemoryTaskManager действительно добавляет задачи разного
89
- // типа и может найти их по id;
90
- @ Test
91
- public void shouldSaveAllTypesToInMemoryTaskManager () {
92
- Task task = new Task ();
93
- SubTask subTask = new SubTask ();
94
- Epic epic = new Epic ();
95
-
96
- int taskId = tm .addTask (task );
97
- int subTaskId = tm .addSubTask (subTask );
98
- int epicId = tm .addEpic (epic );
99
-
100
- Assertions .assertEquals (task , tm .getTask (taskId ));
101
- Assertions .assertEquals (subTask , tm .getSubTask (subTaskId ));
102
- Assertions .assertEquals (epic , tm .getEpic (epicId ));
103
- }
104
-
105
- // проверьте, что задачи с заданным id и сгенерированным id не конфликтуют
106
- // внутри менеджера; ?????? Это вообще как?
107
-
108
- // создайте тест, в котором проверяется неизменность задачи (по всем полям) при
109
- // добавлении задачи в менеджер
110
- @ Test
111
- public void shouldPersistTaskAfterSave () {
112
- Task task = new Task ();
113
-
114
- int taskId = tm .addTask (task );
115
-
116
- Assertions .assertEquals (task , tm .getTask (taskId ));
117
- }
118
-
119
- // убедитесь, что задачи, добавляемые в HistoryManager, сохраняют предыдущую
120
- // версию задачи и её данных.
121
- @ Test
122
- public void shouldPersistTaskAfterAddMoreTasks () {
123
- Task task = new Task ();
124
- int taskId = tm .addTask (task );
125
-
126
- tm .addTask (new Task ());
127
- tm .addTask (new Task ());
128
- tm .addTask (new Task ());
129
- tm .addTask (new Task ());
130
-
131
- Assertions .assertEquals (task , tm .getTask (taskId ));
132
- }
133
-
134
- @ Test
135
- public void shouldIncrementCountByOneAfterTaskCreate () {
136
- Task task1 = new Task ();
137
- Task task2 = new Task ();
138
-
139
- Assertions .assertEquals (task1 .id + 1 , task2 .id );
140
- }
141
-
142
- @ Test
143
- public void shouldCreateTaskAndSetProperies () {
144
- Task task = new Task ();
145
-
146
- task .setName ("Название" );
147
- task .setText ("Описание" );
148
-
149
- Assertions .assertEquals ("Название" , task .getName ());
150
- Assertions .assertEquals ("Описание" , task .getText ());
151
- }
152
-
153
- @ Test
154
- public void shouldCreateSubTaskAndSetProperies () {
155
- SubTask subTask = new SubTask ();
156
-
157
- subTask .setName ("Название" );
158
- subTask .setText ("Описание" );
159
-
160
- Assertions .assertEquals ("Название" , subTask .getName ());
161
- Assertions .assertEquals ("Описание" , subTask .getText ());
162
- }
163
-
164
- // проверка добавления в историю и чтения из неё
165
- @ Test
166
- public void shouldSaveAndReturnOneRecordFromHistory () {
167
- clearHistory ();
168
- Task task = new Task ();
169
-
170
- int taskId = tm .addTask (task );
171
- tm .getTask (taskId );
172
- List <Task > hist = tm .getHistoryManager ().getHistory ();
173
-
174
- Assertions .assertEquals (taskId , hist .get (0 ).id );
175
- Assertions .assertEquals (1 , hist .size ());
176
- }
177
-
178
- // проверка добавления в историю и чтения из неё ровно 10 элементов
179
- @ Test
180
- public void shouldSaveAndReturnTenRecordsFromHistory () {
181
- clearHistory ();
182
- int maxHistSize = 10 ;
183
-
184
- for (int i = 0 ; i < maxHistSize ; i ++) {
185
- Task task = new Task ();
186
- tm .addTask (task );
187
- tm .getTask (task .id );
188
- }
189
- List <Task > hist = tm .getHistoryManager ().getHistory ();
190
-
191
- Assertions .assertTrue (maxHistSize == hist .size ());
192
- }
193
-
194
- // проверка добавления в историю и чтения из неё ровно 10+1 элементов
195
- @ Test
196
- public void shouldSaveAndReturnTenPlusOneRecordFromHistory () {
197
- clearHistory ();
198
- int maxHistSize = 10 ;
199
-
200
- for (int i = 0 ; i < maxHistSize + 1 ; i ++) {
201
- Task task = new Task ();
202
- tm .addTask (task );
203
- tm .getTask (task .id );
204
- }
205
-
206
- List <Task > hist = tm .getHistoryManager ().getHistory ();
207
- Assertions .assertTrue (maxHistSize + 1 == hist .size ());
208
- }
209
-
210
- @ Test
211
- public void shouldCreateEpicAndAddSubTaskAndSetProperies () {
212
- Epic epic = new Epic ();
213
- SubTask subTask1 = new SubTask ();
214
- SubTask subTask2 = new SubTask ();
215
- List <Integer > sbTasksIds = new ArrayList <>();
216
-
217
- epic .setName ("Название Epic" ).setText ("Описание Epic" );
218
- subTask1 .setName ("Название SubTask" ).setText ("Описание SubTask" );
219
- subTask2 .setName ("Название SubTask" ).setText ("Описание SubTask" );
220
- sbTasksIds .add (subTask1 .id );
221
- sbTasksIds .add (subTask2 .id );
222
- epic .setSubTasksIds (sbTasksIds );
223
-
224
- Assertions .assertEquals ("Название Epic" , epic .getName ());
225
- Assertions .assertEquals ("Описание Epic" , epic .getText ());
226
- Assertions .assertEquals (2 , epic .getSubTasksIds ().size ());
227
- }
228
-
229
- @ Test
230
- void addToHistory () {
231
- clearHistory ();
232
- Task task = new Task ();
233
-
234
- tm .addTask (task );
235
- tm .getTask (task .id );
236
- final List <Task > history = hm .getHistory ();
237
-
238
- assertNotNull (history , "История не пустая." );
239
- assertEquals (1 , history .size (), "История не пустая." );
240
- }
241
-
242
- @ Test
243
- void addNewTask () {
244
- Task task = new Task ();
245
-
246
- task .setName ("Название" ).setText ("Описание" );
247
- final int taskSizeInit = tm .getTasks ().size ();
248
- final int taskId = tm .addTask (task );
249
- final Task savedTask = tm .getTask (taskId );
250
- final List <Task > tasks = tm .getTasks ();
251
-
252
- assertNotNull (savedTask , "Задача не найдена." );
253
- assertEquals (task , savedTask , "Задачи не совпадают." );
254
- assertNotNull (tasks , "Задачи не возвращаются." );
255
- assertEquals (taskSizeInit + 1 , tasks .size (), "Неверное количество задач." );
256
- assertEquals (task , tasks .get (tasks .size () - 1 ), "Задачи не совпадают." );
257
- }
258
-
259
34
// Создайте две задачи, эпик с тремя подзадачами и эпик без подзадач.
260
35
// Запросите созданные задачи несколько раз в разном порядке.
261
36
// После каждого запроса выведите историю и убедитесь, что в ней нет повторов.
@@ -471,8 +246,8 @@ public void shouldWorkAllTaskTogatherLikeInProduction() {
471
246
Assertions .assertTrue (tm .getEpic (epic2 .id ) == null );
472
247
}
473
248
474
-
475
249
private void clearHistory () {
476
- tm .getHistoryManager ().clear ();
250
+ InMemoryHistoryManager thm = (InMemoryHistoryManager ) tm .getHistoryManager ();
251
+ thm .clear ();
477
252
}
478
253
}
0 commit comments