|
KiCad PCB EDA Suite
|
#include <qa_utils/wx_utils/unit_test_utils.h>#include <pcbnew_utils/board_test_utils.h>#include <diff_merge/pcb_differ.h>#include <diff_merge/pcb_merge_applier.h>#include <diff_merge/kicad_merge_engine.h>#include <board.h>#include <board_item.h>#include <pad.h>#include <pcb_field.h>#include <pcb_track.h>#include <footprint.h>#include <zone.h>#include <project/project_file.h>#include <settings/settings_manager.h>Go to the source code of this file.
Classes | |
| struct | PCB_APPLIER_FIXTURE |
| Three-board fixture: ancestor, ours, theirs all start from the same fixture load. More... | |
Functions | |
| BOOST_AUTO_TEST_CASE (IdenticalInputsProduceIdenticalOutput) | |
| BOOST_AUTO_TEST_CASE (DrawingSheetResolutionMarksOnlyDrawingSheetProjectField) | |
| BOOST_AUTO_TEST_CASE (OneSidedAddedItemFlowsThroughToMerge) | |
| BOOST_AUTO_TEST_CASE (TakeOursAppliesOurChange) | |
| BOOST_AUTO_TEST_CASE (DeleteRemovesItemFromMergedBoard) | |
| BOOST_AUTO_TEST_CASE (ApplierReportTracksZoneRefillFlag) | |
| BOOST_AUTO_TEST_CASE (TakeTheirsZonePreservesTheirsPriorityAndKeepout) | |
| BOOST_AUTO_TEST_CASE (MergePropsFallsBackToOursOnConflictingFields) | |
| BOOST_AUTO_TEST_CASE (MergePropsResolutionKindsAndFailedCount) | |
| BOOST_AUTO_TEST_CASE (ResolvesFootprintChildByKiid) | |
| BOOST_AUTO_TEST_CASE (ChildAddedOnTheirsSurvivesMerge) | |
| BOOST_AUTO_TEST_CASE (ChildTakeOursResolutionReplacesAncestorChild) | |
| BOOST_AUTO_TEST_CASE (ChildDeleteResolutionRemovesChildFromMerge) | |
| BOOST_AUTO_TEST_CASE | ( | ApplierReportTracksZoneRefillFlag | ) |
Definition at line 268 of file test_pcb_merge_applier.cpp.
References KICAD_DIFF::PCB_MERGE_APPLIER::Apply(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), KICAD_DIFF::PCB_DIFFER::Diff(), KICAD_DIFF::PCB_MERGE_APPLIER::GetReport(), KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), KICAD_DIFF::MERGE_PLAN::requiresConnectivityRebuild, KICAD_DIFF::PCB_MERGE_APPLIER::REPORT::requiresConnectivityRebuild, KICAD_DIFF::MERGE_PLAN::requiresZoneRefill, and KICAD_DIFF::PCB_MERGE_APPLIER::REPORT::requiresZoneRefill.
| BOOST_AUTO_TEST_CASE | ( | ChildAddedOnTheirsSurvivesMerge | ) |
Definition at line 610 of file test_pcb_merge_applier.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, KICAD_DIFF::PCB_MERGE_APPLIER::Apply(), BOOST_REQUIRE(), KICAD_DIFF::ITEM_RESOLUTION::id, KICAD_DIFF::ITEM_RESOLUTION::kind, EDA_ITEM::m_Uuid, NORMAL, pad, FOOTPRINT::Remove(), and KICAD_DIFF::TAKE_THEIRS.
| BOOST_AUTO_TEST_CASE | ( | ChildDeleteResolutionRemovesChildFromMerge | ) |
Definition at line 741 of file test_pcb_merge_applier.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, KICAD_DIFF::PCB_MERGE_APPLIER::Apply(), BOOST_REQUIRE(), KICAD_DIFF::DELETE_ITEM, KICAD_DIFF::ITEM_RESOLUTION::id, KICAD_DIFF::ITEM_RESOLUTION::kind, EDA_ITEM::m_Uuid, and pad.
| BOOST_AUTO_TEST_CASE | ( | ChildTakeOursResolutionReplacesAncestorChild | ) |
Definition at line 670 of file test_pcb_merge_applier.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, KICAD_DIFF::PCB_MERGE_APPLIER::Apply(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), PAD::GetNumber(), KICAD_DIFF::ITEM_RESOLUTION::id, KICAD_DIFF::ITEM_RESOLUTION::kind, EDA_ITEM::m_Uuid, pad, and KICAD_DIFF::TAKE_OURS.
| BOOST_AUTO_TEST_CASE | ( | DeleteRemovesItemFromMergedBoard | ) |
Definition at line 213 of file test_pcb_merge_applier.cpp.
References KICAD_DIFF::PCB_MERGE_APPLIER::Apply(), BOOST_REQUIRE(), KICAD_DIFF::PCB_DIFFER::Diff(), KICAD_DIFF::PCB_MERGE_APPLIER::GetReport(), KICAD_DIFF::PCB_MERGE_APPLIER::REPORT::itemsDeleted, EDA_ITEM::m_Uuid, NORMAL, PCB_TRACE_T, and KICAD_DIFF::KICAD_MERGE_ENGINE::Plan().
| BOOST_AUTO_TEST_CASE | ( | DrawingSheetResolutionMarksOnlyDrawingSheetProjectField | ) |
Definition at line 94 of file test_pcb_merge_applier.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, KICAD_DIFF::PCB_MERGE_APPLIER::Apply(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), KICAD_DIFF::PCB_MERGE_APPLIER::REPORT::drawingSheetFile, KICAD_DIFF::PCB_MERGE_APPLIER::REPORT::drawingSheetFileSet, KICAD_DIFF::PCB_MERGE_APPLIER::REPORT::drcSeveritiesTouched, KICAD_DIFF::PCB_MERGE_APPLIER::GetReport(), KICAD_DIFF::PCB_MERGE_APPLIER::REPORT::netClassesTouched, KICAD_DIFF::PCB_MERGE_APPLIER::REPORT::projectFileTouched, and KICAD_DIFF::TAKE_OURS.
| BOOST_AUTO_TEST_CASE | ( | IdenticalInputsProduceIdenticalOutput | ) |
Definition at line 72 of file test_pcb_merge_applier.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, KICAD_DIFF::PCB_MERGE_APPLIER::Apply(), BOOST_AUTO_TEST_CASE(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), KICAD_DIFF::PCB_DIFFER::Diff(), KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), and KICAD_DIFF::MERGE_PLAN::Resolved().
| BOOST_AUTO_TEST_CASE | ( | MergePropsFallsBackToOursOnConflictingFields | ) |
Definition at line 350 of file test_pcb_merge_applier.cpp.
References KICAD_DIFF::PCB_MERGE_APPLIER::Apply(), BOOST_REQUIRE(), KICAD_DIFF::PCB_DIFFER::Diff(), PCB_TRACK::GetWidth(), EDA_ITEM::m_Uuid, PCB_TRACE_T, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), PCB_TRACK::SetWidth(), and SetWidth().
| BOOST_AUTO_TEST_CASE | ( | MergePropsResolutionKindsAndFailedCount | ) |
Definition at line 413 of file test_pcb_merge_applier.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, KICAD_DIFF::ANCESTOR, KICAD_DIFF::PCB_MERGE_APPLIER::Apply(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), KICAD_DIFF::CUSTOM, KICAD_DIFF::PROPERTY_RESOLUTION::customValue, KICAD_DIFF::DIFF_VALUE::FromInt(), PCB_TRACK::GetEndX(), PCB_TRACK::GetEndY(), KICAD_DIFF::PCB_MERGE_APPLIER::GetReport(), PCB_TRACK::GetStartX(), PCB_TRACK::GetWidth(), KICAD_DIFF::ITEM_RESOLUTION::id, KICAD_DIFF::ITEM_RESOLUTION::kind, KICAD_DIFF::PROPERTY_RESOLUTION::kind, EDA_ITEM::m_Uuid, KICAD_DIFF::MERGE_PROPS, KICAD_DIFF::PROPERTY_RESOLUTION::name, KICAD_DIFF::OURS, PCB_TRACE_T, KICAD_DIFF::PCB_MERGE_APPLIER::REPORT::propertiesApplied, KICAD_DIFF::PCB_MERGE_APPLIER::REPORT::propertiesFailed, KICAD_DIFF::ITEM_RESOLUTION::props, res, PCB_TRACK::SetStartX(), PCB_TRACK::SetWidth(), and KICAD_DIFF::THEIRS.
| BOOST_AUTO_TEST_CASE | ( | OneSidedAddedItemFlowsThroughToMerge | ) |
Definition at line 119 of file test_pcb_merge_applier.cpp.
References KICAD_DIFF::PCB_MERGE_APPLIER::Apply(), BOOST_REQUIRE(), KICAD_DIFF::PCB_DIFFER::Diff(), EDA_ITEM::m_Uuid, NORMAL, PCB_TRACE_T, and KICAD_DIFF::KICAD_MERGE_ENGINE::Plan().
| BOOST_AUTO_TEST_CASE | ( | ResolvesFootprintChildByKiid | ) |
Definition at line 524 of file test_pcb_merge_applier.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, KICAD_DIFF::PCB_MERGE_APPLIER::Apply(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), PAD::GetNumber(), KICAD_DIFF::ITEM_RESOLUTION::id, KICAD_DIFF::ITEM_RESOLUTION::kind, KICAD_DIFF::PROPERTY_RESOLUTION::kind, EDA_ITEM::m_Uuid, KICAD_DIFF::MERGE_PROPS, KICAD_DIFF::PROPERTY_RESOLUTION::name, KICAD_DIFF::OURS, pad, and KICAD_DIFF::ITEM_RESOLUTION::props.
| BOOST_AUTO_TEST_CASE | ( | TakeOursAppliesOurChange | ) |
Definition at line 165 of file test_pcb_merge_applier.cpp.
References KICAD_DIFF::PCB_MERGE_APPLIER::Apply(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), KICAD_DIFF::PCB_DIFFER::Diff(), KICAD_DIFF::PCB_MERGE_APPLIER::GetReport(), PCB_TRACK::GetWidth(), KICAD_DIFF::PCB_MERGE_APPLIER::REPORT::itemsTakenOurs, EDA_ITEM::m_Uuid, PCB_TRACE_T, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), and PCB_TRACK::SetWidth().
| BOOST_AUTO_TEST_CASE | ( | TakeTheirsZonePreservesTheirsPriorityAndKeepout | ) |
Definition at line 290 of file test_pcb_merge_applier.cpp.
References KICAD_DIFF::PCB_MERGE_APPLIER::Apply(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), BOOST_TEST_MESSAGE(), KICAD_DIFF::PCB_DIFFER::Diff(), ZONE::GetAssignedPriority(), ZONE::GetDoNotAllowTracks(), EDA_ITEM::m_Uuid, PCB_ZONE_T, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), ZONE::SetAssignedPriority(), and ZONE::SetDoNotAllowTracks().