SVCS - Русская документация
Загрузка...
Поиск...
Не найдено
Класс svcs::test::cli::mocks::MockSubject

Mock реализация ISubject для тестирования событийно-ориентированных компонентов. Подробнее...

#include <MockSubject.hxx>

Граф наследования:svcs::test::cli::mocks::MockSubject:
svcs::services::ISubject

Открытые члены

void attach (std::shared_ptr< IObserver > observer) override
 Выполняет требования интерфейса ISubject, но не выполняет никаких операций.
void detach (std::shared_ptr< IObserver > observer) override
 Выполняет требования интерфейса ISubject, но не выполняет никаких операций.
void notify (const Event &event) const override
 Захватывает событие во внутренний вектор уведомлений.
void clear ()
 Очищает все захваченные уведомления.
bool containsMessage (const std::string &message) const
 Проверяет, содержат ли детали любого захваченного уведомления указанную подстроку сообщения.
bool containsEventType (Event::Type type) const
 Проверяет, соответствует ли какое-либо захваченное уведомление указанному типу события.
void storeNotification (const Event &event)
 Сохраняет уведомление во внутреннем векторе (псевдоним для функциональности notify).
void clearNotifications ()
 Очищает все уведомления из внутреннего хранилища.
const std::vector< Event > & getNotifications () const
 Возвращает константную ссылку на вектор уведомлений для проверки.
Открытые члены унаследованные от svcs::services::ISubject
virtual ~ISubject ()=default
 Виртуальный деструктор.

Открытые атрибуты

std::vector< Eventnotifications
 Хранит историю всех событий, полученных через метод notify(), для проверки утверждений.

Дополнительные унаследованные члены

Защищенные данные унаследованные от svcs::services::ISubject
std::vector< IObserver * > observers
 Коллекция зарегистрированных наблюдателей.

Подробное описание

Mock реализация ISubject для тестирования событийно-ориентированных компонентов.

Этот mock позволяет тестовым случаям:

  1. Захватывать все события, опубликованные через метод notify().
  2. Проверять захваченные события на наличие определенных типов или сообщений.
  3. Очищать историю событий между тестовыми случаями.
  4. Проверять, что определенные события были опубликованы во время выполнения.

Методы

◆ attach()

void svcs::test::cli::mocks::MockSubject::attach ( std::shared_ptr< IObserver > observer)
inlineoverridevirtual

Выполняет требования интерфейса ISubject, но не выполняет никаких операций.

Аргументы
observerНаблюдатель для присоединения (не используется в mock).

Замещает svcs::services::ISubject.

◆ containsEventType()

bool svcs::test::cli::mocks::MockSubject::containsEventType ( Event::Type type) const
inlinenodiscard

Проверяет, соответствует ли какое-либо захваченное уведомление указанному типу события.

Аргументы
typeЗначение перечисления Event::Type для поиска.
Возвращает
true если найден событие указанного типа, false в противном случае.

◆ containsMessage()

bool svcs::test::cli::mocks::MockSubject::containsMessage ( const std::string & message) const
inlinenodiscard

Проверяет, содержат ли детали любого захваченного уведомления указанную подстроку сообщения.

Аргументы
messageПодстрока для поиска в деталях уведомлений.
Возвращает
true если найдено соответствующее сообщение, false в противном случае.

◆ detach()

void svcs::test::cli::mocks::MockSubject::detach ( std::shared_ptr< IObserver > observer)
inlineoverridevirtual

Выполняет требования интерфейса ISubject, но не выполняет никаких операций.

Аргументы
observerНаблюдатель для отсоединения (не используется в mock).

Замещает svcs::services::ISubject.

◆ getNotifications()

const std::vector< Event > & svcs::test::cli::mocks::MockSubject::getNotifications ( ) const
inlinenodiscard

Возвращает константную ссылку на вектор уведомлений для проверки.

Возвращает
Константная ссылка на вектор захваченных событий.

◆ notify()

void svcs::test::cli::mocks::MockSubject::notify ( const Event & event) const
inlineoverridevirtual

Захватывает событие во внутренний вектор уведомлений.

Это основная тестовая функция, позволяющая тестовым случаям проверять, что были опубликованы правильные события.

Аргументы
eventКонстантная ссылка на структуру события для захвата.

Замещает svcs::services::ISubject.

◆ storeNotification()

void svcs::test::cli::mocks::MockSubject::storeNotification ( const Event & event)
inline

Сохраняет уведомление во внутреннем векторе (псевдоним для функциональности notify).

Аргументы
eventСобытие для сохранения.

Объявления и описания членов класса находятся в файле: