void QhullSet_test:: t_qhullsetbase() { RboxPoints rcube("c"); { Qhull q(rcube,"QR0"); // triangulation of rotated unit cube // Fake an empty set. Default constructor not defined. No memory allocation. QhullFacet f4 = q.beginFacet(); QhullFacetSet fs = f4.neighborFacets(); fs.defineAs(q.qhullQh()->other_points); // Force an empty set QVERIFY(fs.isEmpty()); QVERIFY(fs.empty()); QCOMPARE(fs.count(), 0); QCOMPARE(fs.size(), 0u); QCOMPARE(fs.begin(), fs.end()); // beginPointer(), endPointer() QVERIFY(QhullSetBase::isEmpty(fs.getSetT())); QhullRidgeSet rs = f4.ridges(); QVERIFY(!rs.isEmpty()); QVERIFY(!rs.empty()); QCOMPARE(rs.count(), 4); QCOMPARE(rs.size(), 4u); QVERIFY(rs.begin()!=rs.end()); QVERIFY(!QhullSetBase::isEmpty(rs.getSetT())); QhullRidgeSet rs2= rs; // copy constructor // rs= rs2; // disabled. Would not copy ridges QCOMPARE(rs2, rs); QCOMPARE(q.facetCount(), 6); QhullFacet f = q.beginFacet(); QhullFacetSet fs2 = f.neighborFacets(); QCOMPARE(fs2.count(), 4); QCOMPARE(fs2.size(), 4u); QVERIFY(!fs2.isEmpty()); QVERIFY(!QhullSetBase::isEmpty(fs2.getSetT())); QVERIFY(!fs2.empty()); QVERIFY(fs!=fs2); setT *s= fs2.getSetT(); fs.defineAs(s); QVERIFY(fs==fs2); QCOMPARE(fs[1], fs2[1]); // elementPointer QhullFacetSet fs3(fs2); QVERIFY(fs3==fs); // fs= fs2; // disabled. Would not copy facets QhullFacetSet fs4= fs2; // copy constructor QVERIFY(fs4==fs2); } }//t_qhullsetbase