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