+ {
+ RT_START_TEST(SortFunction)
+
+ wxPGProperty* p;
+
+ // Make sure indexes are as supposed
+
+ p = pgman->GetProperty(wxT("User Name"));
+ if ( p->GetIndexInParent() != 3 )
+ RT_FAILURE();
+
+ p = pgman->GetProperty(wxT("User Id"));
+ if ( p->GetIndexInParent() != 2 )
+ RT_FAILURE();
+
+ p = pgman->GetProperty(wxT("User Home"));
+ if ( p->GetIndexInParent() != 1 )
+ RT_FAILURE();
+
+ p = pgman->GetProperty(wxT("Operating System"));
+ if ( p->GetIndexInParent() != 0 )
+ RT_FAILURE();
+
+ pgman->GetGrid()->SetSortFunction(MyPropertySortFunction);
+
+ pgman->GetGrid()->SortChildren(wxT("Environment"));
+
+ // Make sure indexes have been reversed
+ p = pgman->GetProperty(wxT("User Name"));
+ if ( p->GetIndexInParent() != 0 )
+ RT_FAILURE();
+
+ p = pgman->GetProperty(wxT("User Id"));
+ if ( p->GetIndexInParent() != 1 )
+ RT_FAILURE();
+
+ p = pgman->GetProperty(wxT("User Home"));
+ if ( p->GetIndexInParent() != 2 )
+ RT_FAILURE();
+
+ p = pgman->GetProperty(wxT("Operating System"));
+ if ( p->GetIndexInParent() != 3 )
+ RT_FAILURE();
+ }
+