/Radioman

Домашнее задание к занятию «Объектно-ориентированное программирование и проектирование».Задача №2.

Primary LanguageJava

Домашнее задание к занятию «Объектно-ориентированное программирование и проектирование».

Что нужно сделать: по аналогии с кондиционером создайте класс Radio, в котором храните следующие поля:

  1. Номер текущей (прослушиваемой) радиостанции
  2. Громкость звука

Требования к работе с радиостанциями:

  1. Номер текущей радиостанции изменяется в пределах от 0 до 9
  2. Если текущая радиостанция - 9 и клиент нажал на кнопку next (следующая) на пульте, то текущей должна стать 0-ая
  3. Если текущая радиостанция - 0 и клиент нажал на кнопку prev (предыдущая) на пульте, то текущей должна стать 9-ая
  4. Клиент должен иметь возможность выставлять номер радиостанции с цифрового пульта (вводя числа 0 - 9)

Требования к работе с уровнем громкости звука:

  1. Клиент должен иметь возможность увеличивать и уменьшать уровень громкости звука (в пределах от 0 до 10)*
  2. Если уровень громкости звука достиг максимального значения, то дальнейшее нажатие на + не должно ни к чему приводить
  3. Если уровень громкости звука достиг минимального значения, то дальнейшее нажатие на - не должно ни к чему приводить

Создайте на базе проекта с лекции собственный проект (вы можете использовать проект из предыдущей задачи), в котором:

  1. Подключите плагин Surefire так, чтобы сборка падала в случае отсутсвия тестов
  2. Подключите плагин JaCoCo в режиме генерации отчётов (обрушать сборку по покрытию не нужно)
  3. Реализуйте нужные классы и методы
  4. Напишите автотесты на методы, содержащие логику, добившись 100% покрытия по branch'ам
  5. Подключите CI на базе Github Actions и выложите всё на Github