/*========================================================================= Library: CTK Copyright (c) Kitware Inc. All rights reserved. Distributed under a BSD License. See LICENSE.txt file. This software is distributed "AS IS" WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ // Qt includes #include // CTK includes #include "ctkUtils.h" // STD includes #include #include #include #include //----------------------------------------------------------------------------- int ctkUtilsTest1(int argc, char * argv [] ) { Q_UNUSED(argc); Q_UNUSED(argv); // Test qListToSTLVector(const QStringList& list, std::vector& vector) QStringList inputStringList; inputStringList << "Testing"; inputStringList << " is "; inputStringList << "awesome !"; std::vector outputCharVector; ctkUtils::qListToSTLVector(inputStringList, outputCharVector); if (outputCharVector.size() != 3) { std::cerr << "Error in qListToSTLVector(const QStringList&, std::vector&)" << std::endl << "outputCharVector should contains 3 elements." << std::endl; return EXIT_FAILURE; } if ((strcmp(outputCharVector[0], "Testing") != 0) || (strcmp(outputCharVector[1], " is ") != 0) || (strcmp(outputCharVector[2], "awesome !") != 0)) { std::cerr << "Error in qListToSTLVector(const QStringList&, std::vector&)" << std::endl << "Content of outputCharVector is incorrect" << std::endl << "inputStringList[0] => [" << qPrintable(inputStringList[0]) << "]" << std::endl << "inputStringList[1] => [" << qPrintable(inputStringList[1]) << "]" << std::endl << "inputStringList[2] => [" << qPrintable(inputStringList[2]) << "]" << std::endl << "outputCharVector[0] => [" << outputCharVector[0] << "]" << std::endl << "outputCharVector[1] => [" << outputCharVector[1] << "]" << std::endl << "outputCharVector[2] => [" << outputCharVector[2] << "]" << std::endl; return EXIT_FAILURE; } delete [] outputCharVector[0]; delete [] outputCharVector[1]; delete [] outputCharVector[2]; // Test qListToSTLVector(const QStringList& list, std::vector& vector) std::vector outputStringVector; ctkUtils::qListToSTLVector(inputStringList, outputStringVector); if (outputStringVector.size() != 3) { std::cerr << "Error in qListToSTLVector(const QStringList&, std::vector&)" << std::endl << "outputStringVector should contains 3 elements." << std::endl; return EXIT_FAILURE; } if ((outputStringVector[0].compare("Testing") != 0) || (outputStringVector[1].compare(" is ") != 0) || (outputStringVector[2].compare("awesome !") != 0)) { std::cerr << "Error in qListToSTLVector(const QStringList&, std::vector&)" << std::endl << "Content of outputStringVector is incorrect" << std::endl << "inputStringList[0] => [" << qPrintable(inputStringList[0]) << "]" << std::endl << "inputStringList[1] => [" << qPrintable(inputStringList[1]) << "]" << std::endl << "inputStringList[2] => [" << qPrintable(inputStringList[2]) << "]" << std::endl << "outputStringVector[0] => [" << outputStringVector[0] << "]" << std::endl << "outputStringVector[1] => [" << outputStringVector[1] << "]" << std::endl << "outputStringVector[2] => [" << outputStringVector[2] << "]" << std::endl; return EXIT_FAILURE; } // Test stlVectorToQList(const std::vector& vector, QStringList& list) std::vector inputStringVector; inputStringVector.push_back("Testing"); inputStringVector.push_back(" is "); inputStringVector.push_back("awesome !"); QStringList ouputStringList; ctkUtils::stlVectorToQList(inputStringVector, ouputStringList); if (ouputStringList.size() != 3) { std::cerr << "Error in stlVectorToQList(const std::vector&, QStringList&)" << std::endl << "ouputStringList should contains 3 elements." << std::endl; return EXIT_FAILURE; } if ((ouputStringList[0] != QLatin1String("Testing")) || (ouputStringList[1] != QLatin1String(" is ")) || (ouputStringList[2] != QLatin1String("awesome !"))) { std::cerr << "Error in stlVectorToQList(const std::vector&, QStringList&)" << std::endl << "Content of ouputStringList is incorrect" << std::endl << "inputStringVector[0] => [" << inputStringVector[0] << "]" << std::endl << "inputStringVector[1] => [" << inputStringVector[1] << "]" << std::endl << "inputStringVector[2] => [" << inputStringVector[2] << "]" << std::endl << "ouputStringList[0] => [" << qPrintable(ouputStringList[0]) << "]" << std::endl << "ouputStringList[1] => [" << qPrintable(ouputStringList[1]) << "]" << std::endl << "ouputStringList[2] => [" << qPrintable(ouputStringList[2]) << "]" << std::endl; return EXIT_FAILURE; } return EXIT_SUCCESS; }