@@ -38,6 +38,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
3838#include < iostream>
3939#include < cmath>
4040#include < stdexcept>
41+ #include < algorithm>
4142#define GRIDN 9
4243
4344
@@ -86,17 +87,19 @@ int main(int argc,char *argv[])
8687
8788 foo->findNPoints (point, 5 , 0 .15f , indices, dists);
8889 TESTASSERT (indices.size () == 5 );
89-
90+
91+ std::sort (indices.begin (), indices.end ());
92+
9093 const float *pos = foo->data <float >(posAttr, indices[0 ]);
9194 TESTASSERT (pos[0 ] == 0 .375f && pos[1 ] == 0.5 && pos[2 ] == 0.5 );
9295 pos = foo->data <float >(posAttr, indices[1 ]);
93- TESTASSERT (pos[0 ] == 0.625 && pos[1 ] == 0.5 && pos[2 ] == 0.5 );
96+ TESTASSERT (pos[0 ] == 0.5 && pos[1 ] == 0.5 && pos[2 ] == 0.5 );
9497 pos = foo->data <float >(posAttr, indices[2 ]);
9598 TESTASSERT (pos[0 ] == 0.5 && pos[1 ] == 0.5 && pos[2 ] == 0.625 );
9699 pos = foo->data <float >(posAttr, indices[3 ]);
97100 TESTASSERT (pos[0 ] == 0.5 && pos[1 ] == 0.625 && pos[2 ] == 0.5 );
98101 pos = foo->data <float >(posAttr, indices[4 ]);
99- TESTASSERT (pos[0 ] == 0.5 && pos[1 ] == 0.5 && pos[2 ] == 0.5 );
102+ TESTASSERT (pos[0 ] == 0.625 && pos[1 ] == 0.5 && pos[2 ] == 0.5 );
100103
101104 std::cout << " Test passed\n " ;
102105 }
@@ -109,17 +112,19 @@ int main(int argc,char *argv[])
109112 float finalDist;
110113 int returned=foo->findNPoints (point, 5 , 0 .15f , indices, dists,&finalDist);
111114 TESTASSERT (returned == 5 );
112-
115+
116+ std::sort (indices, indices + returned);
117+
113118 const float *pos = foo->data <float >(posAttr, indices[0 ]);
114119 TESTASSERT (pos[0 ] == 0 .375f && pos[1 ] == 0.5 && pos[2 ] == 0.5 );
115120 pos = foo->data <float >(posAttr, indices[1 ]);
116- TESTASSERT (pos[0 ] == 0.625 && pos[1 ] == 0.5 && pos[2 ] == 0.5 );
121+ TESTASSERT (pos[0 ] == 0.5 && pos[1 ] == 0.5 && pos[2 ] == 0.5 );
117122 pos = foo->data <float >(posAttr, indices[2 ]);
118123 TESTASSERT (pos[0 ] == 0.5 && pos[1 ] == 0.5 && pos[2 ] == 0.625 );
119124 pos = foo->data <float >(posAttr, indices[3 ]);
120125 TESTASSERT (pos[0 ] == 0.5 && pos[1 ] == 0.625 && pos[2 ] == 0.5 );
121126 pos = foo->data <float >(posAttr, indices[4 ]);
122- TESTASSERT (pos[0 ] == 0.5 && pos[1 ] == 0.5 && pos[2 ] == 0.5 );
127+ TESTASSERT (pos[0 ] == 0.625 && pos[1 ] == 0.5 && pos[2 ] == 0.5 );
123128
124129 std::cout << " Test passed\n " ;
125130 }
0 commit comments