SVCS - Русская документация
Загрузка...
Поиск...
Не найдено
IntRemoveCommandTest.hxx
См. документацию.
1
21
22#pragma once
23
26
27#include <gtest/gtest.h>
28#include <filesystem>
29#include <vector>
30#include <string>
31
46 */
47namespace svcs::test::cli::utils {
48
53
71class RemoveCommandTest : public ::testing::Test {
72protected:
82 void SetUp() override;
83
93 void TearDown() override;
94
106 void createTestFile(const std::string& filename, const std::string& content);
107
108
117 void createTestDirectory(const std::string& dirname);
118
130 void stageFiles(const std::vector<std::string>& files);
131
145 bool containsMessage(const std::vector<Event>& notifications, const std::string& message);
146
154 std::shared_ptr<MockSubject> mockEventBus;
155
163 std::shared_ptr<RepositoryManager> repoManager;
164
172 std::unique_ptr<RemoveCommand> command;
173
181 std::filesystem::path testDir;
182};
183
184}
Объявление класса RemoveCommand для удаления файлов из области подготовки.
Команда для удаления файлов из области подготовки.
Определения RemoveCommand.hxx:34
Управляет всеми физическими операциями с файлами и директориями в репозитории SVCS.
Определения RepositoryManager.hxx:78
Mock реализация ISubject для тестирования событийно-ориентированных компонентов.
Определения MockSubject.hxx:40
Google Test фикстур для запуска интеграционных тестов RemoveCommand.
Определения IntRemoveCommandTest.hxx:46
bool containsMessage(const std::vector< Event > &notifications, const std::string &message)
Проверяет, существует ли конкретное сообщение (подстрока) в любом уведомлении о событии.
Определения IntRemoveCommandTest.cxx:66
void createTestFile(const std::string &filename, const std::string &content)
Создает тестовый файл с указанным содержимым во временной директории.
Определения IntRemoveCommandTest.cxx:50
void createTestDirectory(const std::string &dirname)
Создает тестовую директорию во временном расположении.
Определения IntRemoveCommandTest.cxx:56
void SetUp() override
Настраивает тестовое окружение перед каждым тестом.
Определения IntRemoveCommandTest.cxx:21
std::shared_ptr< RepositoryManager > repoManager
Общий указатель на компонент основной логики репозитория.
Определения IntRemoveCommandTest.hxx:96
std::shared_ptr< MockSubject > mockEventBus
Общий указатель на mock шину событий (наблюдатель).
Определения IntRemoveCommandTest.hxx:91
std::filesystem::path testDir
Путь к временной тестовой директории репозитория.
Определения IntRemoveCommandTest.hxx:106
void stageFiles(const std::vector< std::string > &files)
Индексирует список файлов (используя логику команды add для удобства) в области индексации Repository...
Определения IntRemoveCommandTest.cxx:60
void TearDown() override
Очищает тестовое окружение после каждого теста.
Определения IntRemoveCommandTest.cxx:44
std::unique_ptr< RemoveCommand > command
Уникальный указатель на тестируемую команду.
Определения IntRemoveCommandTest.hxx:101
Mock реализация интерфейса ISubject для целей модульного тестирования.
Служебные классы и тестовые фикстуры для тестирования CLI команд.
Определения ClearCommandTest.cxx:16
Структура, описывающая событие, опубликованное ядром VCS.
Определения Event.hxx:27