24#include <boost/test/unit_test.hpp>
71 std::optional<int> opt = 100;
81 std::optional<int> opt;
89 std::optional<double> opt = 3.14;
92 BOOST_CHECK_CLOSE( d.
AsDouble(), 3.14, 0.001 );
94 std::optional<double>
empty;
104 BOOST_CHECK_CLOSE( d.
AsDouble(), 1.5, 0.001 );
113 BOOST_CHECK_CLOSE( d.
AsDouble(), 2.5, 0.001 );
121 BOOST_CHECK( d.
AsString() == wxS(
"hello" ) );
127 std::string s =
"world";
130 BOOST_CHECK( d.
AsString() == wxS(
"world" ) );
139 BOOST_CHECK( d.
AsKiid() == k );
148 BOOST_CHECK_CLOSE( d.
AsDouble(), 45.0, 0.001 );
168 BOOST_CHECK( d.
AsBox2I() == b );
178 BOOST_CHECK_CLOSE( out.
r, 0.5, 0.001 );
179 BOOST_CHECK_CLOSE( out.
g, 0.25, 0.001 );
180 BOOST_CHECK_CLOSE( out.
b, 0.125, 0.001 );
181 BOOST_CHECK_CLOSE( out.
a, 0.75, 0.001 );
198 struct Custom {
int n; };
209 wxAny out( wxString(
"untouched" ) );
211 BOOST_CHECK( out.As<wxString>() == wxS(
"untouched" ) );
235 BOOST_CHECK( out.As<
long long>() == 1234567890123LL );
243 BOOST_CHECK_CLOSE( out.As<
double>(), 2.5, 0.001 );
251 BOOST_CHECK( out.As<wxString>() == wxS(
"hi" ) );
260 BOOST_CHECK( out.As<
KIID>() == k );
269 BOOST_CHECK( out.As<
VECTOR2I>() == v );
278 BOOST_CHECK( out.As<
BOX2I>() == b );
A typed sum value used to carry the before/after of any single property.
static DIFF_VALUE FromLayer(PCB_LAYER_ID aLayer)
static DIFF_VALUE FromDouble(double aValue)
static DIFF_VALUE FromEnum(int aValue, const std::string &aLabel)
KIGFX::COLOR4D AsColor() const
static DIFF_VALUE FromInt64(int64_t aValue)
static DIFF_VALUE FromInt(int aValue)
static DIFF_VALUE FromBox2I(const BOX2I &aValue)
VECTOR2I AsVector2I() const
wxString AsString() const
static DIFF_VALUE FromKiid(const KIID &aValue)
static DIFF_VALUE FromColor(const KIGFX::COLOR4D &aValue)
static DIFF_VALUE FromBool(bool aValue)
static DIFF_VALUE FromString(const wxString &aValue)
PCB_LAYER_ID AsLayer() const
static DIFF_VALUE FromVector2I(const VECTOR2I &aValue)
A color representation with 4 components: red, green, blue, alpha.
static bool empty(const wxTextEntryBase *aCtrl)
PCB_LAYER_ID
A quick note on layer IDs:
bool DiffValueToWxAny(const DIFF_VALUE &aValue, wxAny &aOut)
Convert a DIFF_VALUE back into a wxAny a PROPERTY_BASE setter can consume.
DIFF_VALUE WxAnyToDiffValue(const wxAny &aValue, PROPERTY_BASE *aProperty)
Convert a wxAny value read from a PROPERTY_BASE getter into a DIFF_VALUE that the engine can store,...
BOOST_AUTO_TEST_CASE(HorizontalAlignment)
BOOST_AUTO_TEST_SUITE(CadstarPartParser)
BOOST_AUTO_TEST_SUITE_END()
BOOST_AUTO_TEST_CASE(WxAnyToDiffValue_Bool)
BOOST_CHECK_EQUAL(result, "25.4")
VECTOR2< int32_t > VECTOR2I