83 std::vector<std::string> availableCommands_;
92 std::map<std::string, std::string> commandDescriptions_;
101 std::set<std::string> calledCommandHelp_;
110 std::shared_ptr<MockSubject> mockEventBus_;
119 bool wasGeneralHelpCalled_ =
false;
131 explicit MockHelpService(
const std::shared_ptr<MockSubject>& mockEventBus)
132 : mockEventBus_(mockEventBus) {
147 return availableCommands_;
162 auto it = commandDescriptions_.find(commandName);
163 if (it != commandDescriptions_.end()) {
166 return "No description available";
181 calledCommandHelp_.insert(commandName);
186 event.details =
"MockHelpService: Showing help for " + commandName;
187 event.source_name =
"help";
188 mockEventBus_->notify(event);
202 wasGeneralHelpCalled_ =
true;
207 event.details =
"MockHelpService: Showing general help";
208 event.source_name =
"help";
209 mockEventBus_->notify(event);
225 availableCommands_ = commands;
240 commandDescriptions_[commandName] = description;
255 return calledCommandHelp_.find(commandName) != calledCommandHelp_.end();
268 return wasGeneralHelpCalled_;
279 calledCommandHelp_.clear();
280 availableCommands_.clear();
281 commandDescriptions_.clear();
282 wasGeneralHelpCalled_ =
false;
Определяет структуру события, используемую для уведомлений по шаблону Observer.
bool wasGeneralHelpCalled() const
Проверяет, был ли вызван showGeneralHelp().
Определения MockHelpService.hxx:170
bool wasCommandHelpCalled(const std::string &commandName) const
Проверяет, был ли вызван showCommandHelp() для конкретной команды.
Определения MockHelpService.hxx:162
void clear()
Сбрасывает внутреннее состояние mock'а (вызванные команды, списки и описания).
Определения MockHelpService.hxx:177
void setAvailableCommands(const std::vector< std::string > &commands)
Устанавливает список имен команд, возвращаемых getAvailableCommands().
Определения MockHelpService.hxx:144
void showCommandHelp(const std::string &commandName)
Записывает, что справка была запрошена для заданной команды.
Определения MockHelpService.hxx:110
void showGeneralHelp()
Записывает, что была запрошена общая справка.
Определения MockHelpService.hxx:126
std::vector< std::string > getAvailableCommands() const
Возвращает предварительно настроенный список доступных команд.
Определения MockHelpService.hxx:88
std::string getCommandDescription(const std::string &commandName) const
Возвращает предварительно настроенное описание для заданной команды.
Определения MockHelpService.hxx:97
void setCommandDescription(const std::string &commandName, const std::string &description)
Настраивает описание для конкретного имени команды.
Определения MockHelpService.hxx:153
MockHelpService(const std::shared_ptr< MockSubject > &mockEventBus)
Конструктор для MockHelpService.
Определения MockHelpService.hxx:78
Mock реализация интерфейса ISubject для целей модульного тестирования.
Mock объекты и тестовые дубли для тестирования CLI команд.
Структура, описывающая событие, опубликованное ядром VCS.
Определения Event.hxx:27
@ DEBUG_MESSAGE
Отладочное сообщение для целей разработки.
Определения Event.hxx:90
Type type
Тип произошедшего события.
Определения Event.hxx:146