diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 0000000..ece1c9b
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+Lab3
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..4b5def6
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..aa00ffa
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_googlecode_json_simple_json_simple_1_1.xml b/.idea/libraries/Maven__com_googlecode_json_simple_json_simple_1_1.xml
new file mode 100644
index 0000000..ea70fe1
--- /dev/null
+++ b/.idea/libraries/Maven__com_googlecode_json_simple_json_simple_1_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_5.xml b/.idea/libraries/Maven__commons_io_commons_io_2_5.xml
new file mode 100644
index 0000000..67c2ad2
--- /dev/null
+++ b/.idea/libraries/Maven__commons_io_commons_io_2_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__junit_junit_4_13.xml b/.idea/libraries/Maven__junit_junit_4_13.xml
new file mode 100644
index 0000000..59fc5c4
--- /dev/null
+++ b/.idea/libraries/Maven__junit_junit_4_13.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml
new file mode 100644
index 0000000..f854ab0
--- /dev/null
+++ b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
new file mode 100644
index 0000000..f58bbc1
--- /dev/null
+++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_7_0_M1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_7_0_M1.xml
new file mode 100644
index 0000000..356bfd3
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_7_0_M1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_7_0_M1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_7_0_M1.xml
new file mode 100644
index 0000000..af4a9b5
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_7_0_M1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_7_0_M1.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_7_0_M1.xml
new file mode 100644
index 0000000..cea43ce
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_7_0_M1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_7_0_M1.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_7_0_M1.xml
new file mode 100644
index 0000000..726ff15
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_7_0_M1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_launcher_1_7_0_M1.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_launcher_1_7_0_M1.xml
new file mode 100644
index 0000000..41e46fc
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_launcher_1_7_0_M1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_runner_1_7_0_M1.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_runner_1_7_0_M1.xml
new file mode 100644
index 0000000..535d4fb
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_runner_1_7_0_M1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_suite_api_1_7_0_M1.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_suite_api_1_7_0_M1.xml
new file mode 100644
index 0000000..a477b97
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_suite_api_1_7_0_M1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_vintage_junit_vintage_engine_5_7_0_M1.xml b/.idea/libraries/Maven__org_junit_vintage_junit_vintage_engine_5_7_0_M1.xml
new file mode 100644
index 0000000..3fdc277
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_vintage_junit_vintage_engine_5_7_0_M1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
new file mode 100644
index 0000000..fbc1b16
--- /dev/null
+++ b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..7193838
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..11a30c4
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..ce8e2f2
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1593613072827
+
+
+ 1593613072827
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Deanery.jar b/Deanery.jar
new file mode 100644
index 0000000..23d9e44
Binary files /dev/null and b/Deanery.jar differ
diff --git a/Lab3.iml b/Lab3.iml
new file mode 100644
index 0000000..0d06f0c
--- /dev/null
+++ b/Lab3.iml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/deanery.json b/deanery.json
new file mode 100644
index 0000000..2f00f99
--- /dev/null
+++ b/deanery.json
@@ -0,0 +1 @@
+[{"students":[{"id":1000006,"marks":[5,5,5,5,5,5,5,4,5,5,5,5,5],"fio":"Шаньгина Агафья Фомевна"},{"id":1000139,"marks":[5,5,5,5,5,5,5,5,5,2,5,4,5],"fio":"Пашин Станислав Никифорович"},{"id":1000018,"marks":[5,5,2,5,5,5,5,5,5,5,5,5,3],"fio":"Степнов Викентий Сигизмундович"},{"id":1000091,"marks":[4,5,5,5,5,5,4,5,4,4,5,5,4],"fio":"Неделяев Ипполит Богданович"},{"id":1000143,"marks":[5,5,5,3,5,5,3,4,5,5,5,5,5],"fio":"Агеев Афанасий Георгиевич"},{"id":1000085,"marks":[2,5,3,5,5,5,5,5,5,5,4,5,5],"fio":"Михайличенко Зиновий Натанович"},{"id":1000086,"marks":[5,5,5,5,2,4,5,4,5,5,5,5,4],"fio":"Столярова Ираида Владленовна"},{"id":1000007,"marks":[5,5,5,5,3,5,5,3,2,5,5,5,5],"fio":"Ильясов Валентин Всеволодович"},{"id":1000039,"marks":[5,5,5,5,5,2,5,5,5,2,3,5,5],"fio":"Чибисова Диана Захаровна"},{"id":1000063,"marks":[5,5,4,5,5,4,5,5,3,5,4,5,2],"fio":"Жжёнова Эльвира Геннадиевна"},{"id":1000069,"marks":[5,5,3,3,3,5,5,5,5,4,4,5,5],"fio":"Ясинова Раиса Ивановна"},{"id":1000121,"marks":[5,5,2,4,5,4,5,5,2,5,5,5,5],"fio":"Львов Артур Карлович"},{"id":1000002,"marks":[5,5,5,3,2,5,2,5,4,5,5,5,5],"fio":"Репин Викентий Якубович"},{"id":1000026,"marks":[3,2,5,5,5,5,5,5,3,3,4,5,5],"fio":"Макушев Гавриил Григориевич"},{"id":1000102,"marks":[5,4,5,5,2,4,5,2,3,5,5,5,5],"fio":"Нырко Данила Никифорович"},{"id":1000094,"marks":[4,5,3,3,5,5,4,2,2,5,5,5,5],"fio":"Плюхина Алиса Ефимовна"}],"id":10005,"title":"АСУ-20-05","headId":1000002},{"students":[{"id":1000019,"marks":[5,5,5,5,5,5,3,5,5,5,5,5,5],"fio":"Делов Прохор Кондратович"},{"id":1000013,"marks":[2,5,5,5,5,5,5,4,5,5,5,5,5],"fio":"Энгельгардт Пимен Артемиевич"},{"id":1000060,"marks":[5,5,3,5,5,5,5,5,5,5,5,5,3],"fio":"Сиянскиха Екатерина Елизаровна"},{"id":1000068,"marks":[5,5,4,5,5,4,5,3,5,5,5,5,5],"fio":"Игнатова Оксана Филипповна"},{"id":1000036,"marks":[5,5,3,5,5,5,2,5,5,5,5,5,5],"fio":"Савинков Фома Моисеевич"},{"id":1000140,"marks":[5,4,4,5,4,5,5,3,5,5,5,5,5],"fio":"Кузьмова Фаина Кузьмевна"},{"id":1000146,"marks":[5,5,5,5,5,5,2,5,5,5,5,3,5],"fio":"Курневича Галина Захаровна"},{"id":1000116,"marks":[5,4,5,5,5,5,4,5,5,5,3,3,5],"fio":"Осипова Эльвира Якововна"},{"id":1000131,"marks":[2,5,5,5,5,4,5,5,3,5,5,5,5],"fio":"Венедиктов Мстислав Сидорович"},{"id":1000148,"marks":[5,4,5,5,3,5,5,5,5,3,5,5,4],"fio":"Кружкова Христина Афанасиевна"},{"id":1000047,"marks":[4,3,5,4,4,5,5,3,5,5,5,5,5],"fio":"Эсаулова Мирослава Андрияновна"},{"id":1000066,"marks":[5,5,5,5,5,5,2,5,5,2,5,3,5],"fio":"Якушин Валерьян Эрнестович"},{"id":1000128,"marks":[5,4,5,5,2,3,5,3,5,5,5,5,5],"fio":"Кутяков Чеслав Ростиславович"},{"id":1000083,"marks":[5,3,5,4,4,3,5,5,5,5,5,2,5],"fio":"Толбанов Евдоким Прокофиевич"},{"id":1000111,"marks":[3,5,4,5,5,5,2,5,5,2,5,5,5],"fio":"Вольпов Владилен Еремеевич"},{"id":1000150,"marks":[2,5,5,5,5,5,5,2,3,4,5,5,5],"fio":"Соломина Стела Романовна"},{"id":1000053,"marks":[5,5,5,5,5,4,4,2,3,4,5,3,5],"fio":"Кондучалова Ефросинья Алексеевна"},{"id":1000059,"marks":[5,5,3,5,3,5,2,5,5,5,5,3,4],"fio":"Карданова Агния Анатолиевна"},{"id":1000137,"marks":[5,5,5,4,5,5,4,4,2,2,5,4,5],"fio":"Рясной Бронислав Герасимович"},{"id":1000044,"marks":[5,5,3,5,5,2,5,4,5,4,5,3,3],"fio":"Чиркаш Давид Несторович"},{"id":1000132,"marks":[4,5,5,5,3,5,3,2,2,5,5,5,5],"fio":"Дубов Бронислав Семенович"},{"id":1000037,"marks":[2,5,3,5,5,5,5,5,5,5,3,2,2],"fio":"Дмитриев Вадим Андроникович"},{"id":1000138,"marks":[2,3,5,4,5,2,3,5,5,4,5,5,4],"fio":"Акимова Алиса Ростиславовна"}],"id":10004,"title":"АСУ-20-04","headId":1000140},{"students":[{"id":1000008,"marks":[5,5,2,4,5,5,5,5,5,5,5,5,5],"fio":"Лапухина Христина Анатолиевна"},{"id":1000147,"marks":[4,5,3,5,5,5,5,5,4,5,5,5,5],"fio":"Ибрагимова Александра Карповна"},{"id":1000144,"marks":[5,2,5,5,5,5,5,5,5,3,5,5,5],"fio":"Прилуцкий Вячеслав Гордеевич"},{"id":1000004,"marks":[2,5,5,5,4,3,5,5,5,5,5,5,5],"fio":"Аронова Валентина Вячеславовна"},{"id":1000020,"marks":[5,5,2,5,5,2,5,5,5,5,5,5,5],"fio":"Котов Всеволод Игоревич"},{"id":1000104,"marks":[4,5,5,5,5,5,2,5,5,3,5,5,5],"fio":"Тамило Кузьма Ираклиевич"},{"id":1000072,"marks":[4,4,5,5,5,5,2,5,5,5,5,5,3],"fio":"Пичугина Инесса Святославовна"},{"id":1000134,"marks":[3,5,5,5,5,3,5,5,4,5,5,4,4],"fio":"Ягемана Алиса Петровна"},{"id":1000034,"marks":[5,5,5,5,2,5,5,3,5,5,2,5,5],"fio":"Цызырева Влада Елизаровна"},{"id":1000101,"marks":[5,5,4,5,4,4,4,5,5,5,3,5,3],"fio":"Завьялова Лидия Тимофеевна"},{"id":1000079,"marks":[5,3,5,5,5,5,5,5,2,5,5,2,4],"fio":"Разбойникова Виктория Никитевна"},{"id":1000122,"marks":[5,5,5,5,5,5,5,5,2,2,2,5,5],"fio":"Ефремова Галина Елизаровна"},{"id":1000149,"marks":[5,5,3,5,3,3,5,5,5,4,5,4,4],"fio":"Буланова Алла Константиновна"},{"id":1000054,"marks":[5,5,5,3,2,3,5,5,5,5,3,5,4],"fio":"Торсунова Эвелина Тимофеевна"},{"id":1000088,"marks":[3,4,5,2,5,5,4,5,5,4,5,5,3],"fio":"Муравей Евграф Мартьянович"},{"id":1000103,"marks":[5,4,5,4,5,5,5,2,5,5,2,3,5],"fio":"Плахтюрин Геннадий Платонович"},{"id":1000057,"marks":[5,5,2,5,4,4,5,4,5,5,2,3,5],"fio":"Ягфаров Андрей Самуилович"},{"id":1000070,"marks":[5,2,4,5,5,5,5,5,2,2,5,5,4],"fio":"Ажикелямова Владислава Филипповна"},{"id":1000145,"marks":[4,5,2,5,5,5,5,5,4,3,3,5,3],"fio":"Бабкин Аким Евграфович"},{"id":1000021,"marks":[5,5,4,5,3,5,5,4,5,5,2,3,2],"fio":"Львов Архип Всеволодович"},{"id":1000022,"marks":[5,5,3,3,5,4,4,5,5,5,2,5,2],"fio":"Гибазова Ксения Вячеславовна"},{"id":1000129,"marks":[5,5,3,2,5,3,5,3,5,5,2,5,5],"fio":"Невьянцев Ипполит Маркович"}],"id":10003,"title":"АСУ-20-03","headId":1000022},{"students":[{"id":1000087,"marks":[5,3,5,5,5,5,5,5,5,5,5,4,5],"fio":"Халипова Владлена Елизаровна"},{"id":1000030,"marks":[5,4,5,5,5,5,3,4,5,5,5,5,5],"fio":"Гайдученко Агап Миронович"},{"id":1000031,"marks":[5,5,5,2,5,5,5,5,5,5,5,2,5],"fio":"Янушкене Богдан Елисеевич"},{"id":1000045,"marks":[2,5,5,3,5,5,5,5,5,4,5,5,4],"fio":"Яманов Кузьма Захарович"},{"id":1000090,"marks":[4,3,5,5,5,5,5,4,4,5,5,5,3],"fio":"Арзамасцева Анисья Потаповна"},{"id":1000108,"marks":[5,3,5,5,5,5,3,5,3,5,5,4,5],"fio":"Осин Аким Федосиевич"},{"id":1000112,"marks":[5,5,5,5,5,3,4,5,5,2,5,4,5],"fio":"Абдулов Семен Вячеславович"},{"id":1000015,"marks":[5,5,5,3,5,5,5,5,5,2,2,5,5],"fio":"Мячин Чеслав Карлович"},{"id":1000056,"marks":[5,5,5,5,5,2,5,5,5,2,5,4,4],"fio":"Якубова Регина Феликсовна"},{"id":1000046,"marks":[2,5,5,5,5,5,3,5,2,5,5,4,5],"fio":"Викаш Александр Кондратович"},{"id":1000051,"marks":[5,3,4,5,5,5,5,4,2,5,4,5,4],"fio":"Рыбакова Евдокия Станиславовна"},{"id":1000064,"marks":[4,5,3,5,2,5,5,5,5,5,5,2,5],"fio":"Валуева Ирина Анатолиевна"},{"id":1000093,"marks":[3,3,5,5,5,5,4,5,5,5,2,5,4],"fio":"Дешевых Изяслав Ипатович"},{"id":1000095,"marks":[5,5,5,5,5,3,5,4,5,2,5,2,5],"fio":"Ямбаев Александр Мартьянович"},{"id":1000119,"marks":[5,5,5,5,3,3,3,5,2,5,5,5,5],"fio":"Мадулин Кузьма Проклович"},{"id":1000075,"marks":[5,2,5,2,5,5,5,3,2,5,5,5,5],"fio":"Зёмина Владлена Федоровна"},{"id":1000081,"marks":[3,5,5,4,4,4,2,5,5,5,5,4,3],"fio":"Землякова Агата Ильевна"},{"id":1000107,"marks":[5,4,2,5,5,4,2,5,5,5,5,4,3],"fio":"Мохов Андрон Маркович"},{"id":1000113,"marks":[4,2,5,5,2,5,5,5,5,4,2,5,5],"fio":"Чебыкина Мирослава Федотовна"},{"id":1000141,"marks":[5,5,4,5,5,2,4,2,3,5,4,5,5],"fio":"Сластников Степан Гаврилевич"},{"id":1000001,"marks":[5,5,2,5,5,5,5,4,3,2,2,5,5],"fio":"Погребнова Оксана Тимуровна"},{"id":1000009,"marks":[2,3,3,5,5,5,2,5,5,5,5,5,3],"fio":"Ягутян Самсон Фомевич"},{"id":1000073,"marks":[5,4,4,5,4,5,5,3,2,5,2,5,3],"fio":"Тамахин Дмитрий Григориевич"}],"id":10002,"title":"АСУ-20-02","headId":1000073},{"students":[{"id":1000049,"marks":[5,5,5,5,5,5,5,5,5,5,2,5,5],"fio":"Королёва Милена Борисовна"},{"id":1000033,"marks":[4,5,5,3,5,4,5,5,5,5,5,5,5],"fio":"Невшупа Екатерина Георгиевна"},{"id":1000010,"marks":[5,4,5,5,5,2,5,5,5,5,5,4,5],"fio":"Лямин Данила Панкратиевич"},{"id":1000016,"marks":[5,2,3,5,5,5,5,5,5,5,5,5,5],"fio":"Эмских Герасим Евграфович"},{"id":1000133,"marks":[5,3,4,4,5,5,5,5,5,4,5,5,5],"fio":"Букова Василиса Петровна"},{"id":1000077,"marks":[5,5,5,4,3,5,5,5,2,5,5,5,5],"fio":"Буданов Юлий Викентиевич"},{"id":1000127,"marks":[5,4,5,4,5,5,5,5,5,2,5,5,4],"fio":"Смелоч Казимир Дмитриевич"},{"id":1000078,"marks":[5,5,3,5,5,5,5,4,5,5,5,3,3],"fio":"Бородин Виталий Вячеславович"},{"id":1000120,"marks":[3,5,2,5,5,5,3,5,5,5,5,5,5],"fio":"Ковалев Рубен Филиппович"},{"id":1000023,"marks":[5,5,5,4,5,5,5,4,5,3,5,3,3],"fio":"Александрова Зинаида Александровна"},{"id":1000025,"marks":[5,3,5,5,5,5,4,5,2,5,3,5,5],"fio":"Щередина Екатерина Павеловна"},{"id":1000099,"marks":[5,5,5,5,3,5,3,5,3,3,4,5,5],"fio":"Ярмолинский Тимур Богданович"},{"id":1000028,"marks":[4,2,5,5,5,3,5,5,5,5,4,5,2],"fio":"Колтышев Вячеслав Игоревич"},{"id":1000067,"marks":[5,5,5,5,5,2,4,2,5,5,3,5,4],"fio":"Эмануиль Гавриил Григориевич"},{"id":1000080,"marks":[5,5,5,2,5,5,5,2,4,4,5,4,4],"fio":"Миронова Жанна Несторовна"},{"id":1000106,"marks":[5,2,5,2,4,5,5,5,5,5,4,5,3],"fio":"Сьянова Виктория Филипповна"},{"id":1000017,"marks":[5,4,3,3,5,4,5,5,5,3,5,5,2],"fio":"Нюхтилин Степан Ефремович"},{"id":1000052,"marks":[5,5,5,3,5,5,5,3,2,5,3,5,3],"fio":"Белоусова Пелагея Владиленовна"},{"id":1000110,"marks":[5,5,2,4,2,2,4,5,5,5,5,5,5],"fio":"Тетерина Людмила Фомевна"},{"id":1000011,"marks":[3,5,2,5,5,2,5,5,2,5,5,5,4],"fio":"Тяпичева Евгения Трофимовна"},{"id":1000012,"marks":[5,2,5,3,3,5,5,2,5,5,5,3,5],"fio":"Яшуков Вацлав Никонович"},{"id":1000048,"marks":[4,3,5,2,4,5,4,5,4,5,5,2,5],"fio":"Сидоров Иннокентий Юриевич"},{"id":1000071,"marks":[3,5,3,4,2,5,5,5,2,4,4,5,5],"fio":"Ермишина Ярослава Степановна"},{"id":1000109,"marks":[2,5,2,5,4,2,2,5,5,5,5,5,5],"fio":"Сорокина Альбина Никитевна"}],"id":10001,"title":"АСУ-20-01","headId":1000016},{"students":[{"id":1000123,"marks":[5,2,5,5,5,5,5,5,5,5,5,5,5],"fio":"Разуваева Виктория Николаевна"},{"id":1000062,"marks":[4,5,5,5,5,3,5,5,5,3,5,5,5],"fio":"Каменева Лариса Давидовна"},{"id":1000117,"marks":[2,5,4,5,5,5,5,5,5,5,5,5,4],"fio":"Мальцев Даниил Якубович"},{"id":1000125,"marks":[5,5,5,4,5,5,5,5,2,5,5,3,5],"fio":"Жичкина Юлия Германовна"},{"id":1000096,"marks":[3,4,4,5,5,5,5,5,2,5,5,5,5],"fio":"Веденина Ульяна Алексеевна"},{"id":1000098,"marks":[5,5,2,5,5,5,5,3,5,5,4,4,5],"fio":"Сабитова Светлана Игнатиевна"},{"id":1000038,"marks":[2,4,5,4,5,5,5,5,5,5,5,5,2],"fio":"Богачёв Гавриил Карлович"},{"id":1000061,"marks":[4,2,5,4,5,5,5,5,5,5,5,2,5],"fio":"Усов Олег Евграфович"},{"id":1000130,"marks":[2,5,4,5,5,5,4,5,5,2,5,5,5],"fio":"Николаева Галина Давидовна"},{"id":1000041,"marks":[5,5,5,2,5,5,2,5,5,5,5,5,2],"fio":"Косинова Полина Кузьмевна"},{"id":1000076,"marks":[2,5,4,3,2,5,5,5,5,5,5,5,5],"fio":"Глоба Стела Борисовна"},{"id":1000024,"marks":[5,5,5,3,5,3,5,5,4,5,4,4,2],"fio":"Экземплярский Самуил Изяславович"},{"id":1000032,"marks":[5,4,5,5,5,2,2,5,4,5,5,5,3],"fio":"Соломахина Лариса Родионовна"},{"id":1000035,"marks":[4,5,2,5,5,3,5,2,5,3,5,5,5],"fio":"Ерохин Назар Артемиевич"},{"id":1000118,"marks":[2,2,5,5,5,4,4,5,5,2,5,5,5],"fio":"Абоимова Нина Ефимовна"},{"id":1000105,"marks":[2,5,2,5,5,5,5,5,4,3,5,3,4],"fio":"Лукина Варвара Давидовна"},{"id":1000126,"marks":[5,5,2,2,3,3,5,5,3,5,5,5,5],"fio":"Салтанова Агата Никитевна"},{"id":1000005,"marks":[2,3,5,5,5,2,5,5,4,4,5,3,4],"fio":"Сапалёв Андрон Денисович"},{"id":1000065,"marks":[5,5,5,2,5,5,5,4,2,5,5,2,2],"fio":"Дудченко Ульяна Георгиевна"},{"id":1000074,"marks":[4,3,5,5,3,5,2,2,5,5,5,4,4],"fio":"Толбоева Зоя Яновна"},{"id":1000097,"marks":[5,2,5,5,3,5,3,4,4,2,5,5,4],"fio":"Павлова Маргарита Семеновна"}],"id":10006,"title":"АСУ-20-06","headId":1000065}]
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..88ef1fc
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,95 @@
+
+
+ 4.0.0
+
+
+ UTF-8
+
+
+ org.example
+ Lab3
+ 1.0-SNAPSHOT
+
+
+
+ org.apache.commons
+ commons-io
+ 1.3.2
+
+
+ commons-io
+ commons-io
+ 2.5
+
+
+ com.googlecode.json-simple
+ json-simple
+ 1.1
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 5.7.0-M1
+ test
+
+
+ org.junit.platform
+ junit-platform-runner
+ 1.7.0-M1
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+ 5.7.0-M1
+ test
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.1
+
+ 8
+ 8
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.19.1
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 2.6
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.4
+
+
+
+
+ Lab3
+
+
+
+
+
+
+
+
+ src\main\resources
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/Deanery/Deanery.java b/src/main/java/Deanery/Deanery.java
new file mode 100644
index 0000000..e464181
--- /dev/null
+++ b/src/main/java/Deanery/Deanery.java
@@ -0,0 +1,252 @@
+package Deanery;
+
+import org.apache.commons.io.IOUtils;
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+import org.json.simple.parser.ParseException;
+
+import java.io.*;
+import java.nio.charset.StandardCharsets;
+import java.util.*;
+
+public class Deanery {
+ private static final ArrayList students = new ArrayList<>();
+ private static final ArrayList groups = new ArrayList<>();
+ private static int idStud;
+ private static int idGroup;
+
+ public Deanery() {
+ idStud = 1000001;
+ idGroup = 10001;
+ }
+
+ public Deanery (String studFile, String groupFile){
+ idStud = 1000001;
+ idGroup = 10001;
+ this.settingStudents(studFile);
+ this.settingGroups(groupFile);
+ }
+
+ public int settingStudents(String fileName) {
+ int i =0;
+ try {
+ JSONParser parser = new JSONParser();
+ InputStream inputStream = getClass().getResourceAsStream(fileName);
+ String inputFile = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
+ JSONArray studentsArr = (JSONArray) parser.parse(inputFile);
+ Iterator studIter = studentsArr.iterator();
+ while (studIter.hasNext()) {
+ JSONObject stud = (JSONObject) studIter.next();
+ String surname = stud.get("surname").toString();
+ String name = stud.get("name").toString();
+ String middle_name = stud.get("middle_name").toString();
+ students.add(new Student(idStud++, surname, name, middle_name));
+ i++;
+ }
+ parser.reset();
+ studentsArr.clear();
+ } catch (RuntimeException | ParseException | IOException e) {
+ e.printStackTrace();
+ }
+
+ return i;
+ }
+
+ public int settingGroups(String fileName) {
+ int i =0;
+ try {
+ JSONParser parser = new JSONParser();
+ InputStream inputStream = getClass().getResourceAsStream(fileName);
+ String inputFile = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
+ JSONArray groupsArr = (JSONArray) parser.parse(inputFile);
+ Iterator groupIter = groupsArr.iterator();
+ while (groupIter.hasNext()) {
+ JSONObject group = (JSONObject) groupIter.next();
+ String title = group.get("title").toString();
+ groups.add(new Group(idGroup++, title));
+ i++;
+ }
+ } catch (RuntimeException | ParseException | IOException e) {
+ e.printStackTrace();
+ }
+ return i;
+ }
+
+ public ArrayList getStudents(){ //возвращает arraylist всех студентов
+ return students;
+ }
+
+ public ArrayList getGroups(){ //возвращает arraylist всех групп
+ return groups;
+ }
+
+ public void setExamination(int numberOfExams){
+ for (Student st: students){
+ for (int i=0; i st.getGroup() == null).count();
+ for (Student st: students){
+ int k = 0;
+ while (st.getGroup() == null) {
+ Random rndm = new Random();
+ int i = rndm.nextInt(groups.size());
+ if (groups.get(i).numberOfStudents() < maxStudentsInGroup) {
+ st.changeGroup(groups.get(i));
+ groups.get(i).addStud(st);
+ studentsEnrolled++;
+ }
+ k++;
+ if (k > groups.size()*2){
+ System.out.println("There are students who are not enrolled :"+(entrants-studentsEnrolled));
+ return studentsEnrolled;
+ }
+ }
+ }
+ return studentsEnrolled;
+ }
+
+ public void electionHeadmen(){
+ for (Group group: groups){
+ if (group.getHead() == null) {
+ group.electionHead();
+ }
+ }
+ }
+
+ public Student findSt(int id){
+ for (Student student: students){
+ if (student.getId()== id){
+ return student;
+ }
+ }
+ return null;
+ }
+
+ public Student findSt(String fio){
+ for (Student student: students){
+ if (student.getFIO().equals(fio) || student.getSurname().equals(fio) || student.getName().equals(fio) || student.getMiddle_name().equals(fio)) {
+ return student;
+ }
+ }
+ return null;
+ }
+
+ public Group findGr(int id){
+ for (Group group: groups){
+ if (group.getId()== id){
+ return group;
+ }
+ }
+ return null;
+ }
+
+ public Group findGr(String title){
+ for (Group group: groups){
+ if ( title.equals(group.getTitle())){
+ return group;
+ }
+ }
+ return null;
+ }
+
+ public void fullExpelStudent (Student student){
+ for (Group gr: groups){
+ gr.expelStudent(student);
+ }
+ students.remove(student);
+ }
+
+ public int expellingForBadGrades (double minLevel){
+ int numberOfStudents = 0;
+ for (int i =0; i < students.size(); i++){
+ if (students.get(i).averageMark() < minLevel){
+ fullExpelStudent(students.get(i));
+ numberOfStudents++;
+ i--;
+ }
+ }
+ return numberOfStudents;
+ }
+
+ public String studentTransfer (Student student, Group group){
+ if (student == null || group == null){
+ return "Sorry, but student or group does not exist";
+ }
+ if (student.getGroup() == group){
+ return "This student is already in this group";
+ }
+ else{
+ student.changeGroup(group);
+ return "This student was transferred to the specified group";
+ }
+ }
+
+ Comparator comparGroupsByMark = (g1, g2) -> {return Double.compare(g2.averageMark(), g1.averageMark());};
+
+ Comparator comparStudentsByMark = (s1, s2) -> {return Double.compare(s2.averageMark(), s1.averageMark());};
+
+ public void printAllInfo(String howToSortMarkOrName){
+ if (howToSortMarkOrName == "mark" || howToSortMarkOrName == "Mark"){
+ groups.sort(comparGroupsByMark);
+ }
+ else {
+ Collections.sort(groups);
+ }
+ for(Group gr: groups){
+ if (howToSortMarkOrName == "mark" || howToSortMarkOrName == "Mark"){
+ gr.getStudents().sort(comparStudentsByMark);
+ }
+ else{
+ Collections.sort(gr.getStudents());
+ }
+ System.out.println("\n_____________________________________________________________________");
+ System.out.println("------------------------------"+gr.getTitle()+"------------------------------");
+ System.out.println("|---Number of students: "+gr.getStudents().size());
+ System.out.println("|---Average mark for group: "+gr.averageMark());
+ System.out.println("|---Headman: "+gr.getHead().toString());
+ System.out.println("|---Students: ");
+ for (Student st: gr.getStudents()){
+ System.out.println("|------------ "+st.toString()+"\t\t\tAverage mark: "+st.averageMark());
+ }
+ System.out.println("---------------------------------------------------------------------");
+ }
+ }
+
+ public void exportDataToJASON (File file) {
+
+ JSONArray deanery = new JSONArray();
+ for (Group gr: groups){
+ JSONObject group = new JSONObject();
+ group.put("id", gr.getId());
+ group.put("title", gr.getTitle());
+ group.put("headId", gr.getHeadId());
+ JSONArray students = new JSONArray();
+ for(Student st: gr.getStudents()){
+ JSONObject student = new JSONObject();
+ student.put("id", st.getId());
+ student.put("fio", st.getFIO());
+ student.put("marks", st.getMarks());
+ students.add(student);
+ }
+ group.put("students", students);
+ deanery.add(group);
+ }
+ try (BufferedWriter bw = new BufferedWriter(new FileWriter(file))) {
+ bw.write(deanery.toString());
+ } catch (IOException | RuntimeException e) {
+ System.out.println("File not saved");
+ }
+ }
+}
diff --git a/src/main/java/Deanery/Group.java b/src/main/java/Deanery/Group.java
new file mode 100644
index 0000000..02f6956
--- /dev/null
+++ b/src/main/java/Deanery/Group.java
@@ -0,0 +1,108 @@
+package Deanery;
+
+import java.util.ArrayList;
+import java.util.Random;
+
+public class Group implements Comparable{
+ private String title;
+ private ArrayList st= new ArrayList();;
+ private Student head;
+ private int headId;
+ private int id;
+
+ public int getHeadId() {
+ return headId;
+ }
+
+ public Group(int id, String title) {
+ this.id = id;
+ this.title = title;
+ }
+
+ @Override
+ public String toString() {
+ return title;
+ }
+
+ public void expelStudent(Student student){
+ if (head == student){
+ head = null;
+ electionHead();
+ }
+ st.remove(student);
+ }
+
+ public void changeTitle(String title) {
+ this.title = title;
+ }
+
+ public void addStud(Student entrant) {
+ st.add(entrant);
+ }
+
+ public void electionHead() {
+ if (head == null) {
+ Random rndm = new Random();
+ int i = rndm.nextInt(st.size());
+ head = st.get(i);
+ headId = st.get(i).getId();
+ st.get(i).setAsHead();
+ }
+ else {
+ System.out.println("The coup failed, first you need to overthrow the current headman");
+ }
+ }
+
+ public double averageMark(){
+ double average = 0;
+ for(Student student: st){
+ average += student.averageMark();
+ }
+ int temp = (int)average*100/st.size();
+ average = (double)temp/100;
+ return average;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public int numberOfStudents(){
+ return st.size();
+ }
+
+ public ArrayList getStudents() {
+ return st;
+ }
+
+ public Student getHead() {
+ return head;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public Student findStudent(int id) {
+ for (Student student: st){
+ if (student.getId()== id){
+ return student;
+ }
+ }
+ return null;
+ }
+
+ public Student findStudent(String fio) {
+ for (Student student: st){
+ if (student.getFIO().equals(fio) || student.getSurname().equals(fio) || student.getName().equals(fio) || student.getMiddle_name().equals(fio)) {
+ return student;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public int compareTo(Group gr) {
+ return toString().compareTo(gr.toString());
+ }
+}
diff --git a/src/main/java/Deanery/Student.java b/src/main/java/Deanery/Student.java
new file mode 100644
index 0000000..97a443c
--- /dev/null
+++ b/src/main/java/Deanery/Student.java
@@ -0,0 +1,89 @@
+package Deanery;
+
+import java.util.*;
+
+public class Student implements Comparable{
+ private int id;
+ private int groupId;
+ private ArrayList marks= new ArrayList<>();
+ private Group group = null;
+ private Boolean headman = false;
+ private String surname;
+ private String name;
+ private String middle_name;
+
+ public Student(int id, String surname, String name, String middle_name) {
+ this.id = id;
+ this.surname = surname;
+ this.name = name;
+ this.middle_name = middle_name;
+ }
+
+ @Override
+ public String toString() {
+ return surname+" "+name+" "+middle_name;
+ }
+
+ public void addMark (int mark){
+ marks.add(mark);
+ }
+
+ public void changeGroup(Group gr){
+ if (group != null){
+ group.expelStudent(this);
+ groupId = gr.getId();
+ }
+ headman = false;
+ group = gr;
+ }
+
+ public double averageMark(){
+ double average = 0;
+ int j = 0;
+ int temp = 0;
+ for (int i: marks){
+ average = average + i;
+ j++;
+ }
+ temp = (int) average*100 / j;
+ average = (double)temp / 100;
+ return average;
+ }
+
+ public void setAsHead(){
+ headman = true;
+ }
+
+ public ArrayList getMarks() {
+ return marks;
+ }
+
+ public String getFIO() { return surname+" "+name+" "+middle_name; }
+
+ public int getId() {
+ return id;
+ }
+
+ public String getSurname() {
+ return surname;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getMiddle_name() {
+ return middle_name;
+ }
+
+ public Group getGroup() {
+ return group;
+ }
+
+ public boolean isTheHeadman(){return headman; }
+
+ @Override
+ public int compareTo(Student st) {
+ return toString().compareTo(st.toString());
+ }
+}
diff --git a/src/main/java/Lab3.java b/src/main/java/Lab3.java
new file mode 100644
index 0000000..d1352e9
--- /dev/null
+++ b/src/main/java/Lab3.java
@@ -0,0 +1,17 @@
+import Deanery.*;
+
+import java.io.File;
+
+public class Lab3 {
+ public static void main(String[] args) {
+ Deanery den = new Deanery();
+ den.settingStudents("/students.json");
+ den.settingGroups("/groups.json");
+ den.enrollStudents(27);
+ den.setExamination(13);
+ den.electionHeadmen();
+ System.out.println("Отчислено "+den.expellingForBadGrades(4)+" студентов");
+ den.printAllInfo("mark");
+ den.exportDataToJASON(new File("deanery.json"));
+ }
+}
\ No newline at end of file
diff --git a/src/main/resources/groups.json b/src/main/resources/groups.json
new file mode 100644
index 0000000..985a0f4
--- /dev/null
+++ b/src/main/resources/groups.json
@@ -0,0 +1,8 @@
+[
+ { "title": "АСУ-20-01" },
+ { "title": "АСУ-20-02" },
+ { "title": "АСУ-20-03" },
+ { "title": "АСУ-20-04" },
+ { "title": "АСУ-20-05" },
+ { "title": "АСУ-20-06" }
+]
\ No newline at end of file
diff --git a/src/main/resources/students.json b/src/main/resources/students.json
new file mode 100644
index 0000000..46181ec
--- /dev/null
+++ b/src/main/resources/students.json
@@ -0,0 +1,3 @@
+[
+ {"surname":"Погребнова","name":"Оксана","middle_name":"Тимуровна"},
+ {"surname":"Репин","name":"Викентий","middle_name":"Якубович"},{"surname":"Холод","name":"Игнатий","middle_name":"Агапович"},{"surname":"Аронова","name":"Валентина","middle_name":"Вячеславовна"},{"surname":"Сапалёв","name":"Андрон","middle_name":"Денисович"},{"surname":"Шаньгина","name":"Агафья","middle_name":"Фомевна"},{"surname":"Ильясов","name":"Валентин","middle_name":"Всеволодович"},{"surname":"Лапухина","name":"Христина","middle_name":"Анатолиевна"},{"surname":"Ягутян","name":"Самсон","middle_name":"Фомевич"},{"surname":"Лямин","name":"Данила","middle_name":"Панкратиевич"},{"surname":"Тяпичева","name":"Евгения","middle_name":"Трофимовна"},{"surname":"Яшуков","name":"Вацлав","middle_name":"Никонович"},{"surname":"Энгельгардт","name":"Пимен","middle_name":"Артемиевич"},{"surname":"Каверин","name":"Евсей","middle_name":"Ульянович"},{"surname":"Мячин","name":"Чеслав","middle_name":"Карлович"},{"surname":"Эмских","name":"Герасим","middle_name":"Евграфович"},{"surname":"Нюхтилин","name":"Степан","middle_name":"Ефремович"},{"surname":"Степнов","name":"Викентий","middle_name":"Сигизмундович"},{"surname":"Делов","name":"Прохор","middle_name":"Кондратович"},{"surname":"Котов","name":"Всеволод","middle_name":"Игоревич"},{"surname":"Львов","name":"Архип","middle_name":"Всеволодович"},{"surname":"Гибазова","name":"Ксения","middle_name":"Вячеславовна"},{"surname":"Александрова","name":"Зинаида","middle_name":"Александровна"},{"surname":"Экземплярский","name":"Самуил","middle_name":"Изяславович"},{"surname":"Щередина","name":"Екатерина","middle_name":"Павеловна"},{"surname":"Макушев","name":"Гавриил","middle_name":"Григориевич"},{"surname":"Стрельников","name":"Руслан","middle_name":"Давыдович"},{"surname":"Колтышев","name":"Вячеслав","middle_name":"Игоревич"},{"surname":"Жвиков","name":"Емельян","middle_name":"Самсонович"},{"surname":"Гайдученко","name":"Агап","middle_name":"Миронович"},{"surname":"Янушкене","name":"Богдан","middle_name":"Елисеевич"},{"surname":"Соломахина","name":"Лариса","middle_name":"Родионовна"},{"surname":"Невшупа","name":"Екатерина","middle_name":"Георгиевна"},{"surname":"Цызырева","name":"Влада","middle_name":"Елизаровна"},{"surname":"Ерохин","name":"Назар","middle_name":"Артемиевич"},{"surname":"Савинков","name":"Фома","middle_name":"Моисеевич"},{"surname":"Дмитриев","name":"Вадим","middle_name":"Андроникович"},{"surname":"Богачёв","name":"Гавриил","middle_name":"Карлович"},{"surname":"Чибисова","name":"Диана","middle_name":"Захаровна"},{"surname":"Ямов","name":"Виктор","middle_name":"Валерьянович"},{"surname":"Косинова","name":"Полина","middle_name":"Кузьмевна"},{"surname":"Ханцев","name":"Федор","middle_name":"Георгиевич"},{"surname":"Ящин","name":"Мефодий","middle_name":"Никифорович"},{"surname":"Чиркаш","name":"Давид","middle_name":"Несторович"},{"surname":"Яманов","name":"Кузьма","middle_name":"Захарович"},{"surname":"Викаш","name":"Александр","middle_name":"Кондратович"},{"surname":"Эсаулова","name":"Мирослава","middle_name":"Андрияновна"},{"surname":"Сидоров","name":"Иннокентий","middle_name":"Юриевич"},{"surname":"Королёва","name":"Милена","middle_name":"Борисовна"},{"surname":"Ларичев","name":"Венедикт","middle_name":"Проклович"},{"surname":"Рыбакова","name":"Евдокия","middle_name":"Станиславовна"},{"surname":"Белоусова","name":"Пелагея","middle_name":"Владиленовна"},{"surname":"Кондучалова","name":"Ефросинья","middle_name":"Алексеевна"},{"surname":"Торсунова","name":"Эвелина","middle_name":"Тимофеевна"},{"surname":"Карпенцев","name":"Герасим","middle_name":"Демьянович"},{"surname":"Якубова","name":"Регина","middle_name":"Феликсовна"},{"surname":"Ягфаров","name":"Андрей","middle_name":"Самуилович"},{"surname":"Ожегова","name":"Ксения","middle_name":"Данилевна"},{"surname":"Карданова","name":"Агния","middle_name":"Анатолиевна"},{"surname":"Сиянскиха","name":"Екатерина","middle_name":"Елизаровна"},{"surname":"Усов","name":"Олег","middle_name":"Евграфович"},{"surname":"Каменева","name":"Лариса","middle_name":"Давидовна"},{"surname":"Жжёнова","name":"Эльвира","middle_name":"Геннадиевна"},{"surname":"Валуева","name":"Ирина","middle_name":"Анатолиевна"},{"surname":"Дудченко","name":"Ульяна","middle_name":"Георгиевна"},{"surname":"Якушин","name":"Валерьян","middle_name":"Эрнестович"},{"surname":"Эмануиль","name":"Гавриил","middle_name":"Григориевич"},{"surname":"Игнатова","name":"Оксана","middle_name":"Филипповна"},{"surname":"Ясинова","name":"Раиса","middle_name":"Ивановна"},{"surname":"Ажикелямова","name":"Владислава","middle_name":"Филипповна"},{"surname":"Ермишина","name":"Ярослава","middle_name":"Степановна"},{"surname":"Пичугина","name":"Инесса","middle_name":"Святославовна"},{"surname":"Тамахин","name":"Дмитрий","middle_name":"Григориевич"},{"surname":"Толбоева","name":"Зоя","middle_name":"Яновна"},{"surname":"Зёмина","name":"Владлена","middle_name":"Федоровна"},{"surname":"Глоба","name":"Стела","middle_name":"Борисовна"},{"surname":"Буданов","name":"Юлий","middle_name":"Викентиевич"},{"surname":"Бородин","name":"Виталий","middle_name":"Вячеславович"},{"surname":"Разбойникова","name":"Виктория","middle_name":"Никитевна"},{"surname":"Миронова","name":"Жанна","middle_name":"Несторовна"},{"surname":"Землякова","name":"Агата","middle_name":"Ильевна"},{"surname":"Скуратов","name":"Бронислав","middle_name":"Онисимович"},{"surname":"Толбанов","name":"Евдоким","middle_name":"Прокофиевич"},{"surname":"Ерзова","name":"Берта","middle_name":"Трофимовна"},{"surname":"Михайличенко","name":"Зиновий","middle_name":"Натанович"},{"surname":"Столярова","name":"Ираида","middle_name":"Владленовна"},{"surname":"Халипова","name":"Владлена","middle_name":"Елизаровна"},{"surname":"Муравей","name":"Евграф","middle_name":"Мартьянович"},{"surname":"Языкина","name":"Лада","middle_name":"Ильевна"},{"surname":"Арзамасцева","name":"Анисья","middle_name":"Потаповна"},{"surname":"Неделяев","name":"Ипполит","middle_name":"Богданович"},{"surname":"Мозговой","name":"Татьяна","middle_name":"Степановна"},{"surname":"Дешевых","name":"Изяслав","middle_name":"Ипатович"},{"surname":"Плюхина","name":"Алиса","middle_name":"Ефимовна"},{"surname":"Ямбаев","name":"Александр","middle_name":"Мартьянович"},{"surname":"Веденина","name":"Ульяна","middle_name":"Алексеевна"},{"surname":"Павлова","name":"Маргарита","middle_name":"Семеновна"},{"surname":"Сабитова","name":"Светлана","middle_name":"Игнатиевна"},{"surname":"Ярмолинский","name":"Тимур","middle_name":"Богданович"},{"surname":"Поздова","name":"Дарья","middle_name":"Василиевна"},{"surname":"Завьялова","name":"Лидия","middle_name":"Тимофеевна"},{"surname":"Нырко","name":"Данила","middle_name":"Никифорович"},{"surname":"Плахтюрин","name":"Геннадий","middle_name":"Платонович"},{"surname":"Тамило","name":"Кузьма","middle_name":"Ираклиевич"},{"surname":"Лукина","name":"Варвара","middle_name":"Давидовна"},{"surname":"Сьянова","name":"Виктория","middle_name":"Филипповна"},{"surname":"Мохов","name":"Андрон","middle_name":"Маркович"},{"surname":"Осин","name":"Аким","middle_name":"Федосиевич"},{"surname":"Сорокина","name":"Альбина","middle_name":"Никитевна"},{"surname":"Тетерина","name":"Людмила","middle_name":"Фомевна"},{"surname":"Вольпов","name":"Владилен","middle_name":"Еремеевич"},{"surname":"Абдулов","name":"Семен","middle_name":"Вячеславович"},{"surname":"Чебыкина","name":"Мирослава","middle_name":"Федотовна"},{"surname":"Кобелева","name":"Александра","middle_name":"Фомевна"},{"surname":"Киреев","name":"Петр","middle_name":"Измаилович"},{"surname":"Осипова","name":"Эльвира","middle_name":"Якововна"},{"surname":"Мальцев","name":"Даниил","middle_name":"Якубович"},{"surname":"Абоимова","name":"Нина","middle_name":"Ефимовна"},{"surname":"Мадулин","name":"Кузьма","middle_name":"Проклович"},{"surname":"Ковалев","name":"Рубен","middle_name":"Филиппович"},{"surname":"Львов","name":"Артур","middle_name":"Карлович"},{"surname":"Ефремова","name":"Галина","middle_name":"Елизаровна"},{"surname":"Разуваева","name":"Виктория","middle_name":"Николаевна"},{"surname":"Таттар","name":"Игнатий","middle_name":"Филимонович"},{"surname":"Жичкина","name":"Юлия","middle_name":"Германовна"},{"surname":"Салтанова","name":"Агата","middle_name":"Никитевна"},{"surname":"Смелоч","name":"Казимир","middle_name":"Дмитриевич"},{"surname":"Кутяков","name":"Чеслав","middle_name":"Ростиславович"},{"surname":"Невьянцев","name":"Ипполит","middle_name":"Маркович"},{"surname":"Николаева","name":"Галина","middle_name":"Давидовна"},{"surname":"Венедиктов","name":"Мстислав","middle_name":"Сидорович"},{"surname":"Дубов","name":"Бронислав","middle_name":"Семенович"},{"surname":"Букова","name":"Василиса","middle_name":"Петровна"},{"surname":"Ягемана","name":"Алиса","middle_name":"Петровна"},{"surname":"Куксюка","name":"Эльвира","middle_name":"Виталиевна"},{"surname":"Лашкина","name":"Ульяна","middle_name":"Серафимовна"},{"surname":"Рясной","name":"Бронислав","middle_name":"Герасимович"},{"surname":"Акимова","name":"Алиса","middle_name":"Ростиславовна"},{"surname":"Пашин","name":"Станислав","middle_name":"Никифорович"},{"surname":"Кузьмова","name":"Фаина","middle_name":"Кузьмевна"},{"surname":"Сластников","name":"Степан","middle_name":"Гаврилевич"},{"surname":"Масмех","name":"Казимир","middle_name":"Анатолиевич"},{"surname":"Агеев","name":"Афанасий","middle_name":"Георгиевич"},{"surname":"Прилуцкий","name":"Вячеслав","middle_name":"Гордеевич"},{"surname":"Бабкин","name":"Аким","middle_name":"Евграфович"},{"surname":"Курневича","name":"Галина","middle_name":"Захаровна"},{"surname":"Ибрагимова","name":"Александра","middle_name":"Карповна"},{"surname":"Кружкова","name":"Христина","middle_name":"Афанасиевна"},{"surname":"Буланова","name":"Алла","middle_name":"Константиновна"},{"surname":"Соломина","name":"Стела","middle_name":"Романовна"}]
\ No newline at end of file
diff --git a/src/test/java/Deanery/DeaneryTest.java b/src/test/java/Deanery/DeaneryTest.java
new file mode 100644
index 0000000..57ec4c6
--- /dev/null
+++ b/src/test/java/Deanery/DeaneryTest.java
@@ -0,0 +1,110 @@
+package Deanery;
+
+import org.junit.jupiter.api.*;
+
+import java.io.File;
+
+import static org.junit.Assert.assertEquals;
+
+public class DeaneryTest {
+
+ Deanery den = new Deanery();
+
+ @BeforeAll
+ public static void setup(){
+ Deanery den = new Deanery();
+ den.getGroups().add(new Group (10001,"АСУ-20-01"));
+ den.getGroups().add(new Group (10002,"АСУ-20-02"));
+ den.getStudents().add(new Student(1000001, "Янушкене","Богдан","Елисеевич"));
+ den.getStudents().add(new Student(1000002, "Соломахина","Лариса","Родионовна"));
+ den.getStudents().add(new Student(1000003, "Ерохин","Назар","Артемиевич"));
+ den.getStudents().add(new Student(1000004, "Цызырева","Влада","Елизаровна"));
+ den.getStudents().add(new Student(1000005, "Дмитриев","Вадим","Андроникович"));
+ den.getStudents().add(new Student(1000006, "Богачёв","Гавриил","Карлович"));
+ den.getStudents().add(new Student(1000007, "Ямов","Виктор","Валерьянович"));
+ den.getStudents().add(new Student(1000008, "Косинова","Полина","Кузьмевна"));
+ den.getStudents().add(new Student(1000009, "Ханцев","Федор","Георгиевич"));
+ den.getStudents().add(new Student(1000010, "Эсаулова","Мирослава","Андрияновна"));
+ den.getStudents().add(new Student(1000011, "Сидоров","Иннокентий","Юриевич"));
+ }
+
+ @Test
+ public void getStudents() {
+ assert(!den.getStudents().isEmpty());
+ }
+
+ @Test
+ public void getGroups() {
+ assertEquals(2, den.getGroups().size());
+ }
+
+ @Test
+ public void setExamination() {
+ den.setExamination(5);
+ den.findSt("Цызырева").addMark(3);
+ den.findSt("Сидоров").addMark(3);
+ assertEquals(0, den.expellingForBadGrades(2));
+ }
+
+ @Test
+ public void enrollStudents() {
+ assertEquals(den.getStudents().size(),den.enrollStudents(8));
+ }
+
+ @Test
+ public void electionHeadmen() {
+ den.electionHeadmen();
+ assertEquals(0, den.getGroups().stream().filter(group -> (group.getHead() == null)).count());
+ }
+
+ @Test
+ public void findSt() {
+ assertEquals(1000007, den.findSt(1000007).getId());
+ }
+
+ @Test
+ public void testFindSt() {
+ assertEquals("Ямов Виктор Валерьянович", den.findSt("Ямов").getFIO());
+ }
+
+ @Test
+ public void findGr() {
+ assertEquals(10002, den.findGr(10002).getId());
+ }
+
+ @Test
+ public void testFindGr() {
+ assertEquals("АСУ-20-02", den.findGr("АСУ-20-02").getTitle());
+ }
+
+ @Test
+ public void fullExpelStudent() {
+ int i = den.getStudents().size();
+ den.fullExpelStudent(den.findSt("Соломахина"));
+ assertEquals(i-1, den.getStudents().size());
+ }
+
+ @Order(0)
+ @Test
+ public void expellingForBadGrades() {
+ int i = den.getStudents().size();
+ den.getStudents().forEach(student -> {student.addMark(5);});
+ den.findSt("Ямов").addMark(1);
+ den.findSt("Косинова").addMark(1);
+ den.expellingForBadGrades(4);
+ assertEquals(i-2, den.getStudents().size());
+ }
+
+ @Test
+ public void studentTransfer() {
+ den.studentTransfer(den.findSt("Эсаулова"), den.findGr("АСУ-20-01"));
+ assertEquals(den.findGr("АСУ-20-01"), den.findSt("Эсаулова").getGroup());
+ }
+
+ @Test
+ public void exportDataToJASON() {
+ File file = new File("testDeanery.json");
+ den.exportDataToJASON(file);
+ assert(file.exists());
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/Deanery/GroupTest.java b/src/test/java/Deanery/GroupTest.java
new file mode 100644
index 0000000..93666b3
--- /dev/null
+++ b/src/test/java/Deanery/GroupTest.java
@@ -0,0 +1,105 @@
+package Deanery;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class GroupTest {
+
+ Student student1 = new Student(123, "Шейнберг", "Виктор", "Квазимодович");
+ Student student2 = new Student(124, "Вилдерман", "Виктор", "Квазимодович");
+ Group group1 = new Group(1,"TestGroup1");
+ Group group2 = new Group(2,"TestGroup2");
+
+
+ @Test
+ public void getHeadId() {
+ group1.addStud(student1);
+ group1.electionHead();
+ assertEquals(123, group1.getHeadId());
+ }
+
+ @Test
+ public void testToString() {
+ assertEquals("TestGroup1", group1.toString());
+ }
+
+ @Test
+ public void expelStudent() {
+ group2.addStud(student2);
+ group2.expelStudent(student2);
+ assertEquals("[]", group2.getStudents().toString());
+ }
+
+ @Test
+ public void changeTitle() {
+ group1.changeTitle("TestGroup3");
+ assertEquals("TestGroup3", group1.toString());
+ }
+
+ @Test
+ public void addStud() {
+ group1.addStud(student1);
+ assertEquals("[Шейнберг Виктор Квазимодович]", group1.getStudents().toString());
+ }
+
+ @Test
+ public void electionHead() {
+ group1.addStud(student1);
+ group1.electionHead();
+ assert(student1.isTheHeadman());
+ }
+
+ @Test
+ public void averageMark() {
+ group1.addStud(student1);
+ group1.addStud(student2);
+ student1.addMark(5);
+ student2.addMark(4);
+ assertEquals(4.5, group1.averageMark(), 0.1);
+ }
+
+ @Test
+ public void getTitle() {
+ assertEquals("TestGroup1", group1.toString());
+ }
+
+ @Test
+ public void numberOfStudents() {
+ group1.addStud(student1);
+ group1.addStud(student2);
+ assertEquals(2, group1.numberOfStudents());
+ }
+
+
+ @Test
+ public void getHead() {
+ group1.addStud(student1);
+ group1.electionHead();
+ assertEquals(student1, group1.getHead());
+ }
+
+ @Test
+ public void getId() {
+ assertEquals(1, group1.getId());
+ }
+
+ @Test
+ public void findStudent() {
+ group1.addStud(student1);
+ group1.addStud(student2);
+ assertEquals(student1, group1.findStudent(123));
+ }
+
+ @Test
+ public void testFindStudent() {
+ group1.addStud(student1);
+ group1.addStud(student2);
+ assertEquals(student2, group1.findStudent("Вилдерман"));
+ }
+
+ @Test
+ public void compareTo() {
+ assertEquals(0,group1.compareTo(group1));
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/Deanery/StudentTest.java b/src/test/java/Deanery/StudentTest.java
new file mode 100644
index 0000000..5790ed3
--- /dev/null
+++ b/src/test/java/Deanery/StudentTest.java
@@ -0,0 +1,72 @@
+package Deanery;
+
+import static org.junit.Assert.assertEquals;
+
+public class StudentTest {
+
+ Student student = new Student(123, "Шейнберг", "Виктор", "Квазимодович");
+ Student student1 = new Student(124, "Шейнберг", "Виктор", "Квазимодович");
+ Group group = new Group(1,"TestGroup");
+
+ @org.junit.Test
+ public void testToString() {
+ assertEquals("Шейнберг Виктор Квазимодович",student.toString());
+
+ }
+
+ @org.junit.Test
+ public void changeGroup() {
+ student.changeGroup(group);
+ assertEquals(group, student.getGroup());
+ }
+
+ @org.junit.Test
+ public void averageMark() {
+ student.addMark(5);
+ student.addMark(4);
+ assertEquals(4.5,student.averageMark(), 0.1);
+ }
+
+ @org.junit.Test
+ public void setAsHead() {
+ student.setAsHead();
+ assert(student.isTheHeadman());
+ }
+
+ @org.junit.Test
+ public void getMarks() {
+ student.addMark(5);
+ student.addMark(4);
+ assertEquals("[5, 4]",student.getMarks().toString());
+ }
+
+ @org.junit.Test
+ public void getFIO() {
+ assertEquals("Шейнберг Виктор Квазимодович",student.getFIO());
+ }
+
+ @org.junit.Test
+ public void getId() {
+ assertEquals(123,student.getId());
+ }
+
+ @org.junit.Test
+ public void getSurname() {
+ assertEquals("Шейнберг",student.getSurname());
+ }
+
+ @org.junit.Test
+ public void getName() {
+ assertEquals("Виктор",student.getName());
+ }
+
+ @org.junit.Test
+ public void getMiddle_name() {
+ assertEquals("Квазимодович",student.getMiddle_name());
+ }
+
+ @org.junit.Test
+ public void compareTo() {
+ assertEquals(0,student.compareTo(student1));
+ }
+}
\ No newline at end of file
diff --git a/target/classes/Deanery/Deanery.class b/target/classes/Deanery/Deanery.class
new file mode 100644
index 0000000..f047e65
Binary files /dev/null and b/target/classes/Deanery/Deanery.class differ
diff --git a/target/classes/Deanery/Group.class b/target/classes/Deanery/Group.class
new file mode 100644
index 0000000..eeb11b6
Binary files /dev/null and b/target/classes/Deanery/Group.class differ
diff --git a/target/classes/Deanery/Student.class b/target/classes/Deanery/Student.class
new file mode 100644
index 0000000..b1eba5f
Binary files /dev/null and b/target/classes/Deanery/Student.class differ
diff --git a/target/classes/Lab3.class b/target/classes/Lab3.class
new file mode 100644
index 0000000..eba9025
Binary files /dev/null and b/target/classes/Lab3.class differ
diff --git a/target/classes/groups.json b/target/classes/groups.json
new file mode 100644
index 0000000..985a0f4
--- /dev/null
+++ b/target/classes/groups.json
@@ -0,0 +1,8 @@
+[
+ { "title": "АСУ-20-01" },
+ { "title": "АСУ-20-02" },
+ { "title": "АСУ-20-03" },
+ { "title": "АСУ-20-04" },
+ { "title": "АСУ-20-05" },
+ { "title": "АСУ-20-06" }
+]
\ No newline at end of file
diff --git a/target/classes/students.json b/target/classes/students.json
new file mode 100644
index 0000000..46181ec
--- /dev/null
+++ b/target/classes/students.json
@@ -0,0 +1,3 @@
+[
+ {"surname":"Погребнова","name":"Оксана","middle_name":"Тимуровна"},
+ {"surname":"Репин","name":"Викентий","middle_name":"Якубович"},{"surname":"Холод","name":"Игнатий","middle_name":"Агапович"},{"surname":"Аронова","name":"Валентина","middle_name":"Вячеславовна"},{"surname":"Сапалёв","name":"Андрон","middle_name":"Денисович"},{"surname":"Шаньгина","name":"Агафья","middle_name":"Фомевна"},{"surname":"Ильясов","name":"Валентин","middle_name":"Всеволодович"},{"surname":"Лапухина","name":"Христина","middle_name":"Анатолиевна"},{"surname":"Ягутян","name":"Самсон","middle_name":"Фомевич"},{"surname":"Лямин","name":"Данила","middle_name":"Панкратиевич"},{"surname":"Тяпичева","name":"Евгения","middle_name":"Трофимовна"},{"surname":"Яшуков","name":"Вацлав","middle_name":"Никонович"},{"surname":"Энгельгардт","name":"Пимен","middle_name":"Артемиевич"},{"surname":"Каверин","name":"Евсей","middle_name":"Ульянович"},{"surname":"Мячин","name":"Чеслав","middle_name":"Карлович"},{"surname":"Эмских","name":"Герасим","middle_name":"Евграфович"},{"surname":"Нюхтилин","name":"Степан","middle_name":"Ефремович"},{"surname":"Степнов","name":"Викентий","middle_name":"Сигизмундович"},{"surname":"Делов","name":"Прохор","middle_name":"Кондратович"},{"surname":"Котов","name":"Всеволод","middle_name":"Игоревич"},{"surname":"Львов","name":"Архип","middle_name":"Всеволодович"},{"surname":"Гибазова","name":"Ксения","middle_name":"Вячеславовна"},{"surname":"Александрова","name":"Зинаида","middle_name":"Александровна"},{"surname":"Экземплярский","name":"Самуил","middle_name":"Изяславович"},{"surname":"Щередина","name":"Екатерина","middle_name":"Павеловна"},{"surname":"Макушев","name":"Гавриил","middle_name":"Григориевич"},{"surname":"Стрельников","name":"Руслан","middle_name":"Давыдович"},{"surname":"Колтышев","name":"Вячеслав","middle_name":"Игоревич"},{"surname":"Жвиков","name":"Емельян","middle_name":"Самсонович"},{"surname":"Гайдученко","name":"Агап","middle_name":"Миронович"},{"surname":"Янушкене","name":"Богдан","middle_name":"Елисеевич"},{"surname":"Соломахина","name":"Лариса","middle_name":"Родионовна"},{"surname":"Невшупа","name":"Екатерина","middle_name":"Георгиевна"},{"surname":"Цызырева","name":"Влада","middle_name":"Елизаровна"},{"surname":"Ерохин","name":"Назар","middle_name":"Артемиевич"},{"surname":"Савинков","name":"Фома","middle_name":"Моисеевич"},{"surname":"Дмитриев","name":"Вадим","middle_name":"Андроникович"},{"surname":"Богачёв","name":"Гавриил","middle_name":"Карлович"},{"surname":"Чибисова","name":"Диана","middle_name":"Захаровна"},{"surname":"Ямов","name":"Виктор","middle_name":"Валерьянович"},{"surname":"Косинова","name":"Полина","middle_name":"Кузьмевна"},{"surname":"Ханцев","name":"Федор","middle_name":"Георгиевич"},{"surname":"Ящин","name":"Мефодий","middle_name":"Никифорович"},{"surname":"Чиркаш","name":"Давид","middle_name":"Несторович"},{"surname":"Яманов","name":"Кузьма","middle_name":"Захарович"},{"surname":"Викаш","name":"Александр","middle_name":"Кондратович"},{"surname":"Эсаулова","name":"Мирослава","middle_name":"Андрияновна"},{"surname":"Сидоров","name":"Иннокентий","middle_name":"Юриевич"},{"surname":"Королёва","name":"Милена","middle_name":"Борисовна"},{"surname":"Ларичев","name":"Венедикт","middle_name":"Проклович"},{"surname":"Рыбакова","name":"Евдокия","middle_name":"Станиславовна"},{"surname":"Белоусова","name":"Пелагея","middle_name":"Владиленовна"},{"surname":"Кондучалова","name":"Ефросинья","middle_name":"Алексеевна"},{"surname":"Торсунова","name":"Эвелина","middle_name":"Тимофеевна"},{"surname":"Карпенцев","name":"Герасим","middle_name":"Демьянович"},{"surname":"Якубова","name":"Регина","middle_name":"Феликсовна"},{"surname":"Ягфаров","name":"Андрей","middle_name":"Самуилович"},{"surname":"Ожегова","name":"Ксения","middle_name":"Данилевна"},{"surname":"Карданова","name":"Агния","middle_name":"Анатолиевна"},{"surname":"Сиянскиха","name":"Екатерина","middle_name":"Елизаровна"},{"surname":"Усов","name":"Олег","middle_name":"Евграфович"},{"surname":"Каменева","name":"Лариса","middle_name":"Давидовна"},{"surname":"Жжёнова","name":"Эльвира","middle_name":"Геннадиевна"},{"surname":"Валуева","name":"Ирина","middle_name":"Анатолиевна"},{"surname":"Дудченко","name":"Ульяна","middle_name":"Георгиевна"},{"surname":"Якушин","name":"Валерьян","middle_name":"Эрнестович"},{"surname":"Эмануиль","name":"Гавриил","middle_name":"Григориевич"},{"surname":"Игнатова","name":"Оксана","middle_name":"Филипповна"},{"surname":"Ясинова","name":"Раиса","middle_name":"Ивановна"},{"surname":"Ажикелямова","name":"Владислава","middle_name":"Филипповна"},{"surname":"Ермишина","name":"Ярослава","middle_name":"Степановна"},{"surname":"Пичугина","name":"Инесса","middle_name":"Святославовна"},{"surname":"Тамахин","name":"Дмитрий","middle_name":"Григориевич"},{"surname":"Толбоева","name":"Зоя","middle_name":"Яновна"},{"surname":"Зёмина","name":"Владлена","middle_name":"Федоровна"},{"surname":"Глоба","name":"Стела","middle_name":"Борисовна"},{"surname":"Буданов","name":"Юлий","middle_name":"Викентиевич"},{"surname":"Бородин","name":"Виталий","middle_name":"Вячеславович"},{"surname":"Разбойникова","name":"Виктория","middle_name":"Никитевна"},{"surname":"Миронова","name":"Жанна","middle_name":"Несторовна"},{"surname":"Землякова","name":"Агата","middle_name":"Ильевна"},{"surname":"Скуратов","name":"Бронислав","middle_name":"Онисимович"},{"surname":"Толбанов","name":"Евдоким","middle_name":"Прокофиевич"},{"surname":"Ерзова","name":"Берта","middle_name":"Трофимовна"},{"surname":"Михайличенко","name":"Зиновий","middle_name":"Натанович"},{"surname":"Столярова","name":"Ираида","middle_name":"Владленовна"},{"surname":"Халипова","name":"Владлена","middle_name":"Елизаровна"},{"surname":"Муравей","name":"Евграф","middle_name":"Мартьянович"},{"surname":"Языкина","name":"Лада","middle_name":"Ильевна"},{"surname":"Арзамасцева","name":"Анисья","middle_name":"Потаповна"},{"surname":"Неделяев","name":"Ипполит","middle_name":"Богданович"},{"surname":"Мозговой","name":"Татьяна","middle_name":"Степановна"},{"surname":"Дешевых","name":"Изяслав","middle_name":"Ипатович"},{"surname":"Плюхина","name":"Алиса","middle_name":"Ефимовна"},{"surname":"Ямбаев","name":"Александр","middle_name":"Мартьянович"},{"surname":"Веденина","name":"Ульяна","middle_name":"Алексеевна"},{"surname":"Павлова","name":"Маргарита","middle_name":"Семеновна"},{"surname":"Сабитова","name":"Светлана","middle_name":"Игнатиевна"},{"surname":"Ярмолинский","name":"Тимур","middle_name":"Богданович"},{"surname":"Поздова","name":"Дарья","middle_name":"Василиевна"},{"surname":"Завьялова","name":"Лидия","middle_name":"Тимофеевна"},{"surname":"Нырко","name":"Данила","middle_name":"Никифорович"},{"surname":"Плахтюрин","name":"Геннадий","middle_name":"Платонович"},{"surname":"Тамило","name":"Кузьма","middle_name":"Ираклиевич"},{"surname":"Лукина","name":"Варвара","middle_name":"Давидовна"},{"surname":"Сьянова","name":"Виктория","middle_name":"Филипповна"},{"surname":"Мохов","name":"Андрон","middle_name":"Маркович"},{"surname":"Осин","name":"Аким","middle_name":"Федосиевич"},{"surname":"Сорокина","name":"Альбина","middle_name":"Никитевна"},{"surname":"Тетерина","name":"Людмила","middle_name":"Фомевна"},{"surname":"Вольпов","name":"Владилен","middle_name":"Еремеевич"},{"surname":"Абдулов","name":"Семен","middle_name":"Вячеславович"},{"surname":"Чебыкина","name":"Мирослава","middle_name":"Федотовна"},{"surname":"Кобелева","name":"Александра","middle_name":"Фомевна"},{"surname":"Киреев","name":"Петр","middle_name":"Измаилович"},{"surname":"Осипова","name":"Эльвира","middle_name":"Якововна"},{"surname":"Мальцев","name":"Даниил","middle_name":"Якубович"},{"surname":"Абоимова","name":"Нина","middle_name":"Ефимовна"},{"surname":"Мадулин","name":"Кузьма","middle_name":"Проклович"},{"surname":"Ковалев","name":"Рубен","middle_name":"Филиппович"},{"surname":"Львов","name":"Артур","middle_name":"Карлович"},{"surname":"Ефремова","name":"Галина","middle_name":"Елизаровна"},{"surname":"Разуваева","name":"Виктория","middle_name":"Николаевна"},{"surname":"Таттар","name":"Игнатий","middle_name":"Филимонович"},{"surname":"Жичкина","name":"Юлия","middle_name":"Германовна"},{"surname":"Салтанова","name":"Агата","middle_name":"Никитевна"},{"surname":"Смелоч","name":"Казимир","middle_name":"Дмитриевич"},{"surname":"Кутяков","name":"Чеслав","middle_name":"Ростиславович"},{"surname":"Невьянцев","name":"Ипполит","middle_name":"Маркович"},{"surname":"Николаева","name":"Галина","middle_name":"Давидовна"},{"surname":"Венедиктов","name":"Мстислав","middle_name":"Сидорович"},{"surname":"Дубов","name":"Бронислав","middle_name":"Семенович"},{"surname":"Букова","name":"Василиса","middle_name":"Петровна"},{"surname":"Ягемана","name":"Алиса","middle_name":"Петровна"},{"surname":"Куксюка","name":"Эльвира","middle_name":"Виталиевна"},{"surname":"Лашкина","name":"Ульяна","middle_name":"Серафимовна"},{"surname":"Рясной","name":"Бронислав","middle_name":"Герасимович"},{"surname":"Акимова","name":"Алиса","middle_name":"Ростиславовна"},{"surname":"Пашин","name":"Станислав","middle_name":"Никифорович"},{"surname":"Кузьмова","name":"Фаина","middle_name":"Кузьмевна"},{"surname":"Сластников","name":"Степан","middle_name":"Гаврилевич"},{"surname":"Масмех","name":"Казимир","middle_name":"Анатолиевич"},{"surname":"Агеев","name":"Афанасий","middle_name":"Георгиевич"},{"surname":"Прилуцкий","name":"Вячеслав","middle_name":"Гордеевич"},{"surname":"Бабкин","name":"Аким","middle_name":"Евграфович"},{"surname":"Курневича","name":"Галина","middle_name":"Захаровна"},{"surname":"Ибрагимова","name":"Александра","middle_name":"Карповна"},{"surname":"Кружкова","name":"Христина","middle_name":"Афанасиевна"},{"surname":"Буланова","name":"Алла","middle_name":"Константиновна"},{"surname":"Соломина","name":"Стела","middle_name":"Романовна"}]
\ No newline at end of file
diff --git a/target/test-classes/Deanery/DeaneryTest.class b/target/test-classes/Deanery/DeaneryTest.class
new file mode 100644
index 0000000..ee9307b
Binary files /dev/null and b/target/test-classes/Deanery/DeaneryTest.class differ
diff --git a/target/test-classes/Deanery/GroupTest.class b/target/test-classes/Deanery/GroupTest.class
new file mode 100644
index 0000000..02a1588
Binary files /dev/null and b/target/test-classes/Deanery/GroupTest.class differ
diff --git a/target/test-classes/Deanery/StudentTest.class b/target/test-classes/Deanery/StudentTest.class
new file mode 100644
index 0000000..3f6684c
Binary files /dev/null and b/target/test-classes/Deanery/StudentTest.class differ
diff --git a/testDeanery.json b/testDeanery.json
new file mode 100644
index 0000000..102c616
--- /dev/null
+++ b/testDeanery.json
@@ -0,0 +1 @@
+[{"students":[{"id":1000004,"marks":[5,4,2,5,5,3],"fio":"Цызырева Влада Елизаровна"},{"id":1000005,"marks":[2,5,4,2,5],"fio":"Дмитриев Вадим Андроникович"},{"id":1000010,"marks":[5,5,5,5,3],"fio":"Эсаулова Мирослава Андрияновна"}],"id":10001,"title":"АСУ-20-01","headId":1000010},{"students":[{"id":1000001,"marks":[4,5,5,5,3],"fio":"Янушкене Богдан Елисеевич"},{"id":1000003,"marks":[5,5,5,5,2],"fio":"Ерохин Назар Артемиевич"},{"id":1000006,"marks":[5,5,3,4,5],"fio":"Богачёв Гавриил Карлович"},{"id":1000007,"marks":[3,5,5,5,5],"fio":"Ямов Виктор Валерьянович"},{"id":1000008,"marks":[4,5,5,5,2],"fio":"Косинова Полина Кузьмевна"},{"id":1000009,"marks":[5,5,5,5,5],"fio":"Ханцев Федор Георгиевич"},{"id":1000011,"marks":[5,2,3,5,5,3],"fio":"Сидоров Иннокентий Юриевич"}],"id":10002,"title":"АСУ-20-02","headId":1000009}]
\ No newline at end of file