|
KiCad PCB EDA Suite
|
#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_LINE * | make_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 |
| 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 | ( | 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.
Definition at line 153 of file test_issue24134_bus_fork_at_entry.cpp.
References SCHEMATIC::AddTopLevelSheet(), SCH_SCREEN::Append(), BE_SIZE, BOOST_REQUIRE(), SCHEMATIC::BuildSheetListSortedByPageNumbers(), CONNECTION_GRAPH::GetSubgraphForItem(), SCHEMATIC::GetTopLevelSheet(), SCH_SCREEN::IsExplicitJunctionNeeded(), SETTINGS_MANAGER::LoadProject(), make_bus(), SETTINGS_MANAGER::Prj(), SCH_SHEET_PATH::push_back(), CONNECTION_GRAPH::Recalculate(), SCHEMATIC::RemoveTopLevelSheet(), SCHEMATIC::Reset(), CONNECTION_GRAPH::SetSchematic(), and SCH_SHEET::SetScreen().
| 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 | ( | 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().
Definition at line 53 of file test_issue24134_bus_fork_at_entry.cpp.
References LAYER_BUS, and SCH_LINE::SetEndPoint().
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().
|
staticconstexpr |
Definition at line 51 of file test_issue24134_bus_fork_at_entry.cpp.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().