23 lines
1.6 KiB
C++
23 lines
1.6 KiB
C++
#include <gtest/gtest.h>
|
|
#include "../strategy/low_latency/Low_Latency_Strategy_Test_Types.hpp"
|
|
struct Frame_Control_Concept_Frame {};
|
|
using Frame_Control_Concept_Manual = Manual_Refresh_Strategy<Frame_Control_Concept_Frame>;
|
|
using Frame_Control_Concept_Flow = Flow_Refresh_Strategy<Frame_Control_Concept_Frame>;
|
|
static_assert(Timed_Struct_Observer<Low_Latency_Test_Observer_State, Low_Latency_Test_Strategy::Observation>);
|
|
static_assert(Painter_Frame_Lease<Low_Latency_Test_Strategy::Painter_Lease, Low_Latency_Test_Strategy::Frame>);
|
|
static_assert(Render_Frame_Lease<Low_Latency_Test_Strategy::Render_Lease, Low_Latency_Test_Strategy::Frame>);
|
|
static_assert(Runtime_Frame_Control_Strategy<Low_Latency_Test_Strategy>);
|
|
static_assert(Runtime_Frame_Control_Strategy<Frame_Control_Concept_Manual>);
|
|
static_assert(Runtime_Frame_Control_Strategy<Frame_Control_Concept_Flow>);
|
|
static_assert(Frame_Lease_Strategy<Low_Latency_Test_Strategy>);
|
|
static_assert(Frame_Control_Strategy_For<Low_Latency_Test_Strategy, Low_Latency_Test_Frame>);
|
|
static_assert(Frame_Refresh_Strategy<Low_Latency_Test_Strategy>);
|
|
static_assert(Real_Time_Data_Aware_Frame_Strategy<Low_Latency_Test_Strategy>);
|
|
static_assert(Manual_Frame_Refresh_Strategy<Frame_Control_Concept_Manual>);
|
|
static_assert(Flow_Frame_Refresh_Strategy<Frame_Control_Concept_Flow>);
|
|
TEST(frame_control_concepts_test, concepts_compile) {
|
|
SUCCEED();
|
|
}
|
|
static_assert(noexcept(std::declval<Low_Latency_Test_Strategy&>().on_real_time_data_update(std::declval<const Real_Time_Data_Observation&>())));
|
|
static_assert(noexcept(std::declval<Low_Latency_Test_Strategy&>().discard_stale_latest_data_frame()));
|