@@ -344,6 +344,73 @@ public void QuickSortTest() {
344
344
Assert .assertEquals (1.0 , dt .getExample (9 ).getValue ("c2" ), 0.0000001 );
345
345
}
346
346
347
+ @ Test
348
+ public void MergeSortTest () {
349
+
350
+ Object [][] data = new Object [][]{
351
+ {1.0 , "val1" },
352
+ {4.0 , "val2" },
353
+ {10.0 , "val1" },
354
+ {3.0 , "val2" },
355
+ {7.0 , "val1" },
356
+ {11.0 , "val2" },
357
+ {2.0 , "val1" },
358
+ {5.0 , "val2" },
359
+ {4.0 , "val1" },
360
+ {3.0 , "val2" }
361
+ };
362
+
363
+ String [] colNames = new String []{ "c1" , "c2" };
364
+
365
+ DataTable dt = new DataTable (data , colNames , "c2" , "c1" , null );
366
+
367
+ Assert .assertFalse (dt .isDoubleColumnSorted ("c2" , EColumnSortDirections .INCREASING ));
368
+
369
+ dt .customSort ("c2" , EColumnSortDirections .INCREASING , ESortAlgorithm .MergeSort );
370
+ dt .customSort ("c2" , EColumnSortDirections .INCREASING , ESortAlgorithm .MergeSort );
371
+
372
+ Assert .assertTrue (dt .isDoubleColumnSorted ("c2" , EColumnSortDirections .INCREASING ));
373
+ Assert .assertEquals (11.0 , dt .getExample (2 ).getValue ("c1" ), 0.0000001 );
374
+ Assert .assertEquals (0.0 , dt .getExample (2 ).getValue ("c2" ), 0.0000001 );
375
+ Assert .assertEquals (1.0 , dt .getExample (5 ).getValue ("c1" ), 0.0000001 );
376
+ Assert .assertEquals (1.0 , dt .getExample (5 ).getValue ("c2" ), 0.0000001 );
377
+ Assert .assertEquals (4.0 , dt .getExample (9 ).getValue ("c1" ), 0.0000001 );
378
+ Assert .assertEquals (1.0 , dt .getExample (9 ).getValue ("c2" ), 0.0000001 );
379
+ Assert .assertFalse (dt .isDoubleColumnSorted ("c1" , EColumnSortDirections .INCREASING ));
380
+
381
+ dt .sortBy ("c1" , EColumnSortDirections .INCREASING );
382
+
383
+ Assert .assertTrue (dt .isDoubleColumnSorted ("c1" , EColumnSortDirections .INCREASING ));
384
+ Assert .assertEquals (3.0 , dt .getExample (2 ).getValue ("c1" ), 0.0000001 );
385
+ Assert .assertEquals (0.0 , dt .getExample (2 ).getValue ("c2" ), 0.0000001 );
386
+ Assert .assertEquals (4.0 , dt .getExample (5 ).getValue ("c1" ), 0.0000001 );
387
+ Assert .assertEquals (1.0 , dt .getExample (5 ).getValue ("c2" ), 0.0000001 );
388
+ Assert .assertEquals (11.0 , dt .getExample (9 ).getValue ("c1" ), 0.0000001 );
389
+ Assert .assertEquals (0.0 , dt .getExample (9 ).getValue ("c2" ), 0.0000001 );
390
+ Assert .assertFalse (dt .isDoubleColumnSorted ("c2" , EColumnSortDirections .DECREASING ));
391
+
392
+ dt .sortBy ("c2" , EColumnSortDirections .DECREASING );
393
+
394
+ Assert .assertTrue (dt .isDoubleColumnSorted ("c2" , EColumnSortDirections .DECREASING ));
395
+ Assert .assertEquals (4.0 , dt .getExample (2 ).getValue ("c1" ), 0.0000001 );
396
+ Assert .assertEquals (1.0 , dt .getExample (2 ).getValue ("c2" ), 0.0000001 );
397
+ Assert .assertEquals (3.0 , dt .getExample (5 ).getValue ("c1" ), 0.0000001 );
398
+ Assert .assertEquals (0.0 , dt .getExample (5 ).getValue ("c2" ), 0.0000001 );
399
+ Assert .assertEquals (11.0 , dt .getExample (9 ).getValue ("c1" ), 0.0000001 );
400
+ Assert .assertEquals (0.0 , dt .getExample (9 ).getValue ("c2" ), 0.0000001 );
401
+ Assert .assertFalse (dt .isDoubleColumnSorted ("c1" , EColumnSortDirections .DECREASING ));
402
+
403
+ dt .sortBy ("c1" , EColumnSortDirections .DECREASING );
404
+
405
+ Assert .assertTrue (dt .isDoubleColumnSorted ("c1" , EColumnSortDirections .DECREASING ));
406
+ Assert .assertEquals (7.0 , dt .getExample (2 ).getValue ("c1" ), 0.0000001 );
407
+ Assert .assertEquals (1.0 , dt .getExample (2 ).getValue ("c2" ), 0.0000001 );
408
+ Assert .assertEquals (4.0 , dt .getExample (5 ).getValue ("c1" ), 0.0000001 );
409
+ Assert .assertEquals (0.0 , dt .getExample (5 ).getValue ("c2" ), 0.0000001 );
410
+ Assert .assertEquals (1.0 , dt .getExample (9 ).getValue ("c1" ), 0.0000001 );
411
+ Assert .assertEquals (1.0 , dt .getExample (9 ).getValue ("c2" ), 0.0000001 );
412
+ }
413
+
347
414
@ Test
348
415
public void FirstElementAsNullTest () {
349
416
0 commit comments