37struct ERC_REGRESSION_TEST_FIXTURE
39 ERC_REGRESSION_TEST_FIXTURE()
42 SETTINGS_MANAGER m_settingsManager;
43 std::unique_ptr<SCHEMATIC> m_schematic;
53 std::vector<std::pair<wxString, int>> tests =
58 for(
const std::pair<wxString, int>&
test : tests )
75 "Expected " <<
test.second <<
" errors in " <<
test.first.ToStdString()
76 <<
" but got " << errors.
GetCount() <<
"\n"
89 std::unique_ptr<SCHEMATIC> schematic;
94 std::vector<SCH_ITEM*> markers;
98 auto* marker =
static_cast<SCH_MARKER*
>( item );
104 markers.push_back( item );
107 BOOST_REQUIRE_EQUAL( markers.size(), 6 );
108 schematic->RecordERCExclusions();
114 schematic->RebuildConnectivity();
116 schematic->ResolveERCExclusionsPostUpdate();
121 const auto* marker =
static_cast<SCH_MARKER*
>( item );
126 BOOST_CHECK( marker->IsExcluded() );
static const ADVANCED_CFG & GetCfg()
Get the singleton instance's config, which is shared by all consumers.
EE_TYPE OfType(KICAD_T aType) const
wxString GetTextReport()
Returns the ERC report in "text" (human readable) format in the C-locale.
Container for ERC settings.
std::map< int, SEVERITY > m_ERCSeverities
Runs the electrical rules checks and adds a SCH_MARKER for each violation.
int TestFourWayJunction()
Test to see if there are potentially confusing 4-way junctions in the schematic.
Instantiate the current locale within a scope in which you are expecting exceptions to be thrown.
void SetExcluded(bool aExcluded, const wxString &aComment=wxEmptyString)
Base class for any item which can be embedded within the SCHEMATIC container class,...
EE_RTREE & Items()
Get the full RTree, usually for iterating.
void DeleteItem(SCH_ITEM *aItem)
Remove aItem from the linked list and deletes the object.
RAII class that sets an value at construction and resets it to the original value at destruction.
An implementation of the RC_ITEM_LIST interface which uses the global SHEETLIST to fulfill the contra...
int GetCount(int aSeverity=-1) const override
void SetSeverities(int aSeverities) override
@ ERCE_FOUR_WAY_JUNCTION
A four-way junction was found.
void LoadSchematic(SETTINGS_MANAGER &aSettingsManager, const wxString &aRelPath, std::unique_ptr< SCHEMATIC > &aSchematic)
std::vector< FAB_LAYER_COLOR > dummy
BOOST_FIXTURE_TEST_CASE(ERCFourWayJunctions, ERC_REGRESSION_TEST_FIXTURE)
BOOST_AUTO_TEST_CASE(ERCFourWayExclusionsSurviveCanonicalWitnesses)
BOOST_CHECK_EQUAL(result, "25.4")