package com.redhat.ceylon.test.eclipse.plugin.model;
import java.text.Collator;
import java.util.Comparator;
public class TestElementComparatorByName implements Comparator<TestElement> {
public static final TestElementComparatorByName INSTANCE = new TestElementComparatorByName();
private final Collator collator = Collator.getInstance();
@Override
public int compare(TestElement testElement1, TestElement testElement2) {
if (testElement1 == null && testElement2 != null) {
return 1;
}
if (testElement1 != null && testElement2 == null) {
return -1;
}
if (testElement1 == null && testElement2 == null) {
return 0;
}
String name1 = testElement1.getQualifiedName();
String name2 = testElement2.getQualifiedName();
int result = collator.compare(name1, name2);
if( result == 0 ) {
if( testElement1.getVariantIndex() != null && testElement2.getVariantIndex() != null ) {
result = testElement1.getVariantIndex().compareTo(testElement2.getVariantIndex());
}
}
return result;
}
}