Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
Common_test.hpp
1
2#pragma once
3
4class Layer_test :
5 public ::testing::Test
6{
7protected:
8 using Tested_t = ::covellite::gui::Layer;
9 using ITested_t = ::covellite::gui::ILayer;
10 using Context_t = ::mock::CovelliteGui::Context;
11 using Document_t = ::mock::CovelliteGui::ElementDocument;
12 using DocumentPtr_t = ::std::unique_ptr<Document_t, void(*)(Document_t *)>;
13 using String_t = ::mock::CovelliteGui::String;
14 using Path_t = ::boost::filesystem::path;
15
16 // Вызывается ПЕРЕД запуском каждого теста
17 void SetUp(void) override
18 {
19 ::testing::DefaultValue<String_t>::Set("DefaultString");
20 }
21
22 // Вызывается ПОСЛЕ запуска каждого теста
23 void TearDown(void) override
24 {
25 ::testing::DefaultValue<String_t>::Clear();
26 }
27
28protected:
29 class Tested :
30 public Tested_t
31 {
32 public:
33 static const int Message1 = 1807272031;
34 static const int Message2 = 1807272032;
35
36 public:
37 MOCK_METHOD0(DoMessage1, void(void));
38 MOCK_METHOD0(DoMessage2, void(void));
39
40 public:
41 Tested(::covellite::gui::IWindow & _Window, const Path_t & _Path) :
42 Tested_t(_Window, _Path)
43 {
44 m_Events[Message1].Connect([&]() { DoMessage1(); });
45 m_Events[::covellite::events::Error.Exception].Connect([]() { });
46 }
47 Tested(::covellite::gui::IWindow & _Window, const Path_t & _Path,
48 const ::std::string & _TitleId) :
49 Tested_t(_Window, _Path, _TitleId)
50 {
51 m_Events[Message2].Connect([&]() { DoMessage2(); });
52 }
53 };
54
55 class Window :
57 {
58 public:
59 operator Events_t (void) const override { return m_Events; }
60 DocumentPtr_t LoadDocument(const PathToFile_t & _Path) override
61 {
62 return DocumentPtr_t{ DoLoadDocument(_Path), [](Document_t *) {} };
63 }
64
65 MOCK_METHOD1(DoLoadDocument, Document_t * (const PathToFile_t &));
66
67 public:
68 Events_t m_Events;
69 };
70};
Класс входит в проект Covellite.Gui Интерфейсный класс слоя (текущего отображаемого экрана).
Definition ILayer.hpp:26
Класс входит в проект Covellite.Gui Интерфесный класс окна, отображающего элементы GUI.
Definition IWindow.hpp:31
Класс входит в проект Covellite.Gui Класс одного слоя (пользовательского экрана) программы.
Definition Layer.hpp:39