@@ -0,0 +1,1486 @@
+package ru.ifmo.nds;%0A%0Aimport java.util.Arrays;%0Aimport java.util.Locale;%0Aimport java.util.Scanner;%0A%0Apublic class RunGivenTest %7B%0A    public static void main(String%5B%5D args) %7B%0A        Locale.setDefault(Locale.US);%0A        try (Scanner in = new Scanner(System.in)) %7B%0A            int n = in.nextInt();%0A            int d = in.nextInt();%0A            double%5B%5D%5B%5D data = new double%5Bn%5D%5Bd%5D;%0A            for (int i = 0; i %3C n; ++i) %7B%0A                for (int j = 0; j %3C d; ++j) %7B%0A                    data%5Bi%5D%5Bj%5D = in.nextDouble();%0A                %7D%0A            %7D%0A            int%5B%5D ranks = new int%5Bn%5D;%0A            int%5B%5D referenceRanks = new int%5Bn%5D;%0A            boolean set = false;%0A            String referenceAlgo = null;%0A            for (String s : IdCollection.getAllNonDominatedSortingIDs()) %7B%0A                Arrays.fill(ranks, -1);%0A                NonDominatedSorting sorting = IdCollection.getNonDominatedSortingFactory(s).getInstance(n, d);%0A                sorting.sort(data, ranks);%0A                if (set) %7B%0A                    if (!Arrays.equals(referenceRanks, ranks)) %7B%0A                        System.out.println(%22Ranks different for %22 + s + %22 and %22 + referenceAlgo);%0A                    %7D%0A                %7D else %7B%0A                    set = true;%0A                    referenceAlgo = s;%0A                    System.arraycopy(ranks, 0, referenceRanks, 0, n);%0A                %7D%0A                System.out.println(s + %22 seems to be OK, rank%5B0%5D = %22 + ranks%5B0%5D);%0A            %7D%0A        %7D%0A    %7D%0A%7D%0A

Add a main class that runs a test given from the console on all algos.