/************************************************************************ ** ** @file ** @author Roman Telezhynskyi ** @date 17 11, 2016 ** ** @brief ** @copyright ** This source code is part of the Valentina 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 EquidistantAngleType_data() const; void EquidistantAngleType() 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 InputPointsSeamTest1PieceByAngle() const; QVector OutputPointsSeamTest1PieceByAngle() const; QVector InputPointsSeamTest1PieceByIntersection() const; QVector OutputPointsSeamTest1PieceByIntersection() const; QVector InputPointsSeamTest1PieceByFirstEdgeSymmerty() const; QVector OutputPointsSeamTest1PieceByFirstEdgeSymmerty() const; QVector InputPointsSeamTest1PieceBySecondEdgeSymmerty() const; QVector OutputPointsSeamTest1PieceBySecondEdgeSymmerty() const; QVector InputPointsSeamTest1PieceByFirstRightAngle() const; QVector OutputPointsSeamTest1PieceByFirstRightAngle() const; QVector InputPointsSeamTest1PieceBySecondRightAngle() const; QVector OutputPointsSeamTest1PieceBySecondRightAngle() const; QVector InputPointsCase2() const; QVector OutputPointsCase2() const; QVector InputPointsCase3() const; QVector OutputPointsCase3() const; QVector InputPointsIssue627() const; QVector OutputPointsIssue627() const; QVector InputPointsIssue767_Fabric_TopCollar() const; QVector OutputPointsIssue767_Fabric_TopCollar() const; QVector InputPointsIssue767_SkinFusing_TopCollar_Notch() const; QVector OutputPointsIssue767_SkinFusing_TopCollar_Notch() const; QVector InputPointsIssue880_Piece_Detail() const; QVector OutputPointsIssue880_Piece_Detail() const; QVector InputPointsIssue880_Piece_Detail_1() const; QVector OutputPointsIssue880_Piece_Detail_1() const; QVector InputPointsIssue883_Piece_ledge() const; QVector OutputPointsIssue883_Piece_ledge() const; QVector InputPointsIssue883_Piece_prong() const; QVector OutputPointsIssue883_Piece_prong() 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; QVector InputPointsIssue923Test1(); QVector OutputPointsIssue923Test1(); QVector InputPointsIssue923Test2(); QVector OutputPointsIssue923Test2(); QVector InputPointsIssue923Test3(); QVector OutputPointsIssue923Test3(); QVector InputPointsIssue923Test4(); QVector OutputPointsIssue923Test4(); QVector InputPointsIssue923Test5(); QVector OutputPointsIssue923Test5(); QVector InputPointsIssue923Test6(); QVector OutputPointsIssue923Test6(); QVector InputPointsIssue923Test1_1(); QVector OutputPointsIssue923Test1_1(); QVector InputPointsIssue923Test2_2(); QVector OutputPointsIssue923Test2_2(); QVector InputPointsIssue923Test3_3(); QVector OutputPointsIssue923Test3_3(); QVector InputPointsIssue923Test4_4(); QVector OutputPointsIssue923Test4_4(); QVector InputPointsIssue923Test5_5(); QVector OutputPointsIssue923Test5_5(); QVector InputPointsIssue923Test6_6(); QVector OutputPointsIssue923Test6_6(); QVector InputPointsIssue937Case1() const; QVector OutputPointsIssue937Case1() const; QVector InputPointsIssue937Case2() const; QVector OutputPointsIssue937Case2() const; QVector InputPointsIssue937Case3() const; QVector OutputPointsIssue937Case3() const; QVector InputPointsIssue937Case4() const; QVector OutputPointsIssue937Case4() const; }; #endif // TST_VABSTRACTPIECE_H