Tests merge #8
@@ -0,0 +1,97 @@
|
||||
расписание идет так: день недели, дата в скобках, расписание под каждую пару конкретно по времени. в одной паре может быть несколько под разные подгруппы. я их разделил знаком ";", в приложении они должны быть разделены перегородкой. все пары находятся в одной строке по времени. вместо <пусто> должно быть пустое место соответственно. выглядит типичное расписание как: День недели, Дата, Время пар - Название пары (Группа, Название, Тип, Преподаватель, Кабинет); Название пары ...
|
||||
|
|
||||
|
||||
Факультет автоматики и вычислительной техники (ОРУ)
|
||||
Группа: ИВТб-3304-05-00
|
||||
|
||||
Понедельник (14.09.26): <пусто, пар нет>
|
||||
Вторник (15.09.26): 08:20-09:50 - <пусто>
|
||||
10:00-11:30 - ИВТб-3304-05-00 Объектно-ориентированный анализ и проектирование Лекция Преподаватель -.П. 2-202; ИВТб-3304-05-00 Разработка Web-приложений Лекция Преподаватель -.П. 1-236
|
||||
11:45-13:15 - ИВТб-3304-05-00 Инструментальные средства проектирования компонентов вычислительной техники Лекция Семеновых В.И. 2-201; ИВТб-3304-05-00 Предметно-ориентированные автоматизированные информационные системы Лекция Прозорова Ю.А. 1-313; ИВТб-3304-05-00 Сценарное и функциональное программирование Лекция Преподаватель -.П. 1-311
|
||||
14:00-15:30 - ИВТб-3304-05-00 Инструментальные средства проектирования компонентов вычислительной техники Лабораторная работа Семеновых В.И. 2-201; ИВТб-3304-05-00 Предметно-ориентированные автоматизированные информационные системы Лабораторная работа Прозорова Ю.А. 1-236; ИВТб-3304-05-00 Сценарное и функциональное программирование Лабораторная работа Преподаватель -.П. 1-114
|
||||
15:45-17:15 - ИВТб-3304-05-00 Инструментальные средства проектирования компонентов вычислительной техники Лабораторная работа Семеновых В.И. 2-201; ИВТб-3304-05-00 Предметно-ориентированные автоматизированные информационные системы Лабораторная работа Прозорова Ю.А. 1-236; ИВТб-3304-05-00 Сценарное и функциональное программирование Лабораторная работа Преподаватель -.П. 1-114
|
||||
17:20-18:50 - <пусто>
|
||||
18:55-20:25 - <пусто>
|
||||
Среда (16.09.26): 08:20-09:50 - Введение в архитектуру ЭВМ Лекция Страбыкин Д.А. 1-242
|
||||
10:00-11:30 - Теория компиляторов и формальные грамматики Лекция Мельцов В.Ю. 1-242
|
||||
11:45-13:15 - <пусто>
|
||||
14:00-15:30 - <пусто>
|
||||
15:45-17:15 - <пусто>
|
||||
17:20-18:50 - <пусто>
|
||||
18:55-20:25 - <пусто>
|
||||
Четверг (17.09.26): 08:20-09:50 - <пусто>
|
||||
10:00-11:30 - <пусто>
|
||||
11:45-13:15 - ИВТб-3304-05-00, 01 подгруппа Элективные дисциплины (модули) по физической культуре и спорту Практическое занятие (11 131) Практическое занятие Трушкова Е.Л. 9-115; ИВТб-3304-05-00, 01 подгруппа Элективные дисциплины (модули) по физической культуре и спорту Практическое занятие (11 039) Практическое занятие Салопин О.М. 9-301 ИВТб-3304-05-00, 02 подгруппа Элективные дисциплины (модули) по физической культуре и спорту Практическое занятие (11 039) Практическое занятие Салопин О.М. 9-301; ИВТб-3304-05-00, 02 подгруппа Элективные дисциплины (модули) по физической культуре и спорту Практическое занятие (21 285) Практическое занятие Хвостенко С.Ю. 9-209.; ИВТб-3304-05-00, 01 подгруппа Элективные дисциплины (модули) по физической культуре и спорту Практическое занятие (11 124) Практическое занятие Пластинина В.Б. 9-208
|
||||
14:00-15:30 - Архитектура операционных систем и сервисное программное обеспечение Лекция Преподаватель -.П. 1-439
|
||||
15:45-17:15 - <пусто>
|
||||
17:20-18:50 - <пусто>
|
||||
18:55-20:25 - <пусто>
|
||||
Пятница (18.09.26): 08:20-09:50 - ИВТб-3304-05-00, 01 подгруппа Введение в архитектуру ЭВМ Лабораторная работа Страбыкин Д.А. 1-117; ИВТб-3304-05-00, 02 подгруппа Введение в архитектуру ЭВМ Лабораторная работа Страбыкин Д.А. 1-117_
|
||||
10:00-11:30 - ИВТб-3304-05-00, 01 подгруппа Введение в архитектуру ЭВМ Лабораторная работа Страбыкин Д.А. 1-117; ИВТб-3304-05-00, 02 подгруппа Введение в архитектуру ЭВМ Лабораторная работа Страбыкин Д.А. 1-117_
|
||||
11:45-13:15 - Введение в архитектуру ЭВМ Практическое занятие Страбыкин Д.А. 2-207
|
||||
14:00-15:30 - Философия Практическое занятие Коротышева Н.Н. 2-407
|
||||
15:45-17:15 - <пусто>
|
||||
17:20-18:50 - <пусто>
|
||||
18:55-20:25 - <пусто>
|
||||
Суббота (19.09.26): 08:20-09:50 - <пусто>
|
||||
10:00-11:30 - <пусто>
|
||||
11:45-13:15 - <пусто>
|
||||
14:00-15:30 - <пусто>
|
||||
15:45-17:15 - <пусто>
|
||||
17:20-18:50 - <пусто>
|
||||
18:55-20:25 - <пусто>
|
||||
Воскресенье (20.09.26): 08:20-09:50 - <пусто>
|
||||
10:00-11:30 - <пусто>
|
||||
11:45-13:15 - <пусто>
|
||||
14:00-15:30 - <пусто>
|
||||
15:45-17:15 - <пусто>
|
||||
17:20-18:50 - <пусто>
|
||||
18:55-20:25 - <пусто>
|
||||
Понедельник (21.09.26): 08:20-09:50 - <пусто>
|
||||
10:00-11:30 - ИВТб-3304-05-00, 01 подгруппа Теория компиляторов и формальные грамматики Лабораторная работа Караваева О.В. 2-308; ИВТб-3304-05-00, 02 подгруппа Теория компиляторов и формальные грамматики Лабораторная работа Караваева О.В. 2-308
|
||||
11:45-13:15 - ИВТб-3304-05-00, 01 подгруппа Теория компиляторов и формальные грамматики Лабораторная работа Караваева О.В. 2-308; ИВТб-3304-05-00, 02 подгруппа Теория компиляторов и формальные грамматики Лабораторная работа Караваева О.В. 2-308_
|
||||
14:00-15:30 - <пусто>
|
||||
15:45-17:15 - <пусто>
|
||||
17:20-18:50 - <пусто>
|
||||
18:55-20:25 - <пусто>
|
||||
Вторник (22.09.26): 08:20-09:50 - Объектно-ориентированный анализ и проектирование Практическое занятие Шмакова Н.А. 2-202
|
||||
10:00-11:30 - ИВТб-3304-05-00 Инструментальные средства проектирования компонентов вычислительной техники Лекция Семеновых В.И. 2-201; ИВТб-3304-05-00 Предметно-ориентированные автоматизированные информационные системы Лекция Прозорова Ю.А. 1-313; ИВТб-3304-05-00 Сценарное и функциональное программирование Лекция Преподаватель -.П. 1-311
|
||||
11:45-13:15 - ИВТб-3304-05-00 Объектно-ориентированный анализ и проектирование Лекция Преподаватель -.П. 2-202; ИВТб-3304-05-00 Проектирование систем на ПЛИС Лекция Крутиков А.К. 1-313; ИВТб-3304-05-00 Разработка Web-приложений Лекция Преподаватель -.П. 1-236
|
||||
14:00-15:30 - ИВТб-3304-05-00 Проектирование систем на ПЛИС Практическое занятие Крутиков А.К. 1-109; ИВТб-3304-05-00 Разработка Web-приложений Практическое занятие Пащенко Д.Э. 1-116
|
||||
15:45-17:15 - <пусто>
|
||||
17:20-18:50 - <пусто>
|
||||
18:55-20:25 - <пусто>
|
||||
Среда (23.09.26): 08:20-09:50 - Теория компиляторов и формальные грамматики Практическое занятие Караваева О.В. 2-201
|
||||
10:00-11:30 - Введение в архитектуру ЭВМ Лекция Страбыкин Д.А. 1-242
|
||||
11:45-13:15 - Архитектура операционных систем и сервисное программное обеспечение Лекция Преподаватель -.П. 1-242
|
||||
14:00-15:30 - <пусто>
|
||||
15:45-17:15 - <пусто>
|
||||
17:20-18:50 - <пусто>
|
||||
18:55-20:25 - <пусто>
|
||||
Четверг (24.09.26): 08:20-09:50 - <пусто>
|
||||
10:00-11:30 - <пусто>
|
||||
11:45-13:15 - ИВТб-3304-05-00, 01 подгруппа Элективные дисциплины (модули) по физической культуре и спорту Практическое занятие (11 131) Практическое занятие Трушкова Е.Л. 9-115; ИВТб-3304-05-00, 01 подгруппа Элективные дисциплины (модули) по физической культуре и спорту Практическое занятие (11 039) Практическое занятие Салопин О.М. 9-301 ИВТб-3304-05-00, 02 подгруппа Элективные дисциплины (модули) по физической культуре и спорту Практическое занятие (11 039) Практическое занятие Салопин О.М. 9-301; ИВТб-3304-05-00, 02 подгруппа Элективные дисциплины (модули) по физической культуре и спорту Практическое занятие (21 285) Практическое занятие Хвостенко С.Ю. 9-101; ИВТб-3304-05-00, 01 подгруппа Элективные дисциплины (модули) по физической культуре и спорту Практическое занятие (11 124) Практическое занятие Пластинина В.Б. 9-208
|
||||
14:00-15:30 - ИВТб-3304-05-00 Объектно-ориентированный анализ и проектирование Лабораторная работа Шмакова Н.А. 2-202; ИВТб-3304-05-00 Проектирование систем на ПЛИС Лабораторная работа Крутиков А.К. 1-239; ИВТб-3304-05-00 Разработка Web-приложений Лабораторная работа Пащенко Д.Э. 1-109
|
||||
15:45-17:15 - ИВТб-3304-05-00 Объектно-ориентированный анализ и проектирование Лабораторная работа Шмакова Н.А. 2-202; ИВТб-3304-05-00 Проектирование систем на ПЛИС Лабораторная работа Крутиков А.К. 1-239; ИВТб-3304-05-00 Разработка Web-приложений Лабораторная работа Пащенко Д.Э. 1-109
|
||||
17:20-18:50 - <пусто>
|
||||
18:55-20:25 - <пусто>
|
||||
Пятница (25.09.26): 08:20-09:50 - <пусто>
|
||||
10:00-11:30 - <пусто>
|
||||
11:45-13:15 - <пусто>
|
||||
14:00-15:30 - Теория компиляторов и формальные грамматики Лекция Мельцов В.Ю. 1-242
|
||||
15:45-17:15 - Архитектура операционных систем и сервисное программное обеспечение Лабораторная работа Караваева О.В. 2-201
|
||||
17:20-18:50 - Архитектура операционных систем и сервисное программное обеспечение Лабораторная работа Караваева О.В. 2-201
|
||||
18:55-20:25 - <пусто>
|
||||
Суббота (26.09.26): 08:20-09:50 - <пусто>
|
||||
10:00-11:30 - <пусто>
|
||||
11:45-13:15 - <пусто>
|
||||
14:00-15:30 - <пусто>
|
||||
15:45-17:15 - <пусто>
|
||||
17:20-18:50 - <пусто>
|
||||
18:55-20:25 - <пусто>
|
||||
Воскресенье (27.09.26): 08:20-09:50 - <пусто>
|
||||
10:00-11:30 - <пусто>
|
||||
11:45-13:15 - <пусто>
|
||||
14:00-15:30 - <пусто>
|
||||
15:45-17:15 - <пусто>
|
||||
17:20-18:50 - <пусто>
|
||||
18:55-20:25 - <пусто>
|
||||
Binary file not shown.
@@ -0,0 +1,82 @@
|
||||
package agzam.vyatsu.domain
|
||||
|
||||
import agzam.vyatsu.domain.model.Season
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertThrows
|
||||
import org.junit.Test
|
||||
import java.time.LocalDate
|
||||
import java.time.format.DateTimeParseException
|
||||
|
||||
class ScheduleDatesTest {
|
||||
|
||||
private val firstMonday = "14092026"
|
||||
|
||||
@Test
|
||||
fun asDate_parsesDdMmYyyy() {
|
||||
assertEquals(LocalDate.of(2026, 9, 14), ScheduleDates.asDate("14092026"))
|
||||
assertEquals(LocalDate.of(2026, 9, 1), ScheduleDates.asDate("01092026"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun asDate_wrongFormat_throws() {
|
||||
assertThrows(DateTimeParseException::class.java) {
|
||||
ScheduleDates.asDate("2026-09-14")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun dayIndexes_mondayOfFirstWeek_isZeroZero() {
|
||||
assertEquals(0 to 0, ScheduleDates.dayIndexes(firstMonday, LocalDate.of(2026, 9, 14)))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun dayIndexes_tuesdayToSaturday_areSameWeek() {
|
||||
assertEquals(0 to 1, ScheduleDates.dayIndexes(firstMonday, LocalDate.of(2026, 9, 15)))
|
||||
assertEquals(0 to 2, ScheduleDates.dayIndexes(firstMonday, LocalDate.of(2026, 9, 16)))
|
||||
assertEquals(0 to 3, ScheduleDates.dayIndexes(firstMonday, LocalDate.of(2026, 9, 17)))
|
||||
assertEquals(0 to 4, ScheduleDates.dayIndexes(firstMonday, LocalDate.of(2026, 9, 18)))
|
||||
assertEquals(0 to 5, ScheduleDates.dayIndexes(firstMonday, LocalDate.of(2026, 9, 19)))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun dayIndexes_sunday_movesToNextMonday() {
|
||||
assertEquals(1 to 0, ScheduleDates.dayIndexes(firstMonday, LocalDate.of(2026, 9, 20)))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun dayIndexes_secondWeek() {
|
||||
assertEquals(1 to 0, ScheduleDates.dayIndexes(firstMonday, LocalDate.of(2026, 9, 21)))
|
||||
assertEquals(1 to 1, ScheduleDates.dayIndexes(firstMonday, LocalDate.of(2026, 9, 22)))
|
||||
assertEquals(1 to 5, ScheduleDates.dayIndexes(firstMonday, LocalDate.of(2026, 9, 26)))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun dayIndexes_thirdCalendarWeek_wrapsToFirstScheduleWeek() {
|
||||
assertEquals(0 to 0, ScheduleDates.dayIndexes(firstMonday, LocalDate.of(2026, 9, 28)))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun dayIndexes_dateBeforeFirstMonday_isSecondScheduleWeek() {
|
||||
assertEquals(1 to 0, ScheduleDates.dayIndexes(firstMonday, LocalDate.of(2026, 9, 7)))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun dateByIndexes_composesFromFirstDate() {
|
||||
assertEquals(LocalDate.of(2026, 9, 14), ScheduleDates.dateByIndexes(firstMonday, 0, 0))
|
||||
assertEquals(LocalDate.of(2026, 9, 15), ScheduleDates.dateByIndexes(firstMonday, 0, 1))
|
||||
assertEquals(LocalDate.of(2026, 9, 21), ScheduleDates.dateByIndexes(firstMonday, 1, 0))
|
||||
assertEquals(LocalDate.of(2026, 9, 27), ScheduleDates.dateByIndexes(firstMonday, 1, 6))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun currentSeason_augustToDecember_isAutumn() {
|
||||
assertEquals(Season.AUTUMN, ScheduleDates.currentSeason(LocalDate.of(2026, 8, 1)))
|
||||
assertEquals(Season.AUTUMN, ScheduleDates.currentSeason(LocalDate.of(2026, 12, 31)))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun currentSeason_januaryToJuly_isSpring() {
|
||||
assertEquals(Season.SPRING, ScheduleDates.currentSeason(LocalDate.of(2026, 1, 1)))
|
||||
assertEquals(Season.SPRING, ScheduleDates.currentSeason(LocalDate.of(2026, 7, 31)))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user
это для чего