111 std::unique_ptr<LIB_SYMBOL> parentSymbol = std::make_unique<LIB_SYMBOL>( wxS(
"ParentSymbol" ) );
112 parentSymbol->GetValueField().SetText( wxS(
"ParentSymbol" ) );
113 parentSymbol->GetReferenceField().SetText( wxS(
"U" ) );
117 CreateTestEmbeddedFile( wxS(
"parent_datasheet.pdf" ),
"Parent datasheet content" );
118 parentSymbol->AddFile( parentFile );
120 BOOST_CHECK( parentSymbol->HasFile( wxS(
"parent_datasheet.pdf" ) ) );
126 plugin->CreateLibrary( GetLibPath() );
127 plugin->SaveSymbol( GetLibPath(),
new LIB_SYMBOL( *parentSymbol ) );
128 plugin->SaveLibrary( GetLibPath() );
134 LIB_SYMBOL* loadedParent = plugin->LoadSymbol( GetLibPath(), wxS(
"ParentSymbol" ) );
136 BOOST_CHECK( loadedParent->
HasFile( wxS(
"parent_datasheet.pdf" ) ) );
142 LIB_SYMBOL* loadedParent = plugin->LoadSymbol( GetLibPath(), wxS(
"ParentSymbol" ) );
145 std::unique_ptr<LIB_SYMBOL> derivedSymbol = std::make_unique<LIB_SYMBOL>( wxS(
"DerivedSymbol" ) );
146 derivedSymbol->GetValueField().SetText( wxS(
"DerivedSymbol" ) );
147 derivedSymbol->SetParent( loadedParent );
149 plugin->SaveSymbol( GetLibPath(),
new LIB_SYMBOL( *derivedSymbol ) );
150 plugin->SaveLibrary( GetLibPath() );
156 LIB_SYMBOL* loadedDerived = plugin->LoadSymbol( GetLibPath(), wxS(
"DerivedSymbol" ) );
160 BOOST_CHECK( !loadedDerived->
HasFile( wxS(
"parent_datasheet.pdf" ) ) );
168 LIB_SYMBOL* loadedParent = plugin->LoadSymbol( GetLibPath(), wxS(
"ParentSymbol" ) );
169 LIB_SYMBOL* loadedDerived = plugin->LoadSymbol( GetLibPath(), wxS(
"DerivedSymbol" ) );
171 loadedDerived->
SetParent( loadedParent );
174 CreateTestEmbeddedFile( wxS(
"derived_datasheet.pdf" ),
"Derived datasheet content" );
175 loadedDerived->
AddFile( derivedFile );
177 BOOST_CHECK( loadedDerived->
HasFile( wxS(
"derived_datasheet.pdf" ) ) );
179 plugin->SaveSymbol( GetLibPath(),
new LIB_SYMBOL( *loadedDerived ) );
180 plugin->SaveLibrary( GetLibPath() );
186 LIB_SYMBOL* loadedDerived = plugin->LoadSymbol( GetLibPath(), wxS(
"DerivedSymbol" ) );
188 BOOST_CHECK( loadedDerived->
HasFile( wxS(
"derived_datasheet.pdf" ) ) );
196 schematic.
SetRoot( rootSheet );
202 LIB_SYMBOL* loadedParent = plugin->LoadSymbol( GetLibPath(), wxS(
"ParentSymbol" ) );
203 LIB_SYMBOL* loadedDerived = plugin->LoadSymbol( GetLibPath(), wxS(
"DerivedSymbol" ) );
205 loadedDerived->
SetParent( loadedParent );
212 screen->
Append( schSymbol );
229 std::unique_ptr<LIB_SYMBOL> original = std::make_unique<LIB_SYMBOL>( wxS(
"Original" ) );
230 original->GetValueField().SetText( wxS(
"Original" ) );
233 CreateTestEmbeddedFile( wxS(
"test.pdf" ),
"Test content" );
234 original->AddFile( file );
239 std::unique_ptr<LIB_SYMBOL>
copy = std::make_unique<LIB_SYMBOL>( *original );
243 BOOST_CHECK(
copy->HasFile( wxS(
"test.pdf" ) ) );
247 BOOST_CHECK( copiedFile->
Validate() );
257 std::unique_ptr<LIB_SYMBOL> source = std::make_unique<LIB_SYMBOL>( wxS(
"Source" ) );
258 source->GetValueField().SetText( wxS(
"Source" ) );
261 CreateTestEmbeddedFile( wxS(
"source.pdf" ),
"Source content" );
262 source->AddFile( file );
265 std::unique_ptr<LIB_SYMBOL> dest = std::make_unique<LIB_SYMBOL>( wxS(
"Dest" ) );
266 dest->GetValueField().SetText( wxS(
"Dest" ) );
273 BOOST_CHECK( dest->HasFile( wxS(
"source.pdf" ) ) );
277 BOOST_CHECK( destFile->
Validate() );
wxString result
Test unit parsing edge cases and error handling.
BOOST_CHECK_EQUAL(result, "25.4")