1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
/*
* Copyright 2013 Thomas Schöps
* Copyright 2015, 2016, 2019 Kai Pastor
*
* This file is part of OpenOrienteering.
*
* OpenOrienteering is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* OpenOrienteering is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with OpenOrienteering. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef OPENORIENTEERING_PATH_OBJECT_T_H
#define OPENORIENTEERING_PATH_OBJECT_T_H
#include <QObject>
/**
* @test Tests PathObject, MapCoord(F) and VirtualPath.
*
* @todo Extent this test.
*/
class PathObjectTest : public QObject
{
Q_OBJECT
public:
/** Constructor */
explicit PathObjectTest(QObject* parent = nullptr);
private slots:
void initTestCase();
/** Tests MapCoordF. */
void mapCoordTest();
/** Tests VirtualPath. */
void virtualPathTest();
/** Tests PathObject constructors. */
void constructorTest();
/** Tests PathObject::copyFrom(). */
void copyFromTest();
void copyFromTest_data();
/** Basic test for PathObject::changePathBounds(), focus on flags. */
void changePathBoundsBasicTest();
void changePathBoundsBasicTest_data();
/** Tests PathObject::changePathBounds(). */
void changePathBoundsTest();
void changePathBoundsTest_data();
/** Tests properties of lines after splitting. */
void splitLineTest();
void splitLineTest_data();
/** Tests PathObject::removeFromLine(). */
void removeFromLineTest();
void removeFromLineTest_data();
/** Tests finding intersections with calcAllIntersectionsWith(). */
void calcIntersectionsTest();
/** Tests PathCoord and SplitPathCoord for a non-trivial zero-length path. */
void atypicalPathTest();
/** Tests recalculation of path parts from input coords. */
void recalculatePartsTest();
void recalculatePartsTest_data();
};
#endif
|