/**************************************************************************** ** ** Copyright (c) 2009-2012 C.B. Barber. All rights reserved. ** $Id: //main/2011/qhull/src/qhulltest/QhullLinkedList_test.cpp#4 $$Change: 1490 $ ** $DateTime: 2012/02/19 20:27:01 $$Author: bbarber $ ** ****************************************************************************/ //pre-compiled headers #include #include "RoadTest.h" #include "QhullLinkedList.h" #include "Qhull.h" namespace orgQhull { class QhullLinkedList_test : public RoadTest { Q_OBJECT #//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(); } //Executed after each testcase void QhullLinkedList_test:: cleanup() { UsingLibQhull::checkQhullMemoryEmpty(); 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(!vs2.empty()); 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()); QVERIFY(!vs.empty()); 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