Ignore:
Timestamp:
2014-05-12T00:40:09+02:00 (12 years ago)
Author:
Don-vip
Message:

see #8671 - some code refactoring done in an unsuccessful attempt to reproduce error, but worth keeping

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/unit/org/openstreetmap/josm/gui/DefaultNameFormatterTest.java

    r7100 r7109  
    33
    44import static org.junit.Assert.assertTrue;
    5 import static org.junit.Assert.fail;
    65
    76import java.io.FileInputStream;
     
    98import java.io.InputStream;
    109import java.util.ArrayList;
    11 import java.util.Arrays;
    1210import java.util.Comparator;
    1311
     
    7573            Relation[] relations = new ArrayList<>(ds.getRelations()).toArray(new Relation[0]);
    7674
    77             // Check each compare possibility
    78             for (int i=0; i<relations.length; i++) {
    79                 Relation r1 = relations[i];
    80                 for (int j=i; j<relations.length; j++) {
    81                     Relation r2 = relations[j];
    82                     int a = comparator.compare(r1, r2);
    83                     int b = comparator.compare(r2, r1);
    84                     if (i==j || a==b) {
    85                         if (a != 0 || b != 0) {
    86                             fail(getFailMessage(r1, r2, a, b));
    87                         }
    88                     } else {
    89                         if (a != -b) {
    90                             fail(getFailMessage(r1, r2, a, b));
    91                         }
    92                     }
    93                     for (int k=j; k<relations.length; k++) {
    94                         Relation r3 = relations[k];
    95                         int c = comparator.compare(r1, r3);
    96                         int d = comparator.compare(r2, r3);
    97                         if (a > 0 && d > 0) {
    98                             if (c <= 0) {
    99                                fail(getFailMessage(r1, r2, r3, a, b, c, d));
    100                             }
    101                         } else if (a == 0 && d == 0) {
    102                             if (c != 0) {
    103                                 fail(getFailMessage(r1, r2, r3, a, b, c, d));
    104                             }
    105                         } else if (a < 0 && d < 0) {
    106                             if (c >= 0) {
    107                                 fail(getFailMessage(r1, r2, r3, a, b, c, d));
    108                             }
    109                         }
    110                     }
    111                 }
    112             }
    113             // Sort relation array
    114             Arrays.sort(relations, comparator);
     75            TestUtils.checkComparableContract(comparator, relations);
    11576        }
    11677    }
    117 
    118     private static String getFailMessage(Relation r1, Relation r2, int a, int b) {
    119         return new StringBuilder("Compared\nr1: ").append(r1).append("\nr2: ")
    120         .append(r2).append("\ngave: ").append(a).append("/").append(b)
    121         .toString();
    122     }
    123 
    124     private static String getFailMessage(Relation r1, Relation r2, Relation r3, int a, int b, int c, int d) {
    125         return new StringBuilder(getFailMessage(r1, r2, a, b))
    126         .append("\nCompared\nr1: ").append(r1).append("\nr3: ").append(r3).append("\ngave: ").append(c)
    127         .append("\nCompared\nr2: ").append(r2).append("\nr3: ").append(r3).append("\ngave: ").append(d)
    128         .toString();
    129     }
    13078}
Note: See TracChangeset for help on using the changeset viewer.