|
KiCad PCB EDA Suite
|
#include <boost/test/unit_test.hpp>#include <kiid.h>#include <snap/snap_inference.h>#include <settings/snap_settings.h>#include <algorithm>#include <chrono>#include <ctime>#include <map>Go to the source code of this file.
Functions | |
| BOOST_AUTO_TEST_CASE (GroupDefaultsPreserveConservativeInference) | |
| BOOST_AUTO_TEST_CASE (FiniteSegmentsRejectExtensionOnlyIntersection) | |
| BOOST_AUTO_TEST_CASE (IntersectionBranchIdentityDoesNotFollowCursorDistance) | |
| BOOST_AUTO_TEST_CASE (IntersectionBranchIdentitySurvivesSiblingRadiusFiltering) | |
| BOOST_AUTO_TEST_CASE (ActiveExtensionRayRetainsItsFiniteDirection) | |
| BOOST_AUTO_TEST_CASE (MovingFeaturesExcludedButStationarySelfFeaturesRemain) | |
| BOOST_AUTO_TEST_CASE (CircleNormalEnumeratesBothFiniteBranches) | |
| BOOST_AUTO_TEST_CASE (NormalBranchIdentityDoesNotDependOnTangentSetting) | |
| BOOST_AUTO_TEST_CASE (ArcNormalRejectsContactOutsideFiniteDomain) | |
| BOOST_AUTO_TEST_CASE (CircleRemainsComposableManifold) | |
| BOOST_AUTO_TEST_CASE (BoundingBoxFeaturesTranslateSourcePointExactly) | |
| BOOST_AUTO_TEST_CASE (ProjectedMovingBoundsDoNotOscillateAfterSnap) | |
| BOOST_AUTO_TEST_CASE (AlignmentGuideIdentifiesMatchedTargetFeature) | |
| BOOST_AUTO_TEST_CASE (BoundsReferencePrefersMatchingFeatures) | |
| BOOST_AUTO_TEST_CASE (PadCenterReferencePrefersPadCenterTargets) | |
| BOOST_AUTO_TEST_CASE (AlignmentAcceptsOneFeatureIdentityPerAxis) | |
| BOOST_AUTO_TEST_CASE (DenseAlignmentBoundsCandidateCountBeforeResolution) | |
| BOOST_AUTO_TEST_CASE (LayoutInferenceIsInvariantUnderAxisTranspose) | |
| BOOST_AUTO_TEST_CASE (EqualGapCentersBetweenImmediateNeighbors) | |
| BOOST_AUTO_TEST_CASE (EqualHorizontalGapCarriesBothBracketSpans) | |
| BOOST_AUTO_TEST_CASE (EqualVerticalGapCarriesBothBracketSpans) | |
| BOOST_AUTO_TEST_CASE (EqualGapPreservesSourceOffsetFromMovingBounds) | |
| BOOST_AUTO_TEST_CASE (EqualGapIgnoresReferencePreference) | |
| BOOST_AUTO_TEST_CASE (EqualGapCopiesAdjacentStationaryGap) | |
| BOOST_AUTO_TEST_CASE (EqualGapCopiesAdjacentStationaryGapBeforePair) | |
| BOOST_AUTO_TEST_CASE (DenseEqualSpacingBoundsCandidateCountBeforeResolution) | |
| BOOST_AUTO_TEST_CASE (LayoutRejectsMovingSelectionDescendants) | |
| BOOST_AUTO_TEST_CASE (CandidateDensityP95StaysWithinFourMilliseconds) | |
| BOOST_AUTO_TEST_CASE | ( | ActiveExtensionRayRetainsItsFiniteDirection | ) |
Definition at line 245 of file test_snap_inference.cpp.
References ACTIVE_EXTENSION, SNAP_INFERENCE_PROVIDER::AddPath(), BOOST_CHECK_EQUAL(), SNAP_INFERENCE_PROVIDER::CollectObjectGeometry(), POINT_ON_RAY, resolver, result, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | AlignmentAcceptsOneFeatureIdentityPerAxis | ) |
Definition at line 553 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), BOOST_CHECK_EQUAL(), BOUNDS_X, BOUNDS_Y, SNAP_INFERENCE_PROVIDER::CollectAlignment(), SNAP_STABLE_ID::kind, SNAP_SOURCE_CONTEXT::movingBounds, SNAP_SOURCE_CONTEXT::movingReferencePoint, resolver, result, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | AlignmentGuideIdentifiesMatchedTargetFeature | ) |
Definition at line 465 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), SNAP_INFERENCE_PROVIDER::CollectAlignment(), SNAP_SOURCE_CONTEXT::movingBounds, SNAP_SOURCE_CONTEXT::movingReferencePoint, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | ArcNormalRejectsContactOutsideFiniteDomain | ) |
Definition at line 351 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddPath(), ANGLE_90, BOOST_CHECK_EQUAL(), SNAP_INFERENCE_PROVIDER::CollectTangentNormal(), KiROUND(), NORMAL, resolver, result, SNAP_SOURCE_CONTEXT::sourcePoint, and SNAP_SOURCE_CONTEXT::stationarySourceLeg.
| BOOST_AUTO_TEST_CASE | ( | BoundingBoxFeaturesTranslateSourcePointExactly | ) |
Definition at line 399 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), SNAP_INFERENCE_PROVIDER::CollectAlignment(), SNAP_SOURCE_CONTEXT::movingBounds, resolver, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | BoundsReferencePrefersMatchingFeatures | ) |
Definition at line 490 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), BOUNDS_FEATURE, SNAP_INFERENCE_PROVIDER::CollectAlignment(), SNAP_SOURCE_CONTEXT::movingBounds, SNAP_SOURCE_CONTEXT::referencePreference, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | CandidateDensityP95StaysWithinFourMilliseconds | ) |
Definition at line 901 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddPath(), BOOST_CHECK_EQUAL(), BOOST_TEST_MESSAGE(), SNAP_INFERENCE_PROVIDER::CollectObjectGeometry(), and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | CircleNormalEnumeratesBothFiniteBranches | ) |
Definition at line 296 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddPath(), CIRCLE, SNAP_INFERENCE_PROVIDER::CollectTangentNormal(), SNAP_SOURCE_CONTEXT::sourcePoint, and SNAP_SOURCE_CONTEXT::stationarySourceLeg.
| BOOST_AUTO_TEST_CASE | ( | CircleRemainsComposableManifold | ) |
Definition at line 374 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddPath(), SNAP_CANDIDATE::AxisY(), BOOST_CHECK_EQUAL(), CIRCLE, SNAP_INFERENCE_PROVIDER::CollectObjectGeometry(), GRID, GRID_AXIS, resolver, result, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | DenseAlignmentBoundsCandidateCountBeforeResolution | ) |
Definition at line 583 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), BOOST_CHECK_EQUAL(), SNAP_INFERENCE_PROVIDER::CollectAlignment(), index, SNAP_SOURCE_CONTEXT::movingBounds, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | DenseEqualSpacingBoundsCandidateCountBeforeResolution | ) |
Definition at line 867 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), BOOST_CHECK_EQUAL(), SNAP_INFERENCE_PROVIDER::CollectEqualSpacing(), index, SNAP_SOURCE_CONTEXT::movingBounds, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | EqualGapCentersBetweenImmediateNeighbors | ) |
Definition at line 680 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), SNAP_INFERENCE_PROVIDER::CollectEqualSpacing(), SNAP_SOURCE_CONTEXT::movingBounds, resolver, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | EqualGapCopiesAdjacentStationaryGap | ) |
Definition at line 812 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), SNAP_INFERENCE_PROVIDER::CollectEqualSpacing(), SNAP_SOURCE_CONTEXT::movingBounds, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | EqualGapCopiesAdjacentStationaryGapBeforePair | ) |
Definition at line 840 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), SNAP_INFERENCE_PROVIDER::CollectEqualSpacing(), SNAP_SOURCE_CONTEXT::movingBounds, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | EqualGapIgnoresReferencePreference | ) |
Definition at line 788 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), ANCHOR_POINT, BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), SNAP_INFERENCE_PROVIDER::CollectEqualSpacing(), SNAP_SOURCE_CONTEXT::movingBounds, SNAP_SOURCE_CONTEXT::referencePreference, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | EqualGapPreservesSourceOffsetFromMovingBounds | ) |
Definition at line 768 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), SNAP_INFERENCE_PROVIDER::CollectEqualSpacing(), SNAP_SOURCE_CONTEXT::movingBounds, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | EqualHorizontalGapCarriesBothBracketSpans | ) |
Definition at line 712 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), SNAP_INFERENCE_PROVIDER::CollectEqualSpacing(), DIMENSION_BRACKET, SNAP_SOURCE_CONTEXT::movingBounds, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | EqualVerticalGapCarriesBothBracketSpans | ) |
Definition at line 740 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), SNAP_INFERENCE_PROVIDER::CollectEqualSpacing(), DIMENSION_BRACKET, SNAP_SOURCE_CONTEXT::movingBounds, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | FiniteSegmentsRejectExtensionOnlyIntersection | ) |
Definition at line 152 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::ActivateExtension(), SNAP_INFERENCE_PROVIDER::AddPath(), SNAP_INFERENCE_PROVIDER::CollectObjectGeometry(), and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | GroupDefaultsPreserveConservativeInference | ) |
| BOOST_AUTO_TEST_CASE | ( | IntersectionBranchIdentityDoesNotFollowCursorDistance | ) |
Definition at line 178 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddPath(), CIRCLE, SNAP_INFERENCE_PROVIDER::CollectObjectGeometry(), SNAP_STABLE_ID::featureIndex, INTERSECTION, KiROUND(), MakeIntersectionSnapId(), SNAP_STABLE_ID::solutionBranch, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | IntersectionBranchIdentitySurvivesSiblingRadiusFiltering | ) |
Definition at line 215 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddPath(), BOOST_REQUIRE(), CIRCLE, SNAP_INFERENCE_PROVIDER::CollectObjectGeometry(), INTERSECTION, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | LayoutInferenceIsInvariantUnderAxisTranspose | ) |
Definition at line 601 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddAlignmentPoint(), SNAP_INFERENCE_PROVIDER::AddBounds(), ANCHOR_POINT, BOUNDS_FEATURE, SNAP_INFERENCE_PROVIDER::CollectAlignment(), SNAP_INFERENCE_PROVIDER::CollectEqualSpacing(), SNAP_REFERENCE_PREFERENCE::horizontalFeature, SNAP_SOURCE_CONTEXT::movingBounds, SNAP_SOURCE_CONTEXT::movingReferencePoint, NONE, SNAP_ALIGNMENT_POINT::position, SNAP_SOURCE_CONTEXT::referencePreference, SNAP_SOURCE_CONTEXT::sourcePoint, and SNAP_REFERENCE_PREFERENCE::verticalFeature.
| BOOST_AUTO_TEST_CASE | ( | LayoutRejectsMovingSelectionDescendants | ) |
Definition at line 885 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), SNAP_INFERENCE_PROVIDER::CollectAlignment(), SNAP_INFERENCE_PROVIDER::CollectEqualSpacing(), SNAP_SOURCE_CONTEXT::movingBounds, SNAP_SOURCE_CONTEXT::movingItem, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | MovingFeaturesExcludedButStationarySelfFeaturesRemain | ) |
| BOOST_AUTO_TEST_CASE | ( | NormalBranchIdentityDoesNotDependOnTangentSetting | ) |
Definition at line 321 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddPath(), BOOST_REQUIRE(), CIRCLE, SNAP_INFERENCE_PROVIDER::CollectTangentNormal(), NORMAL, SNAP_SOURCE_CONTEXT::sourcePoint, and SNAP_SOURCE_CONTEXT::stationarySourceLeg.
| BOOST_AUTO_TEST_CASE | ( | PadCenterReferencePrefersPadCenterTargets | ) |
Definition at line 521 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddAlignmentPoint(), SNAP_INFERENCE_PROVIDER::AddBounds(), ANCHOR_POINT, BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), SNAP_INFERENCE_PROVIDER::CollectAlignment(), SNAP_SOURCE_CONTEXT::movingBounds, SNAP_SOURCE_CONTEXT::referencePreference, and SNAP_SOURCE_CONTEXT::sourcePoint.
| BOOST_AUTO_TEST_CASE | ( | ProjectedMovingBoundsDoNotOscillateAfterSnap | ) |
Definition at line 436 of file test_snap_inference.cpp.
References SNAP_INFERENCE_PROVIDER::AddBounds(), BOOST_CHECK_EQUAL(), BOOST_REQUIRE(), SNAP_INFERENCE_PROVIDER::CollectAlignment(), SNAP_SOURCE_CONTEXT::movingBounds, SNAP_SOURCE_CONTEXT::movingReferencePoint, resolver, and SNAP_SOURCE_CONTEXT::sourcePoint.