45 BOOST_CHECK_MESSAGE( std::find( actual.begin(), actual.end(), p ) != actual.end(),
46 "Expected item not found: " << p );
49 for(
const auto& p : actual )
52 "Unexpected item: " << p );
55 BOOST_CHECK_EQUAL(
expected.size(), actual.size() );
68 const auto sort_vectors_x_then_y = [](
const VECTOR2I& a,
const VECTOR2I& b ) {
69 return LexicographicalCompare<VECTOR2I::coord_type>( a, b ) > 0;
74 std::vector<TYPED_POINT2I> actual_points =
85 SEG{ { 0, -1000 }, { 0, 1000 } },
100 { { 500, -1000 },
PT_END },
101 { { -500, 1000 },
PT_END },
102 { { -500, -1000 },
PT_END },
115 SEG{ { -1000, 0 }, { 1000, 0 } },
129 { { 1000, 500 },
PT_END },
130 { { 1000, -500 },
PT_END },
131 { { -1000, 500 },
PT_END },
132 { { -1000, -500 },
PT_END },
158 { { 1414, -1414 },
PT_END },
159 { { -1414, 1414 },
PT_END },
161 { { -354, -354 },
PT_MID },
163 { { -1414, 707 },
PT_END },
164 { { 1414, -707 },
PT_END },
165 { { -707, 1414 },
PT_END },
166 { { 707, -1414 },
PT_END },
Class that represents an oval shape (rectangle with semicircular end caps)
static constexpr EDA_ANGLE ANGLE_45
std::vector< TYPED_POINT2I > GetOvalKeyPoints(const OVAL &aOval, OVAL_KEY_POINT_FLAGS aFlags)
Get a list of interesting points on an oval (rectangle with semicircular end caps)
@ PT_CENTER
The point is the center of something.
@ PT_QUADRANT
The point is on a quadrant of a circle (N, E, S, W points).
@ PT_END
The point is at the end of a segment, arc, etc.
@ PT_MID
The point is at the middle of a segment, arc, etc.
std::vector< TYPED_POINT2I > m_expected_points
BOOST_AUTO_TEST_SUITE(CadstarPartParser)
BOOST_AUTO_TEST_SUITE_END()
VECTOR3I expected(15, 30, 45)
void CHECK_COLLECTIONS_SAME_UNORDERED(const T &expected, const T &actual)
Check that two collections contain the same elements, ignoring order.
BOOST_AUTO_TEST_CASE(SimpleOvalVertical)
void DoOvalPointTestChecks(const OVAL_POINTS_TEST_CASE &testcase)
VECTOR2I GetRotated(const VECTOR2I &aVector, const EDA_ANGLE &aAngle)
Return a new VECTOR2I that is the result of rotating aVector by aAngle.