Covellite++
Version: 2.3.2 Revision: 2584 Platform: x64 Build: 19:03 05.09.2026
Кроссплатформенный фреймворк для разработки приложений на С++
Toggle main menu visibility
Загрузка...
Поиск...
Не найдено
Window.mock.hpp
1
2
#pragma once
3
#include <Covellite/Predefined.hpp>
4
#include <Covellite/Events.hpp>
5
#include <Covellite/App/IApplication.hpp>
6
#include <Covellite/App/IWindow.hpp>
7
#include <Covellite/Os/Configuration.mock.hpp>
8
#include <Covellite/Os/IWindow.hpp>
9
10
/*
11
An example of use:
12
13
using ExampleProxy_t = ::mock::covellite::Window::Proxy;
14
ExampleProxy_t ExampleProxy;
15
ExampleProxy_t::GetInstance() = &ExampleProxy;
16
17
const ::mock::Id_t ExampleId = 1607301544;
18
19
using namespace ::testing;
20
21
InSequence Dummy;
22
23
EXPECT_CALL(ExampleProxy, Constructor(Value1))
24
.Times(1)
25
.WillOnce(Return(ExampleId));
26
27
::mock::covellite::Window Example(Value1);
28
29
EXPECT_CALL(ExampleProxy, Function(ExampleId, Value2))
30
.Times(1)
31
.WillOnce(Return(Value3));
32
33
const auto Result = Example.Function(Value2);
34
EXPECT_EQ(Value3, Result);
35
*/
36
37
namespace
mock
38
{
39
40
namespace
covellite
41
{
42
43
namespace
os
44
{
45
46
class
Window :
47
public
::covellite::app::IWindow,
48
public
::covellite::os::IWindow
49
{
50
using
Any_t = ::covellite::Any_t;
51
using
Configuration_t = ::mock::covellite::os::Configuration;
52
using
IApplication_t = ::covellite::app::IApplication;
53
54
public
:
55
class
Proxy :
56
public
::alicorn::extension::testing::Proxy<Proxy>
57
{
58
public
:
59
MOCK_METHOD1(Constructor, Id_t(
const
IApplication_t *));
60
MOCK_METHOD1(GetHandle, Any_t(Id_t));
61
MOCK_METHOD1(GetClientRect, ::covellite::Rect(Id_t));
62
};
63
64
public
:
65
const
Id_t m_Id = 0;
66
Window & operator= (
const
Window &) =
delete
;
67
bool
operator== (
const
Window & _Value)
const
{
return
(m_Id == _Value.m_Id); }
68
69
public
:
70
// Интерфейс events::IEvents:
71
operator
Events_t (
void
)
const override
72
{
73
return
m_Events;
74
}
75
76
public
:
77
Any_t GetHandle(
void
)
const override
78
{
79
return
Proxy::GetInstance()->GetHandle(m_Id);
80
}
81
82
::covellite::Rect GetClientRect(
void
)
const override
83
{
84
return
Proxy::GetInstance()->GetClientRect(m_Id);
85
}
86
87
const
Configuration_t & GetConfiguration(
void
)
const override
88
{
89
throw::std::exception{};
90
}
91
92
private
:
93
Events_t m_Events;
94
95
public
:
96
Window(
const
IApplication_t & _Application) :
97
m_Id(Proxy::GetInstance()->Constructor(&_Application))
98
{
99
}
100
};
101
102
}
// namespace os
103
104
}
// namespace covellite
105
106
}
// namespace mock
Solution
Solution
Covellite.Os
Covellite.Os
Window.mock.hpp
Документация по Covellite++. Последние изменения:
. Создано системой
1.18.0