55 wxString libraryPath = dataPath +
"GW_JTLMS1_CM.PcbLib";
57 std::unique_ptr<FOOTPRINT> footprint(
58 altiumPlugin.FootprintLoad( libraryPath, wxT(
"GW JTLMS1_CM" ),
false,
nullptr ) );
61 std::map<wxString, std::vector<PAD*>> padsByNumber;
63 for(
PAD*
pad : footprint->Pads() )
65 if( !
pad->GetNumber().IsEmpty() )
66 padsByNumber[
pad->GetNumber()].push_back(
pad );
70 std::map<wxString, VECTOR2I> expectedAnchors = {
75 for(
const auto& [number,
anchor] : expectedAnchors )
79 BOOST_REQUIRE_EQUAL( padsByNumber[number].size(), 1u );
81 PAD*
pad = padsByNumber[number].front();
88 bool hasPrimitive =
false;
92 if( !
pad->GetPrimitives( layer ).empty() )
99 BOOST_CHECK( hasPrimitive );
102 std::shared_ptr<SHAPE_POLY_SET> poly =
106 VECTOR2I outlineCenter = poly->BBox().GetCenter();
BOOST_CHECK_EQUAL(result, "25.4")