61 std::vector<std::pair<wxString, wxString>> tests = {
62 {
"footprint-with-thermal-pad.cpa",
"footprint-with-thermal-pad.pretty" }
67 for(
const std::pair<wxString, wxString>& libName : tests )
69 wxString cstarLibraryPath = dataPath + libName.first;
70 wxString kicadLibraryPath = dataPath + libName.second;
72 wxArrayString cstarFootprintNames;
73 wxArrayString kicadFootprintNames;
75 BOOST_REQUIRE_NO_THROW(
76 cstarPlugin.FootprintEnumerate( cstarFootprintNames, cstarLibraryPath,
true,
nullptr ) );
77 BOOST_REQUIRE_NO_THROW(
78 kicadPlugin.FootprintEnumerate( kicadFootprintNames, kicadLibraryPath,
true,
nullptr ) );
80 BOOST_CHECK_EQUAL( cstarFootprintNames.GetCount(), kicadFootprintNames.GetCount() );
82 for(
size_t i = 0; i < cstarFootprintNames.GetCount(); i++ )
84 wxString footprintName = cstarFootprintNames[i];
90 FOOTPRINT* eagleFp = cstarPlugin.FootprintLoad( cstarLibraryPath, footprintName,
92 BOOST_CHECK( eagleFp );
97 FOOTPRINT* kicadFp = kicadPlugin.FootprintLoad( kicadLibraryPath, footprintName,
99 BOOST_CHECK( kicadFp );
115 wxString filePath = dataPath +
"revision7_format_no_routewidth.cpa";
117 BOARD* board =
nullptr;
119 BOOST_CHECK_NO_THROW( board = cstarPlugin.LoadBoard( filePath,
nullptr,
nullptr,
nullptr ) );
124 std::vector<PCB_TRACK*> tracks;
127 tracks.push_back( track );
130 BOOST_CHECK( tracks.size() > 0 );
134 const int expectedWidth =
pcbIUScale.mmToIU( 1.0 );
135 bool foundRouteCodeWidth =
false;
140 BOOST_CHECK( track->GetWidth() > 0 );
142 if( track->GetWidth() == expectedWidth )
143 foundRouteCodeWidth =
true;
147 BOOST_CHECK( foundRouteCodeWidth );
162 XNODE padReassign( wxXML_ELEMENT_NODE, wxT(
"PADREASSIGN" ) );
163 padReassign.
AddAttribute( wxT(
"attr0" ), wxT(
"TOP" ) );
164 padReassign.AddChild(
new XNODE( wxXML_ELEMENT_NODE, wxT(
"FUTURE_SHAPE" ) ) );
169 BOOST_CHECK_NO_THROW( padParser.
Parse( &padReassign, &ctx ) );
172 XNODE viaReassign( wxXML_ELEMENT_NODE, wxT(
"VIAREASSIGN" ) );
173 viaReassign.
AddAttribute( wxT(
"attr0" ), wxT(
"TOP" ) );
174 viaReassign.AddChild(
new XNODE( wxXML_ELEMENT_NODE, wxT(
"FUTURE_SHAPE" ) ) );
178 BOOST_CHECK_NO_THROW( viaParser.
Parse( &viaReassign, &ctx ) );
182 XNODE emptyReassign( wxXML_ELEMENT_NODE, wxT(
"PADREASSIGN" ) );
183 emptyReassign.
AddAttribute( wxT(
"attr0" ), wxT(
"TOP" ) );
187 BOOST_CHECK_NO_THROW( emptyParser.
Parse( &emptyReassign, &ctx ) );
188 BOOST_CHECK( !emptyParser.
HasShape );
BOOST_CHECK_EQUAL(result, "25.4")