KiCad PCB EDA Suite
Loading...
Searching...
No Matches
test_multichannel.cpp File Reference
#include <qa_utils/wx_utils/unit_test_utils.h>
#include <pcbnew_utils/board_test_utils.h>
#include <board.h>
#include <board_design_settings.h>
#include <pad.h>
#include <pcb_track.h>
#include <pcb_text.h>
#include <pcb_field.h>
#include <footprint.h>
#include <zone.h>
#include <drc/drc_item.h>
#include <settings/settings_manager.h>
#include <tools/multichannel_tool.h>
#include <connectivity/topo_match.h>
#include <lib_id.h>

Go to the source code of this file.

Classes

struct  MULTICHANNEL_TEST_FIXTURE
 
class  MOCK_TOOLS_HOLDER
 

Functions

RULE_AREAfindRuleAreaByPartialName (MULTICHANNEL_TOOL *aTool, const wxString &aName)
 
 BOOST_FIXTURE_TEST_CASE (MultichannelToolRegressions, MULTICHANNEL_TEST_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (RepeatLayoutCopiesFootprintProperties, MULTICHANNEL_TEST_FIXTURE)
 Test that repeat layout copies footprint properties including field visibility, text positions, and 3D models (issue 22548).
 
 BOOST_FIXTURE_TEST_CASE (RepeatLayoutDoesNotRemoveReferenceVias, MULTICHANNEL_TEST_FIXTURE)
 Test that repeat layout does not remove vias from the reference area when a copper zone has the same name as one of the rule areas (issue 21184).
 
 BOOST_FIXTURE_TEST_CASE (TopologyMatchDottedRefDes, MULTICHANNEL_TEST_FIXTURE)
 Test that topology matching works correctly with dotted reference designators used in multi-channel designs (issue 20058).
 

Function Documentation

◆ BOOST_FIXTURE_TEST_CASE() [1/4]

◆ BOOST_FIXTURE_TEST_CASE() [2/4]

◆ BOOST_FIXTURE_TEST_CASE() [3/4]

BOOST_FIXTURE_TEST_CASE ( RepeatLayoutDoesNotRemoveReferenceVias ,
MULTICHANNEL_TEST_FIXTURE  )

Test that repeat layout does not remove vias from the reference area when a copper zone has the same name as one of the rule areas (issue 21184).

The bug occurred because enclosedByArea() matched zones by name, and when a copper fill zone shared a name with a rule area, items enclosed by either zone could be incorrectly affected.

Definition at line 342 of file test_multichannel.cpp.

References BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), BOOST_TEST_MESSAGE(), MULTICHANNEL_TOOL::CheckRACompatibility(), SHAPE_POLY_SET::Contains(), MULTICHANNEL_TOOL::FindExistingRuleAreas(), MULTICHANNEL_TOOL::GetData(), KI_TEST::LoadBoard(), RULE_AREA::m_ruleName, RULE_AREA::m_zone, ZONE::Outline(), PCB_VIA_T, TOOL_MANAGER::RegisterTool(), MULTICHANNEL_TOOL::RepeatLayout(), result, TOOL_MANAGER::SetEnvironment(), and via.

◆ BOOST_FIXTURE_TEST_CASE() [4/4]

BOOST_FIXTURE_TEST_CASE ( TopologyMatchDottedRefDes ,
MULTICHANNEL_TEST_FIXTURE  )

Test that topology matching works correctly with dotted reference designators used in multi-channel designs (issue 20058).

Reference designators like TRIM_1.1 and TRIM_2.1 should be considered the same kind because they share the base prefix "TRIM_".

Definition at line 434 of file test_multichannel.cpp.

References FOOTPRINT::Add(), BOOST_CHECK_EQUAL(), BOOST_TEST_MESSAGE(), FOOTPRINT::Pads(), result, FOOTPRINT::SetFPID(), BOARD_CONNECTED_ITEM::SetNetCode(), PAD::SetNumber(), and FOOTPRINT::SetReference().

◆ findRuleAreaByPartialName()

RULE_AREA * findRuleAreaByPartialName ( MULTICHANNEL_TOOL * aTool,
const wxString & aName )