SVCS - Русская документация
Загрузка...
Поиск...
Не найдено
IntHistoryCommandTest.hxx
См. документацию.
1
21
22#pragma once
23
24#include <gtest/gtest.h>
25#include <memory>
26#include <vector>
27#include <string>
28#include <filesystem>
29
32
48namespace svcs::test::cli::utils {
49
54
78class HistoryCommandTest : public ::testing::Test {
79protected:
89 void SetUp() override;
90
100 void TearDown() override;
101
113 void createTestFile(const std::string& filename, const std::string& content) const;
114
124 void createTestDirectory(const std::string& dirname) const;
127
135 void stageFiles(const std::vector<std::string>& files) const;
136
150 bool createTestCommit(const std::string& message);
151
165 static bool containsMessage(const std::vector<Event>& notifications, const std::string& message);
166
180 int countMessages(const std::vector<Event>& notifications, const std::string& message);
181
189 std::shared_ptr<MockSubject> mockEventBus;
190
198 std::shared_ptr<RepositoryManager> repoManager;
199
207 std::unique_ptr<HistoryCommand> command;
208
216 std::filesystem::path testDir;
217};
218
219}
Объявление класса HistoryCommand для просмотра истории сохранений (коммитов).
Команда для просмотра истории сохранений (коммитов) в репозитории.
Определения HistoryCommand.hxx:35
Управляет всеми физическими операциями с файлами и директориями в репозитории SVCS.
Определения RepositoryManager.hxx:78
Mock реализация ISubject для тестирования событийно-ориентированных компонентов.
Определения MockSubject.hxx:40
Google Test фикстур для запуска интеграционных тестов HistoryCommand.
Определения IntHistoryCommandTest.hxx:50
void createTestDirectory(const std::string &dirname) const
Создает тестовую директорию во временном расположении.
Определения IntHistoryCommandTest.cxx:54
std::shared_ptr< RepositoryManager > repoManager
Общий указатель на компонент основной логики репозитория.
Определения IntHistoryCommandTest.hxx:115
bool createTestCommit(const std::string &message)
Создает новый коммит (сохранение) с указанным сообщением.
Определения IntHistoryCommandTest.cxx:64
void SetUp() override
Настраивает тестовое окружение перед каждым тестом.
Определения IntHistoryCommandTest.cxx:21
std::shared_ptr< MockSubject > mockEventBus
Общий указатель на mock шину событий (наблюдатель).
Определения IntHistoryCommandTest.hxx:110
void stageFiles(const std::vector< std::string > &files) const
Индексирует список файлов с использованием логики индексации RepositoryManager.
Определения IntHistoryCommandTest.cxx:58
std::unique_ptr< HistoryCommand > command
Уникальный указатель на тестируемую команду.
Определения IntHistoryCommandTest.hxx:120
static bool containsMessage(const std::vector< Event > &notifications, const std::string &message)
Проверяет, существует ли конкретное сообщение (подстрока) в любом уведомлении о событии.
Определения IntHistoryCommandTest.cxx:69
void createTestFile(const std::string &filename, const std::string &content) const
Создает тестовый файл с указанным содержимым во временной директории.
Определения IntHistoryCommandTest.cxx:48
int countMessages(const std::vector< Event > &notifications, const std::string &message)
Подсчитывает количество вхождений конкретного сообщения (подстроки) во всех уведомлениях о событиях.
Определения IntHistoryCommandTest.cxx:77
void TearDown() override
Очищает тестовое окружение после каждого теста.
Определения IntHistoryCommandTest.cxx:42
std::filesystem::path testDir
Путь к временной тестовой директории репозитория.
Определения IntHistoryCommandTest.hxx:125
Mock реализация интерфейса ISubject для целей модульного тестирования.
Служебные классы и тестовые фикстуры для тестирования CLI команд.
Определения ClearCommandTest.cxx:16
Структура, описывающая событие, опубликованное ядром VCS.
Определения Event.hxx:27