/**************************************************************************** ** ** Copyright (c) 2009-2015 C.B. Barber. All rights reserved. ** $Id: //main/2015/qhull/src/qhulltest/QhullLinkedList_test.cpp#3 $$Change: 2062 $ ** $DateTime: 2016/01/17 13:13:18 $$Author: bbarber $ ** ****************************************************************************/ //pre-compiled headers #include #include "qhulltest/RoadTest.h" #include "libqhullcpp/QhullLinkedList.h" #include "libqhullcpp/Qhull.h" #include "libqhullcpp/QhullVertex.h" #include "libqhullcpp/RboxPoints.h" namespace orgQhull { class QhullLinkedList_test : public RoadTest { Q_OBJECT #//!\name Test slots private slots: void cleanup(); void t_construct(); void t_convert(); void t_element(); void t_search(); void t_iterator(); void t_const_iterator(); void t_QhullLinkedList_iterator(); void t_io(); };//QhullLinkedList_test void add_QhullLinkedList_test() { new QhullLinkedList_test(); // RoadTest::s_testcases } //Executed after each testcase void QhullLinkedList_test:: cleanup() { RoadTest::cleanup(); } void QhullLinkedList_test:: t_construct() { // QhullLinkedList vs; //private (compiler error). No memory allocation RboxPoints rcube("c"); { Qhull q(rcube,"Qt QR0"); // triangulation of rotated unit cube QCOMPARE(q.facetCount(), 12); QhullVertexList vs = QhullVertexList(q.beginVertex(), q.endVertex()); QCOMPARE(vs.count(), 8); QCOMPARE(vs.size(), 8u); QVERIFY(!vs.isEmpty()); QhullVertexList vs2 = q.vertexList(); QCOMPARE(vs2.count(), 8); QCOMPARE(vs2.size(),8u); QVERIFY(!vs2.isEmpty()); QVERIFY(vs==vs2); // vs= vs2; // disabled. Would not copy the vertices QhullVertexList vs3= vs2; // copy constructor QVERIFY(vs3==vs2); } }//t_construct void QhullLinkedList_test:: t_convert() { RboxPoints rcube("c"); { Qhull q(rcube,"Qt QR0"); // triangulation of rotated unit cube QCOMPARE(q.facetCount(), 12); QhullVertexList vs = q.vertexList(); QCOMPARE(vs.size(), 8u); QVERIFY(!vs.isEmpty()); std::vector vs2= vs.toStdVector(); QCOMPARE(vs2.size(), vs.size()); QhullVertexList::Iterator i= vs.begin(); for(int k= 0; k<(int)vs2.size(); k++){ QCOMPARE(vs2[k], *i++); } QList vs3= vs.toQList(); QCOMPARE(vs3.count(), vs.count()); i= vs.begin(); for(int k= 0; k