blob: 32db5b5eb0791184cf483c9d2a3e27257db280c8 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010-2014 SAP AG and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* SAP AG - initial API and implementation
*******************************************************************************/
package org.eclipse.skalli.commons;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.Arrays;
import java.util.SortedSet;
import org.junit.Test;
@SuppressWarnings("nls")
public class ComparatorUtilsTest {
@Test
public void testEquals() {
assertTrue(ComparatorUtils.equals(null, null));
assertFalse(ComparatorUtils.equals(null, ""));
assertFalse(ComparatorUtils.equals("", null));
assertTrue(ComparatorUtils.equals("hugo", "hugo"));
assertFalse(ComparatorUtils.equals("hugo", "foobar"));
assertFalse(ComparatorUtils.equals("hugo", new Integer(1)));
assertFalse(ComparatorUtils.equals(new Integer(1), "hugo"));
assertTrue(ComparatorUtils.equals(Arrays.asList("a", "b"), Arrays.asList("a", "b")));
}
@Test
public void testCompareComparables() {
assertTrue(ComparatorUtils.compare((String)null, (String)null) == 0);
assertTrue(ComparatorUtils.compare(null, "hugo") < 0);
assertTrue(ComparatorUtils.compare("hugo", null) > 0);
assertTrue(ComparatorUtils.compare("hugo", "hugo") == 0);
assertTrue(ComparatorUtils.compare("a", "b") < 0);
assertTrue(ComparatorUtils.compare("b", "a") > 0);
}
@Test
public void testCompareAsStrings() throws Exception {
Class<?> c = getClass();
assertTrue(ComparatorUtils.compareAsStrings(null, null) == 0);
assertTrue(ComparatorUtils.compareAsStrings(null, c) < 0);
assertTrue(ComparatorUtils.compareAsStrings(c, null) > 0);
assertTrue(ComparatorUtils.compareAsStrings(c, c) == 0);
assertTrue(ComparatorUtils.compareAsStrings(c, "hugo") < 0);
assertTrue(ComparatorUtils.compareAsStrings("hugo", c) > 0);
}
@Test
public void testCompareCollections() {
SortedSet<String> single = CollectionUtils.asSortedSet("hugo");
SortedSet<String> single1 = CollectionUtils.asSortedSet("foobar");
SortedSet<String> multi = CollectionUtils.asSortedSet("a", "b");
SortedSet<String> multi1 = CollectionUtils.asSortedSet("a", "b", "c");
SortedSet<String> multi2 = CollectionUtils.asSortedSet("c", "b", "a");
SortedSet<String> empty = CollectionUtils.asSortedSet((String)null);
assertTrue(ComparatorUtils.compare((SortedSet<String>)null, (SortedSet<String>)null) == 0);
assertTrue(ComparatorUtils.compare(empty, empty) == 0);
assertTrue(ComparatorUtils.compare((SortedSet<String>)null, single) < 0);
assertTrue(ComparatorUtils.compare(single, (SortedSet<String>)null) > 0);
assertTrue(ComparatorUtils.compare(empty, single) < 0);
assertTrue(ComparatorUtils.compare(single, empty) > 0);
assertTrue(ComparatorUtils.compare((SortedSet<String>)null, multi) < 0);
assertTrue(ComparatorUtils.compare(multi, (SortedSet<String>)null) > 0);
assertTrue(ComparatorUtils.compare(empty, multi) < 0);
assertTrue(ComparatorUtils.compare(multi, empty) > 0);
assertTrue(ComparatorUtils.compare(single, single) == 0);
assertTrue(ComparatorUtils.compare(single, single1) > 0);
assertTrue(ComparatorUtils.compare(single1, single) < 0);
assertTrue(ComparatorUtils.compare(multi, multi) == 0);
assertTrue(ComparatorUtils.compare(multi, multi1) < 0);
assertTrue(ComparatorUtils.compare(multi1, multi) > 0);
assertTrue(ComparatorUtils.compare(multi, multi2) < 0);
assertTrue(ComparatorUtils.compare(multi2, multi) > 0);
}
}