KiCad PCB EDA Suite
Loading...
Searching...
No Matches
test_drc_courtyard_overlap.cpp File Reference

Go to the source code of this file.

Classes

struct  COURTYARD_COLLISION
 
struct  COURTYARD_OVERLAP_TEST_CASE
 A complete courtyard overlap test case: the board fixture to load and the expected collisions. More...
 

Functions

std::ostream & operator<< (std::ostream &os, const COURTYARD_COLLISION &aColl)
 
static bool CollisionMatchesExpected (BOARD &aBoard, const PCB_MARKER &aMarker, const COURTYARD_COLLISION &aCollision)
 Check if a PCB_MARKER is described by a particular COURTYARD_COLLISION object.
 
static void CheckCollisionsMatchExpected (BOARD &aBoard, const std::vector< std::unique_ptr< PCB_MARKER > > &aMarkers, const std::vector< COURTYARD_COLLISION > &aExpCollisions)
 Check that the produced markers match the expected.
 
static void DoCourtyardOverlapTest (const COURTYARD_OVERLAP_TEST_CASE &aCase)
 Run a single courtyard overlap testcase.
 
 BOOST_AUTO_TEST_CASE (OverlapCases)
 

Variables

static std::vector< COURTYARD_OVERLAP_TEST_CASEcourtyard_cases
 

Function Documentation

◆ BOOST_AUTO_TEST_CASE()

BOOST_AUTO_TEST_CASE ( OverlapCases )

◆ CheckCollisionsMatchExpected()

static void CheckCollisionsMatchExpected ( BOARD & aBoard,
const std::vector< std::unique_ptr< PCB_MARKER > > & aMarkers,
const std::vector< COURTYARD_COLLISION > & aExpCollisions )
static

Check that the produced markers match the expected.

This does NOT check ordering, as that is not part of the contract of the DRC function.

Parameters
aMarkerslist of markers produced by the DRC
aCollisionslist of expected collisions

Definition at line 146 of file test_drc_courtyard_overlap.cpp.

References BOOST_CHECK_PREDICATE(), KI_TEST::CheckUnorderedMatches(), CollisionMatchesExpected(), DRCE_OVERLAPPING_FOOTPRINTS, and KI_TEST::IsDrcMarkerOfType().

Referenced by DoCourtyardOverlapTest().

◆ CollisionMatchesExpected()

static bool CollisionMatchesExpected ( BOARD & aBoard,
const PCB_MARKER & aMarker,
const COURTYARD_COLLISION & aCollision )
static

◆ DoCourtyardOverlapTest()

◆ operator<<()

std::ostream & operator<< ( std::ostream & os,
const COURTYARD_COLLISION & aColl )

Variable Documentation

◆ courtyard_cases

std::vector<COURTYARD_OVERLAP_TEST_CASE> courtyard_cases
static

Definition at line 66 of file test_drc_courtyard_overlap.cpp.

Referenced by BOOST_AUTO_TEST_CASE().