/************************************************************************ ** ** @file ** @author Roman Telezhynskyi ** @date 17 11, 2016 ** ** @brief ** @copyright ** This source code is part of the Valentine project, a pattern making ** program, whose allow create and modeling patterns of clothing. ** Copyright (C) 2016 Valentina project ** All Rights Reserved. ** ** Valentina 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. ** ** Valentina 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 Valentina. If not, see . ** *************************************************************************/ #ifndef TST_VABSTRACTPIECE_H #define TST_VABSTRACTPIECE_H #include "../vtest/abstracttest.h" class VSAPoint; class TST_VAbstractPiece : public AbstractTest { Q_OBJECT public: explicit TST_VAbstractPiece(QObject *parent = nullptr); private slots: void EquidistantRemoveLoop_data(); void EquidistantRemoveLoop() const; void SumTrapezoids() const; void PathRemoveLoop_data() const; void PathRemoveLoop() const; void PathLoopsCase_data() const; void PathLoopsCase() const; void BrokenDetailEquidistant_data() const; void BrokenDetailEquidistant() const; void CorrectEquidistantPoints_data() const; void CorrectEquidistantPoints() const; void TestCorrectEquidistantPoints_data(); void TestCorrectEquidistantPoints() const; #ifndef Q_OS_WIN // Disabled due to "undefined behavior" problem void PossibleInfiniteClearLoops_data() const; void PossibleInfiniteClearLoops() const; #endif private: QVector InputPointsCase1() const; QVector OutputPointsCase1() const; QVector InputPointsCase2() const; QVector OutputPointsCase2() const; QVector InputPointsCase3() const; QVector OutputPointsCase3() const; void Case3() const; void Case4() const; void Case5() const; QVector InputPointsIssue298Case1() const; QVector OutputPointsIssue298Case1() const; QVector InputPointsIssue298Case2() const; QVector OutputPointsIssue298Case2() const; QVector InputPointsIssue548Case1() const; QVector OutputPointsIssue548Case1() const; QVector InputPointsIssue548Case2() const; QVector OutputPointsIssue548Case2() const; QVector InputPointsIssue548Case3() const; QVector OutputPointsIssue548Case3() const; QVector InputPointsCase3a() const; QVector InputPointsCase4a() const; QVector InputPointsCase5a() const; QVector InputPointsIssue646() const; QVector OutputPointsIssue646() const; }; #endif // TST_VABSTRACTPIECE_H