122 r1->
GetFieldText( wxS(
"Value" ), &m_schematic->Hierarchy()[0], wxEmptyString );
129 SetVariantField( r1, wxS(
"ExplicitOnly" ), wxS(
"Value" ), wxS(
"220R" ) );
131 wxString value = r1->
GetFieldText( wxS(
"Value" ), &m_schematic->Hierarchy()[0],
132 wxS(
"ExplicitOnly" ) );
139 SetVariantField( r1, wxS(
"Multi" ), wxS(
"Value" ), wxS(
"470R" ) );
140 SetVariantField( r1, wxS(
"Multi" ), wxS(
"MPN" ), wxS(
"CUSTOM-MPN-123" ) );
142 wxString value = r1->
GetFieldText( wxS(
"Value" ), &m_schematic->Hierarchy()[0],
145 r1->
GetFieldText( wxS(
"MPN" ), &m_schematic->Hierarchy()[0], wxS(
"Multi" ) );
154 SetVariantField( r1, wxS(
"RefTest" ), wxS(
"Value" ), wxS(
"999R" ) );
156 wxString ref = r1->
GetFieldText( wxS(
"Reference" ), &m_schematic->Hierarchy()[0],
165 SetupVariantWithSymbolOverride( r1, wxS(
"BadAlt" ),
166 wxS(
"nonexistent_lib:no_such_symbol" ) );
168 wxString value = r1->
GetFieldText( wxS(
"Value" ), &m_schematic->Hierarchy()[0],
177 wxString value = r1->
GetFieldText( wxS(
"Value" ), &m_schematic->Hierarchy()[0],
178 wxS(
"NoSuchVariant" ) );
185 SetVariantField( r1, wxS(
"FPTest" ), wxS(
"Footprint" ),
186 wxS(
"Resistor_SMD:R_0805_2012Metric" ) );
188 wxString fp = r1->
GetFieldText( wxS(
"Footprint" ), &m_schematic->Hierarchy()[0],
196 SetVariantField( r1, wxS(
"NoFP" ), wxS(
"Value" ), wxS(
"330R" ) );
198 wxString fp = r1->
GetFieldText( wxS(
"Footprint" ), &m_schematic->Hierarchy()[0],
206 SetVariantField( r1, wxS(
"VarA" ), wxS(
"Value" ), wxS(
"1K" ) );
207 SetVariantField( r1, wxS(
"VarB" ), wxS(
"Value" ), wxS(
"10K" ) );
210 r1->
GetFieldText( wxS(
"Value" ), &m_schematic->Hierarchy()[0], wxS(
"VarA" ) );
212 r1->
GetFieldText( wxS(
"Value" ), &m_schematic->Hierarchy()[0], wxS(
"VarB" ) );
221 SetVariantField( r1, wxS(
"CacheA" ), wxS(
"Value" ), wxS(
"FIRST" ) );
223 wxString value1 = r1->
GetFieldText( wxS(
"Value" ), &m_schematic->Hierarchy()[0],
228 SetVariantField( r1, wxS(
"CacheA" ), wxS(
"Value" ), wxS(
"SECOND" ) );
230 wxString value2 = r1->
GetFieldText( wxS(
"Value" ), &m_schematic->Hierarchy()[0],
250 SetupVariantWithSymbolOverride( r1, wxS(
"RoundTrip" ), wxS(
"variant_test_lib:R_10K" ) );
252 wxString resolved = r1->
GetFieldText( wxS(
"Value" ), &sheet, wxS(
"RoundTrip" ) );
253 r1->
SetFieldText( wxS(
"Value" ), resolved, &sheet, wxS(
"RoundTrip" ) );
255 std::optional<SCH_SYMBOL_VARIANT> variant = r1->
GetVariant( sheet, wxS(
"RoundTrip" ) );
257 BOOST_CHECK( !variant->m_Fields.contains( wxS(
"Value" ) ) );
262 r1->
SetFieldText( wxS(
"Value" ), wxS(
"EDITED" ), &sheet, wxS(
"RoundTrip" ) );
264 std::optional<SCH_SYMBOL_VARIANT> variant = r1->
GetVariant( sheet, wxS(
"RoundTrip" ) );
266 BOOST_CHECK( variant->m_Fields.contains( wxS(
"Value" ) ) );
268 wxString baseValue = r1->
GetFieldText( wxS(
"Value" ), &sheet, wxEmptyString );
269 r1->
SetFieldText( wxS(
"Value" ), baseValue, &sheet, wxS(
"RoundTrip" ) );
271 variant = r1->
GetVariant( sheet, wxS(
"RoundTrip" ) );
273 BOOST_CHECK( !variant->m_Fields.contains( wxS(
"Value" ) ) );
BOOST_CHECK_EQUAL(result, "25.4")