#include #include #include #include #include #include #include #include #include #include #include namespace { using namespace aethera; using namespace aethera::render_2d; template std::unique_ptr build_object(Arguments&&... arguments) { typename Object::template Builder builder(std::forward(arguments)...); auto result = builder.build(); if (!result) std::terminate(); return std::move(result).value(); } } TEST(partition_configuration, builder_and_runtime_share_the_authoritative_partition_properties) { using Frequency = Frequency_Axis; using Power = Numeric_Axis; using Time = Time_Axis; using Spectrum_Object = Spectrum; using Trace_Object = Frequency_Trace; using Sweep_Object = Sweep_Spectrum; using Afterglow_Object = Afterglow; using Constellation_Object = Constellation_Diagram; using Waterfall_Object = Waterfall; auto frequency = build_object(); auto power = build_object(); auto q_axis = build_object(); auto time = build_object