@@ -73,27 +73,28 @@ class TestQgsSpatialIndexKdBush : public QObject
73
73
for ( QgsFeature f : _pointFeatures () )
74
74
vl->dataProvider ()->addFeature ( f );
75
75
QgsSpatialIndexKDBush index ( *vl->dataProvider () );
76
+ QCOMPARE ( index .size (), 4 );
76
77
77
- QList <QgsFeatureId> fids = index .intersect ( QgsRectangle ( 0 , 0 , 10 , 10 ) );
78
+ QSet <QgsFeatureId> fids = index .intersect ( QgsRectangle ( 0 , 0 , 10 , 10 ) );
78
79
QVERIFY ( fids.count () == 1 );
79
- QCOMPARE ( fids[ 0 ], 1 );
80
+ QVERIFY ( fids. contains ( 1 ) );
80
81
81
- QList <QgsFeatureId> fids2 = index .intersect ( QgsRectangle ( -10 , -10 , 0 , 10 ) );
82
+ QSet <QgsFeatureId> fids2 = index .intersect ( QgsRectangle ( -10 , -10 , 0 , 10 ) );
82
83
QCOMPARE ( fids2.count (), 2 );
83
84
QVERIFY ( fids2.contains ( 2 ) );
84
85
QVERIFY ( fids2.contains ( 3 ) );
85
86
86
- QList <QgsFeatureId> fids3 = index .within ( QgsPointXY ( 0 , 0 ), 2 );
87
+ QSet <QgsFeatureId> fids3 = index .within ( QgsPointXY ( 0 , 0 ), 2 );
87
88
QCOMPARE ( fids3.count (), 4 );
88
89
QVERIFY ( fids3.contains ( 1 ) );
89
90
QVERIFY ( fids3.contains ( 2 ) );
90
91
QVERIFY ( fids3.contains ( 3 ) );
91
92
QVERIFY ( fids3.contains ( 4 ) );
92
93
93
- QList <QgsFeatureId> fids4 = index .within ( QgsPointXY ( 0 , 0 ), 1 );
94
+ QSet <QgsFeatureId> fids4 = index .within ( QgsPointXY ( 0 , 0 ), 1 );
94
95
QCOMPARE ( fids4.count (), 0 );
95
96
96
- QList <QgsFeatureId> fids5 = index .within ( QgsPointXY ( -1 , -1 ), 2.1 );
97
+ QSet <QgsFeatureId> fids5 = index .within ( QgsPointXY ( -1 , -1 ), 2.1 );
97
98
QCOMPARE ( fids5.count (), 3 );
98
99
QVERIFY ( fids5.contains ( 2 ) );
99
100
QVERIFY ( fids5.contains ( 3 ) );
@@ -127,9 +128,9 @@ class TestQgsSpatialIndexKdBush : public QObject
127
128
QVERIFY ( index ->d ->ref == 2 );
128
129
129
130
// test that copied index works
130
- QList <QgsFeatureId> fids = indexCopy->intersect ( QgsRectangle ( 0 , 0 , 10 , 10 ) );
131
+ QSet <QgsFeatureId> fids = indexCopy->intersect ( QgsRectangle ( 0 , 0 , 10 , 10 ) );
131
132
QVERIFY ( fids.count () == 1 );
132
- QCOMPARE ( fids[ 0 ], 1 );
133
+ QVERIFY ( fids. contains ( 1 ) );
133
134
134
135
// check that the index is still shared
135
136
QCOMPARE ( index ->d , indexCopy->d );
@@ -140,12 +141,13 @@ class TestQgsSpatialIndexKdBush : public QObject
140
141
// test that copied index still works
141
142
fids = indexCopy->intersect ( QgsRectangle ( 0 , 0 , 10 , 10 ) );
142
143
QVERIFY ( fids.count () == 1 );
143
- QCOMPARE ( fids[ 0 ], 1 );
144
+ QVERIFY ( fids. contains ( 1 ) );
144
145
QVERIFY ( indexCopy->d ->ref == 1 );
145
146
146
147
// assignment operator
147
148
std::unique_ptr< QgsVectorLayer > vl2 = qgis::make_unique< QgsVectorLayer >( " Point" , QString (), QStringLiteral ( " memory" ) );
148
149
QgsSpatialIndexKDBush index3 ( *vl2->dataProvider () );
150
+ QCOMPARE ( index3.size (), 0 );
149
151
fids = index3.intersect ( QgsRectangle ( 0 , 0 , 10 , 10 ) );
150
152
QCOMPARE ( fids.count (), 0 );
151
153
QVERIFY ( index3.d ->ref == 1 );
@@ -155,7 +157,7 @@ class TestQgsSpatialIndexKdBush : public QObject
155
157
QVERIFY ( index3.d ->ref == 2 );
156
158
fids = index3.intersect ( QgsRectangle ( 0 , 0 , 10 , 10 ) );
157
159
QVERIFY ( fids.count () == 1 );
158
- QCOMPARE ( fids[ 0 ], 1 );
160
+ QVERIFY ( fids. contains ( 1 ) );
159
161
160
162
indexCopy.reset ();
161
163
QVERIFY ( index3.d ->ref == 1 );
0 commit comments