KiCad PCB EDA Suite
Loading...
Searching...
No Matches
test_issue24134_bus_fork_at_entry.cpp File Reference
#include <qa_utils/wx_utils/unit_test_utils.h>
#include <junction_helpers.h>
#include <connection_graph.h>
#include <sch_bus_entry.h>
#include <sch_junction.h>
#include <sch_line.h>
#include <sch_sheet.h>
#include <sch_sheet_path.h>
#include <sch_screen.h>
#include <schematic.h>
#include <settings/settings_manager.h>
#include <project.h>

Go to the source code of this file.

Functions

static SCH_LINEmake_bus (const VECTOR2I &aStart, const VECTOR2I &aEnd)
 
 BOOST_AUTO_TEST_CASE (BusForkAtBusEntryIsJunction)
 Junction analysis: a bus fork at a wire-to-bus entry root is a junction that the editor is allowed (and required) to dot.
 
 BOOST_AUTO_TEST_CASE (StraightBusWithEntryIsNotMultiBusFork)
 Regression guard: a straight bus that merely carries a bus entry (no fork) must NOT be flagged as a multi-bus junction.
 
 BOOST_AUTO_TEST_CASE (CrossingBusesAtEntryRootAreNotAFork)
 Regression guard: two buses merely crossing at a bus-entry root are not a fork and must not be auto-joined into a junction (they were unconnected crossings before this change).
 
 BOOST_AUTO_TEST_CASE (BusForkAtEntryConnectsToSameBus)
 End-to-end connectivity: with the fork junction in place, the forked bus must share the through bus's subgraph instead of becoming its own NO_NET net.
 

Variables

static constexpr int BE_SIZE = 25400
 

Function Documentation

◆ BOOST_AUTO_TEST_CASE() [1/4]

BOOST_AUTO_TEST_CASE ( BusForkAtBusEntryIsJunction )

Junction analysis: a bus fork at a wire-to-bus entry root is a junction that the editor is allowed (and required) to dot.

Definition at line 65 of file test_issue24134_bus_fork_at_entry.cpp.

References JUNCTION_HELPERS::AnalyzePoint(), BE_SIZE, info, EE_RTREE::insert(), and make_bus().

◆ BOOST_AUTO_TEST_CASE() [2/4]

◆ BOOST_AUTO_TEST_CASE() [3/4]

BOOST_AUTO_TEST_CASE ( CrossingBusesAtEntryRootAreNotAFork )

Regression guard: two buses merely crossing at a bus-entry root are not a fork and must not be auto-joined into a junction (they were unconnected crossings before this change).

Definition at line 122 of file test_issue24134_bus_fork_at_entry.cpp.

References JUNCTION_HELPERS::AnalyzePoint(), BE_SIZE, info, EE_RTREE::insert(), and make_bus().

◆ BOOST_AUTO_TEST_CASE() [4/4]

BOOST_AUTO_TEST_CASE ( StraightBusWithEntryIsNotMultiBusFork )

Regression guard: a straight bus that merely carries a bus entry (no fork) must NOT be flagged as a multi-bus junction.

Definition at line 102 of file test_issue24134_bus_fork_at_entry.cpp.

References JUNCTION_HELPERS::AnalyzePoint(), BE_SIZE, info, EE_RTREE::insert(), and make_bus().

◆ make_bus()

static SCH_LINE * make_bus ( const VECTOR2I & aStart,
const VECTOR2I & aEnd )
static

Variable Documentation

◆ BE_SIZE