Mock реализация ISubject для тестирования событийно-ориентированных компонентов.
Подробнее...
#include <MockSubject.hxx>
|
| 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 |
| | Возвращает константную ссылку на вектор уведомлений для проверки.
|
| virtual | ~ISubject ()=default |
| | Виртуальный деструктор.
|
|
|
std::vector< Event > | notifications |
| | Хранит историю всех событий, полученных через метод notify(), для проверки утверждений.
|
|
|
std::vector< IObserver * > | observers |
| | Коллекция зарегистрированных наблюдателей.
|
Mock реализация ISubject для тестирования событийно-ориентированных компонентов.
Этот mock позволяет тестовым случаям:
- Захватывать все события, опубликованные через метод notify().
- Проверять захваченные события на наличие определенных типов или сообщений.
- Очищать историю событий между тестовыми случаями.
- Проверять, что определенные события были опубликованы во время выполнения.
◆ 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 |
Проверяет, соответствует ли какое-либо захваченное уведомление указанному типу события.
- Аргументы
-
- Возвращает
- 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 | Событие для сохранения. |
Объявления и описания членов класса находятся в файле: