57 BOOST_REQUIRE_EQUAL( m_board->Zones().size(), 1u );
59 const ZONE* zone = m_board->Zones().front();
64 int isolatedCount = 0;
69 bds.
m_DRCEngine = std::make_shared<DRC_ENGINE>( m_board.get(), &bds );
75 for(
int code = 0; code <
DRCE_LAST; ++code )
82 [&](
const std::shared_ptr<DRC_ITEM>& aItem,
const VECTOR2I& ,
int ,
General utilities for PCB file IO for QA programs.
Container for design settings for a BOARD object.
std::map< int, SEVERITY > m_DRCSeverities
std::shared_ptr< DRC_ENGINE > m_DRCEngine
void RunTests(EDA_UNITS aUnits, bool aReportAllTrackErrors, bool aTestFootprints, BOARD_COMMIT *aCommit=nullptr)
Run the DRC tests.
void SetViolationHandler(DRC_VIOLATION_HANDLER aHandler)
Set an optional DRC violation handler (receives DRC_ITEMs and positions).
void InitEngine(const wxFileName &aRulePath)
Initialize the DRC engine.
int OutlineCount() const
Return the number of outlines in the set.
Handle a list of polygons defining a copper zone.
std::shared_ptr< SHAPE_POLY_SET > GetFilledPolysList(PCB_LAYER_ID aLayer) const
ZONE_FILL_MODE GetFillMode() const
std::string GetPcbnewTestDataDir()
Utility which returns a path to the data directory where the test board files are stored.
std::unique_ptr< BOARD > ReadBoardFromFileOrStream(const std::string &aFilename, std::istream &aFallback)
Read a board from a file, or another stream, as appropriate.
DRC_COPPER_THIEVING_FIXTURE()
SETTINGS_MANAGER m_settingsManager
std::unique_ptr< BOARD > m_board
BOOST_FIXTURE_TEST_CASE(ThievingZoneProducesNoIsolatedCopperViolations, DRC_COPPER_THIEVING_FIXTURE)
A copper-thieving zone produces a grid of intentionally-isolated stamps.
BOOST_REQUIRE(intersection.has_value()==c.ExpectedIntersection.has_value())
BOOST_CHECK_EQUAL(result, "25.4")
VECTOR2< int32_t > VECTOR2I