26#include <gtest/gtest.h>
87 void SetUp()
override;
111 void createTestFile(
const std::string& filename,
const std::string& content)
const;
133 void stageFiles(
const std::vector<std::string>& files);
163 static bool containsMessage(
const std::vector<Event>& notifications,
const std::string& message);
178 static int countMessages(
const std::vector<Event>& notifications,
const std::string& message);
218 std::unique_ptr<UndoCommand>
command;
Объявление класса UndoCommand для отмены изменений.
Команда для возврата состояния репозитория к предыдущему коммиту.
Определения UndoCommand.hxx:40
Управляет всеми физическими операциями с файлами и директориями в репозитории SVCS.
Определения RepositoryManager.hxx:78
Mock реализация ISubject для тестирования событийно-ориентированных компонентов.
Определения MockSubject.hxx:40
Google Test фикстур для запуска интеграционных тестов UndoCommand.
Определения IntUndoCommandTest.hxx:49
std::unique_ptr< UndoCommand > command
Уникальный указатель на тестируемую команду.
Определения IntUndoCommandTest.hxx:126
bool createTestCommit(const std::string &message)
Создает новый коммит (сохранение) с указанным сообщением.
Определения IntUndoCommandTest.cxx:66
std::shared_ptr< MockSubject > mockEventBus
Общий указатель на mock шину событий (наблюдатель/имитатор ввода).
Определения IntUndoCommandTest.hxx:116
void SetUp() override
Настраивает тестовое окружение перед каждым тестом.
Определения IntUndoCommandTest.cxx:23
static bool containsMessage(const std::vector< Event > ¬ifications, const std::string &message)
Проверяет, существует ли конкретное сообщение (подстрока) в любом уведомлении о событии.
Определения IntUndoCommandTest.cxx:71
void createTestDirectory(const std::string &dirname) const
Создает тестовую директорию во временном расположении.
Определения IntUndoCommandTest.cxx:56
static int countMessages(const std::vector< Event > ¬ifications, const std::string &message)
Подсчитывает количество вхождений конкретного сообщения (подстроки) во всех уведомлениях о событиях.
Определения IntUndoCommandTest.cxx:78
std::shared_ptr< RepositoryManager > repoManager
Общий указатель на компонент основной логики репозитория.
Определения IntUndoCommandTest.hxx:121
void stageFiles(const std::vector< std::string > &files)
Индексирует список файлов с использованием логики индексации RepositoryManager.
Определения IntUndoCommandTest.cxx:60
std::filesystem::path testDir
Путь к временной тестовой директории репозитория.
Определения IntUndoCommandTest.hxx:131
static void simulateUserInput(const std::string &input)
Имитирует пользовательский ввод, помещая строку в очередь ввода mock шины событий.
Определения IntUndoCommandTest.cxx:85
void TearDown() override
Очищает тестовое окружение после каждого теста.
Определения IntUndoCommandTest.cxx:44
void createTestFile(const std::string &filename, const std::string &content) const
Создает тестовый файл с указанным содержимым во временной директории.
Определения IntUndoCommandTest.cxx:50
Mock реализация интерфейса ISubject для целей модульного тестирования.
Служебные классы и тестовые фикстуры для тестирования CLI команд.
Определения ClearCommandTest.cxx:16
Структура, описывающая событие, опубликованное ядром VCS.
Определения Event.hxx:27