| /******************************************************************************* |
| * 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); |
| } |
| |
| } |