SVCS - Русская документация
Загрузка...
Поиск...
Не найдено
IntStatusCommandTest.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
49
54
74class StatusCommandTest : public ::testing::Test {
75protected:
85 void SetUp() override;
86
96 void TearDown() override;
97
109 void createTestFile(const std::string& filename, const std::string& content);
117
120 void createTestDirectory(const std::string& dirname);
121
131 void stageFiles(const std::vector<std::string>& files);
132
146 bool containsMessage(const std::vector<Event>& notifications, const std::string& message);
147
161 int countMessages(const std::vector<Event>& notifications, const std::string& message);
162
170 std::shared_ptr<MockSubject> mockEventBus;
171
179 std::shared_ptr<RepositoryManager> repoManager;
180
188 std::unique_ptr<StatusCommand> command;
189
197 std::filesystem::path testDir;
198};
199
200}
Объявление класса StatusCommand для отображения статуса репозитория.
Команда для отображения текущего статуса репозитория.
Определения StatusCommand.hxx:40
Управляет всеми физическими операциями с файлами и директориями в репозитории SVCS.
Определения RepositoryManager.hxx:78
Mock реализация ISubject для тестирования событийно-ориентированных компонентов.
Определения MockSubject.hxx:40
Google Test фикстур для запуска интеграционных тестов StatusCommand.
Определения IntStatusCommandTest.hxx:48
void stageFiles(const std::vector< std::string > &files)
Индексирует список файлов с использованием логики индексации RepositoryManager.
Определения IntStatusCommandTest.cxx:61
void createTestFile(const std::string &filename, const std::string &content)
Создает тестовый файл с указанным содержимым во временной директории.
Определения IntStatusCommandTest.cxx:51
void createTestDirectory(const std::string &dirname)
Создает тестовую директорию во временном расположении.
Определения IntStatusCommandTest.cxx:57
std::unique_ptr< StatusCommand > command
Уникальный указатель на тестируемую команду.
Определения IntStatusCommandTest.hxx:110
std::shared_ptr< MockSubject > mockEventBus
Общий указатель на mock шину событий (наблюдатель).
Определения IntStatusCommandTest.hxx:100
bool containsMessage(const std::vector< Event > &notifications, const std::string &message)
Проверяет, существует ли конкретное сообщение (подстрока) в любом уведомлении о событии.
Определения IntStatusCommandTest.cxx:67
std::filesystem::path testDir
Путь к временной тестовой директории репозитория.
Определения IntStatusCommandTest.hxx:115
void TearDown() override
Очищает тестовое окружение после каждого теста.
Определения IntStatusCommandTest.cxx:45
std::shared_ptr< RepositoryManager > repoManager
Общий указатель на компонент основной логики репозитория.
Определения IntStatusCommandTest.hxx:105
int countMessages(const std::vector< Event > &notifications, const std::string &message)
Подсчитывает количество вхождений конкретного сообщения (подстроки) во всех уведомлениях о событиях.
Определения IntStatusCommandTest.cxx:74
void SetUp() override
Настраивает тестовое окружение перед каждым тестом.
Определения IntStatusCommandTest.cxx:22
Mock реализация интерфейса ISubject для целей модульного тестирования.
Служебные классы и тестовые фикстуры для тестирования CLI команд.
Определения ClearCommandTest.cxx:16
Структура, описывающая событие, опубликованное ядром VCS.
Определения Event.hxx:27