|
KiCad PCB EDA Suite
|
#include <boost/test/unit_test.hpp>#include <diff_merge/kicad_merge_engine.h>#include <qa_utils/wx_utils/unit_test_utils.h>#include <nlohmann/json.hpp>Go to the source code of this file.
Functions | |
| BOOST_AUTO_TEST_CASE (OneSidedChangeAutoTakes) | |
| BOOST_AUTO_TEST_CASE (BothSidesAddSameIdConflicts) | |
| BOOST_AUTO_TEST_CASE (BothSidesDeleteSameIdAutoTakes) | |
| BOOST_AUTO_TEST_CASE (DeleteOnOneSideModifyOnOtherConflicts) | |
| BOOST_AUTO_TEST_CASE (OrthogonalPropertyEditsAutoMerge) | |
| BOOST_AUTO_TEST_CASE (SamePropertyDifferentValuesConflicts) | |
| BOOST_AUTO_TEST_CASE (SamePropertyEqualValuesAutoMerges) | |
| BOOST_AUTO_TEST_CASE (ZoneEditMarksRequiresZoneRefill) | |
| BOOST_AUTO_TEST_CASE (TrackEditMarksConnectivityRebuild) | |
| BOOST_AUTO_TEST_CASE (DuplicateUuidIsAlwaysConflict) | |
| BOOST_AUTO_TEST_CASE (MergePlanJsonRoundTrip) | |
| BOOST_AUTO_TEST_CASE (MergePlanFromJsonMissingRequiresFieldsDefaultsFalse) | |
| BOOST_AUTO_TEST_CASE (ItemResolutionJsonRoundTripAllKinds) | |
| BOOST_AUTO_TEST_CASE (ItemResolutionJsonRoundTripCarriesProps) | |
| BOOST_AUTO_TEST_CASE (PropertyResolutionJsonRoundTripAllKinds) | |
| BOOST_AUTO_TEST_CASE (EmptyDiffsProduceEmptyPlan) | |
| BOOST_AUTO_TEST_CASE (ChildChangesAreIndexedRecursively) | |
| BOOST_AUTO_TEST_CASE (PreferAutoMergeFalseConflictsOrthogonalEdits) | |
| BOOST_AUTO_TEST_CASE (EmptyPropertyDeltasOnBothSidesConflicts) | |
| BOOST_AUTO_TEST_CASE (ResolveProperty_OnlyOurs_ReturnsOursClean) | |
| BOOST_AUTO_TEST_CASE (ResolveProperty_OnlyTheirs_ReturnsTheirsClean) | |
| BOOST_AUTO_TEST_CASE (ResolveProperty_BothNull_PreconditionViolation) | |
| BOOST_AUTO_TEST_CASE (ResolveProperty_BothSameAfter_AutoResolvesEqual) | |
| BOOST_AUTO_TEST_CASE (ResolveProperty_BothSameAfter_StrictReportsConflict) | |
| BOOST_AUTO_TEST_CASE (ResolveProperty_OursNoOp_TakesTheirs) | |
| BOOST_AUTO_TEST_CASE (ResolveProperty_TheirsNoOp_TakesOurs) | |
| BOOST_AUTO_TEST_CASE (ResolveProperty_NoOpDetectionRequiresPreferAutoMerge) | |
| BOOST_AUTO_TEST_CASE (ResolveProperty_TheirsNoOpRequiresMatchingBefore) | |
| BOOST_AUTO_TEST_CASE (ResolveProperty_OursNoOpRequiresMatchingBefore) | |
| BOOST_AUTO_TEST_CASE (ResolveProperty_BothDivergent_UnresolvedConflict) | |
| BOOST_AUTO_TEST_CASE | ( | BothSidesAddSameIdConflicts | ) |
| BOOST_AUTO_TEST_CASE | ( | BothSidesDeleteSameIdAutoTakes | ) |
Definition at line 140 of file test_merge_engine.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, KICAD_DIFF::DOCUMENT_DIFF::changes, KICAD_DIFF::DELETE_ITEM, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), KICAD_DIFF::MERGE_PLAN::Resolved(), and KIID::SeedGenerator().
| BOOST_AUTO_TEST_CASE | ( | ChildChangesAreIndexedRecursively | ) |
Definition at line 505 of file test_merge_engine.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, KICAD_DIFF::PROPERTY_DELTA::after, KICAD_DIFF::PROPERTY_DELTA::before, KICAD_DIFF::DOCUMENT_DIFF::changes, KICAD_DIFF::ITEM_CHANGE::children, KICAD_DIFF::DIFF_VALUE::FromString(), KICAD_DIFF::ITEM_CHANGE::id, KICAD_DIFF::ITEM_RESOLUTION::id, KICAD_DIFF::ITEM_CHANGE::kind, KICAD_DIFF::MODIFIED, KICAD_DIFF::PROPERTY_DELTA::name, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), KICAD_DIFF::ITEM_CHANGE::properties, KICAD_DIFF::MERGE_PLAN::Resolved(), KIID::SeedGenerator(), and KICAD_DIFF::ITEM_CHANGE::typeName.
| BOOST_AUTO_TEST_CASE | ( | DeleteOnOneSideModifyOnOtherConflicts | ) |
Definition at line 159 of file test_merge_engine.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, KICAD_DIFF::DOCUMENT_DIFF::changes, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), KICAD_DIFF::MERGE_PLAN::Resolved(), and KIID::SeedGenerator().
| BOOST_AUTO_TEST_CASE | ( | DuplicateUuidIsAlwaysConflict | ) |
Definition at line 313 of file test_merge_engine.cpp.
References KICAD_DIFF::DOCUMENT_DIFF::changes, KICAD_DIFF::DUPLICATE_UUID, KICAD_DIFF::ITEM_CHANGE::id, KICAD_DIFF::ITEM_CHANGE::kind, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), KICAD_DIFF::MERGE_PLAN::Resolved(), KIID::SeedGenerator(), and KICAD_DIFF::ITEM_CHANGE::typeName.
| BOOST_AUTO_TEST_CASE | ( | EmptyDiffsProduceEmptyPlan | ) |
| BOOST_AUTO_TEST_CASE | ( | EmptyPropertyDeltasOnBothSidesConflicts | ) |
Definition at line 608 of file test_merge_engine.cpp.
References KICAD_DIFF::DOCUMENT_DIFF::changes, KICAD_DIFF::ITEM_CHANGE::id, KICAD_DIFF::ITEM_CHANGE::kind, KICAD_DIFF::MODIFIED, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), KICAD_DIFF::MERGE_PLAN::Resolved(), KIID::SeedGenerator(), and KICAD_DIFF::ITEM_CHANGE::typeName.
| BOOST_AUTO_TEST_CASE | ( | ItemResolutionJsonRoundTripAllKinds | ) |
Definition at line 385 of file test_merge_engine.cpp.
References KICAD_DIFF::DELETE_ITEM, KICAD_DIFF::ITEM_RESOLUTION::FromJson(), KICAD_DIFF::ITEM_RESOLUTION::id, KICAD_DIFF::KEEP, KICAD_DIFF::ITEM_RESOLUTION::kind, KICAD_DIFF::MERGE_PROPS, KIID::SeedGenerator(), KICAD_DIFF::TAKE_ANCESTOR, KICAD_DIFF::TAKE_OURS, KICAD_DIFF::TAKE_THEIRS, and KICAD_DIFF::ITEM_RESOLUTION::ToJson().
| BOOST_AUTO_TEST_CASE | ( | ItemResolutionJsonRoundTripCarriesProps | ) |
Definition at line 409 of file test_merge_engine.cpp.
References KICAD_DIFF::CUSTOM, KICAD_DIFF::PROPERTY_RESOLUTION::customValue, KICAD_DIFF::DIFF_VALUE::FromInt(), KICAD_DIFF::ITEM_RESOLUTION::FromJson(), KICAD_DIFF::ITEM_RESOLUTION::id, KICAD_DIFF::ITEM_RESOLUTION::kind, KICAD_DIFF::PROPERTY_RESOLUTION::kind, KICAD_DIFF::MERGE_PROPS, KICAD_DIFF::PROPERTY_RESOLUTION::name, KICAD_DIFF::OURS, KICAD_DIFF::ITEM_RESOLUTION::props, KIID::SeedGenerator(), and KICAD_DIFF::ITEM_RESOLUTION::ToJson().
| BOOST_AUTO_TEST_CASE | ( | MergePlanFromJsonMissingRequiresFieldsDefaultsFalse | ) |
Definition at line 368 of file test_merge_engine.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, KICAD_DIFF::MERGE_PLAN::FromJson(), KICAD_DIFF::MERGE_PLAN::requiresConnectivityRebuild, KICAD_DIFF::MERGE_PLAN::requiresZoneRefill, and KICAD_DIFF::MERGE_PLAN::unresolved.
| BOOST_AUTO_TEST_CASE | ( | MergePlanJsonRoundTrip | ) |
Definition at line 334 of file test_merge_engine.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, BOOST_CHECK_EQUAL(), KICAD_DIFF::DOCUMENT_DIFF::changes, KICAD_DIFF::MERGE_PLAN::FromJson(), KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), KICAD_DIFF::MERGE_PLAN::requiresConnectivityRebuild, KICAD_DIFF::MERGE_PLAN::requiresZoneRefill, KIID::SeedGenerator(), KICAD_DIFF::MERGE_PLAN::ToJson(), and KICAD_DIFF::MERGE_PLAN::unresolved.
| BOOST_AUTO_TEST_CASE | ( | OneSidedChangeAutoTakes | ) |
Definition at line 103 of file test_merge_engine.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, BOOST_AUTO_TEST_CASE(), KICAD_DIFF::DOCUMENT_DIFF::changes, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), KICAD_DIFF::MERGE_PLAN::Resolved(), KIID::SeedGenerator(), and KICAD_DIFF::TAKE_OURS.
| BOOST_AUTO_TEST_CASE | ( | OrthogonalPropertyEditsAutoMerge | ) |
Definition at line 177 of file test_merge_engine.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, KICAD_DIFF::PROPERTY_DELTA::after, KICAD_DIFF::PROPERTY_DELTA::before, KICAD_DIFF::DOCUMENT_DIFF::changes, KICAD_DIFF::DIFF_VALUE::FromInt(), KICAD_DIFF::DIFF_VALUE::FromString(), KICAD_DIFF::ITEM_CHANGE::id, KICAD_DIFF::ITEM_CHANGE::kind, KICAD_DIFF::PROPERTY_RESOLUTION::kind, KICAD_DIFF::MERGE_PROPS, KICAD_DIFF::MODIFIED, KICAD_DIFF::PROPERTY_DELTA::name, KICAD_DIFF::PROPERTY_RESOLUTION::name, KICAD_DIFF::OURS, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), KICAD_DIFF::ITEM_CHANGE::properties, KICAD_DIFF::MERGE_PLAN::Resolved(), KIID::SeedGenerator(), KICAD_DIFF::THEIRS, and KICAD_DIFF::ITEM_CHANGE::typeName.
| BOOST_AUTO_TEST_CASE | ( | PreferAutoMergeFalseConflictsOrthogonalEdits | ) |
Definition at line 567 of file test_merge_engine.cpp.
References KICAD_DIFF::PROPERTY_DELTA::after, KICAD_DIFF::PROPERTY_DELTA::before, KICAD_DIFF::DOCUMENT_DIFF::changes, KICAD_DIFF::DIFF_VALUE::FromInt(), KICAD_DIFF::DIFF_VALUE::FromString(), KICAD_DIFF::ITEM_CHANGE::id, KICAD_DIFF::ITEM_CHANGE::kind, KICAD_DIFF::MODIFIED, KICAD_DIFF::PROPERTY_DELTA::name, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), KICAD_DIFF::KICAD_MERGE_ENGINE::OPTIONS::preferAutoMerge, KICAD_DIFF::ITEM_CHANGE::properties, KICAD_DIFF::MERGE_PLAN::Resolved(), KIID::SeedGenerator(), and KICAD_DIFF::ITEM_CHANGE::typeName.
| BOOST_AUTO_TEST_CASE | ( | PropertyResolutionJsonRoundTripAllKinds | ) |
Definition at line 446 of file test_merge_engine.cpp.
References KICAD_DIFF::ANCESTOR, BOOST_CHECK_EQUAL(), BOOST_TEST_CONTEXT(), KICAD_DIFF::CUSTOM, KICAD_DIFF::PROPERTY_RESOLUTION::customValue, KICAD_DIFF::DIFF_VALUE::FromInt(), KICAD_DIFF::PROPERTY_RESOLUTION::FromJson(), KICAD_DIFF::ITEM_CHANGE::kind, KICAD_DIFF::PROPERTY_RESOLUTION::kind, KICAD_DIFF::PROPERTY_RESOLUTION::name, KICAD_DIFF::OURS, KICAD_DIFF::THEIRS, and KICAD_DIFF::PROPERTY_RESOLUTION::ToJson().
| BOOST_AUTO_TEST_CASE | ( | ResolveProperty_BothDivergent_UnresolvedConflict | ) |
Definition at line 793 of file test_merge_engine.cpp.
References KICAD_DIFF::OURS, and KICAD_DIFF::ResolvePropertyConflict().
| BOOST_AUTO_TEST_CASE | ( | ResolveProperty_BothNull_PreconditionViolation | ) |
Definition at line 687 of file test_merge_engine.cpp.
References CHECK_WX_ASSERT, KICAD_DIFF::OURS, and KICAD_DIFF::ResolvePropertyConflict().
| BOOST_AUTO_TEST_CASE | ( | ResolveProperty_BothSameAfter_AutoResolvesEqual | ) |
Definition at line 705 of file test_merge_engine.cpp.
References KICAD_DIFF::OURS, and KICAD_DIFF::ResolvePropertyConflict().
| BOOST_AUTO_TEST_CASE | ( | ResolveProperty_BothSameAfter_StrictReportsConflict | ) |
Definition at line 718 of file test_merge_engine.cpp.
References KICAD_DIFF::OURS, and KICAD_DIFF::ResolvePropertyConflict().
| BOOST_AUTO_TEST_CASE | ( | ResolveProperty_NoOpDetectionRequiresPreferAutoMerge | ) |
Definition at line 754 of file test_merge_engine.cpp.
References KICAD_DIFF::OURS, and KICAD_DIFF::ResolvePropertyConflict().
| BOOST_AUTO_TEST_CASE | ( | ResolveProperty_OnlyOurs_ReturnsOursClean | ) |
Definition at line 669 of file test_merge_engine.cpp.
References KICAD_DIFF::OURS, and KICAD_DIFF::ResolvePropertyConflict().
| BOOST_AUTO_TEST_CASE | ( | ResolveProperty_OnlyTheirs_ReturnsTheirsClean | ) |
Definition at line 678 of file test_merge_engine.cpp.
References KICAD_DIFF::ResolvePropertyConflict(), and KICAD_DIFF::THEIRS.
| BOOST_AUTO_TEST_CASE | ( | ResolveProperty_OursNoOp_TakesTheirs | ) |
Definition at line 730 of file test_merge_engine.cpp.
References KICAD_DIFF::ResolvePropertyConflict(), and KICAD_DIFF::THEIRS.
| BOOST_AUTO_TEST_CASE | ( | ResolveProperty_OursNoOpRequiresMatchingBefore | ) |
Definition at line 780 of file test_merge_engine.cpp.
References KICAD_DIFF::ResolvePropertyConflict().
| BOOST_AUTO_TEST_CASE | ( | ResolveProperty_TheirsNoOp_TakesOurs | ) |
Definition at line 743 of file test_merge_engine.cpp.
References KICAD_DIFF::OURS, and KICAD_DIFF::ResolvePropertyConflict().
| BOOST_AUTO_TEST_CASE | ( | ResolveProperty_TheirsNoOpRequiresMatchingBefore | ) |
Definition at line 766 of file test_merge_engine.cpp.
References KICAD_DIFF::ResolvePropertyConflict().
| BOOST_AUTO_TEST_CASE | ( | SamePropertyDifferentValuesConflicts | ) |
Definition at line 235 of file test_merge_engine.cpp.
References KICAD_DIFF::MERGE_PLAN::actions, KICAD_DIFF::DOCUMENT_DIFF::changes, KICAD_DIFF::MERGE_PROPS, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), KICAD_DIFF::MERGE_PLAN::Resolved(), and KIID::SeedGenerator().
| BOOST_AUTO_TEST_CASE | ( | SamePropertyEqualValuesAutoMerges | ) |
Definition at line 254 of file test_merge_engine.cpp.
References KICAD_DIFF::DOCUMENT_DIFF::changes, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), KICAD_DIFF::MERGE_PLAN::Resolved(), and KIID::SeedGenerator().
| BOOST_AUTO_TEST_CASE | ( | TrackEditMarksConnectivityRebuild | ) |
Definition at line 292 of file test_merge_engine.cpp.
References KICAD_DIFF::DOCUMENT_DIFF::changes, KICAD_DIFF::ITEM_CHANGE::id, KICAD_DIFF::ITEM_CHANGE::kind, KICAD_DIFF::MODIFIED, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), KICAD_DIFF::MERGE_PLAN::requiresConnectivityRebuild, KIID::SeedGenerator(), and KICAD_DIFF::ITEM_CHANGE::typeName.
| BOOST_AUTO_TEST_CASE | ( | ZoneEditMarksRequiresZoneRefill | ) |
Definition at line 271 of file test_merge_engine.cpp.
References KICAD_DIFF::DOCUMENT_DIFF::changes, KICAD_DIFF::ITEM_CHANGE::id, KICAD_DIFF::ITEM_CHANGE::kind, KICAD_DIFF::MODIFIED, KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), KICAD_DIFF::MERGE_PLAN::requiresZoneRefill, KIID::SeedGenerator(), and KICAD_DIFF::ITEM_CHANGE::typeName.