18#define BOOST_TEST_NO_MAIN
19#include <boost/test/unit_test.hpp>
35 BOOST_CHECK( helper.
GetSnap() );
187 BOOST_CHECK( helper.
GetSnap() );
190 BOOST_CHECK( !helper.
GetSnap() );
193 BOOST_CHECK( helper.
GetSnap() );
303 BOOST_CHECK( !snappedPoint.has_value() );
308 BOOST_CHECK( !snappedPoint.has_value() );
338 std::vector<TestCase> cases = {
340 {
"1mm grid, origin at 47.3mm",
341 1.0, 47300000, 25300000,
346 {
"0.5mm grid, origin at 47.3mm",
347 0.5, 47300000, 25300000,
352 {
"0.1mm grid, origin at 47.3mm",
353 0.1, 47300000, 25300000,
358 {
"25mil grid, origin at 47.625mm",
359 0.635, 47625000, 25400000,
364 {
"10mil grid, origin at 47.752mm",
365 0.254, 47752000, 25400000,
370 {
"50mil grid, origin at 47.625mm",
371 1.27, 47625000, 25400000,
377 for(
auto& tc : cases )
381 tc.expectedX =
KiROUND(
double( tc.pointX - tc.gridOriginX ) / gridSizeIU )
382 * gridSizeIU + tc.gridOriginX;
383 tc.expectedY =
KiROUND(
double( tc.pointY - tc.gridOriginY ) / gridSizeIU )
384 * gridSizeIU + tc.gridOriginY;
387 for(
const auto& tc : cases )
395 VECTOR2D offsetD( tc.gridOriginX, tc.gridOriginY );
400 VECTOR2I point( tc.pointX, tc.pointY );
constexpr BOX2I KiROUND(const BOX2D &aBoxD)
void SetSkipPoint(const VECTOR2I &aPoint)
void SetOrigin(const VECTOR2I &aOrigin)
void SetVisibleGridSize(const VECTOR2D &aGrid)
void ClearSkipPoint()
Clear the skip point by setting it to an unreachable position, thereby preventing matching.
void SetGridSnapping(bool aEnable)
void SetUseGrid(bool aSnapToGrid)
std::optional< VECTOR2I > GetSnappedPoint() const
void SetAuxAxes(bool aEnable, const VECTOR2I &aOrigin=VECTOR2I(0, 0))
VECTOR2D GetVisibleGrid() const
virtual VECTOR2D GetGridSize(GRID_HELPER_GRIDS aGrid) const
Return the size of the specified grid.
VECTOR2I GetOrigin() const
void SetGridSize(const VECTOR2D &aGrid)
void SetMaskFlag(int aFlag)
virtual VECTOR2I Align(const VECTOR2I &aPoint, GRID_HELPER_GRIDS aGrid) const
void ClearMaskFlag(int aFlag)
virtual VECTOR2I AlignGrid(const VECTOR2I &aPoint, GRID_HELPER_GRIDS aGrid) const
BOOST_AUTO_TEST_CASE(HorizontalAlignment)
BOOST_AUTO_TEST_SUITE(CadstarPartParser)
void TEST_CLEAR_ANCHORS(GRID_HELPER &helper)
BOOST_AUTO_TEST_CASE(DefaultConstructor)
BOOST_AUTO_TEST_SUITE_END()
BOOST_TEST_CONTEXT("Test Clearance")
static constexpr double IU_PER_MM
Mock up a conversion function.
BOOST_CHECK_EQUAL(result, "25.4")
VECTOR2< int32_t > VECTOR2I
VECTOR2< double > VECTOR2D