blob: b870d4835a3e8c32ed3f67e0745a7b51d2f77d08 [file] [log] [blame]
/*
* Copyright 2015 Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.onosproject.ui.table.cell;
import org.junit.Test;
import org.onosproject.ui.table.CellComparator;
import static org.junit.Assert.assertTrue;
/**
* Unit tests for {@link DefaultCellComparator}.
*/
public class DefaultCellComparatorTest {
private static final String SOME = "SoMeStRiNg";
private static final String OTHER = "OtherSTRING";
private CellComparator cmp = DefaultCellComparator.INSTANCE;
// default comparator should detect Comparable<T> impls and use that
@Test
public void sameString() {
assertTrue("same string", cmp.compare(SOME, SOME) == 0);
}
@Test
public void someVsOther() {
assertTrue("some vs other", cmp.compare(SOME, OTHER) > 0);
}
@Test
public void otherVsSome() {
assertTrue("other vs some", cmp.compare(OTHER, SOME) < 0);
}
@Test
public void someVsNull() {
assertTrue("some vs null", cmp.compare(SOME, null) > 0);
}
@Test
public void nullVsSome() {
assertTrue("null vs some", cmp.compare(null, SOME) < 0);
}
@Test(expected = ClassCastException.class)
public void mismatch() {
cmp.compare(42, SOME);
}
@Test
public void strElevenTwo() {
assertTrue("str 11 vs 2", cmp.compare("11", "2") < 0);
}
@Test
public void intElevenTwo() {
assertTrue("int 11 vs 2", cmp.compare(11, 2) > 0);
}
@Test
public void intSmallBig() {
assertTrue("int 2 vs 4", cmp.compare(2, 4) < 0);
}
@Test
public void intBigSmall() {
assertTrue("int 4 vs 2", cmp.compare(4, 2) > 0);
}
@Test
public void intEqual() {
assertTrue("int 4 vs 4", cmp.compare(4, 4) == 0);
}
@Test
public void longSmallBig() {
assertTrue("long 2 vs 4", cmp.compare(2L, 4L) < 0);
}
@Test
public void longBigSmall() {
assertTrue("long 4 vs 2", cmp.compare(4L, 2L) > 0);
}
@Test
public void longEqual() {
assertTrue("long 4 vs 4", cmp.compare(4L, 4L) == 0);
}
private enum SmallStarWars { C3PO, R2D2, LUKE }
@Test
public void swEpisodeI() {
assertTrue("c3po r2d2",
cmp.compare(SmallStarWars.C3PO, SmallStarWars.R2D2) < 0);
}
@Test
public void swEpisodeIi() {
assertTrue("r2d2 c3po",
cmp.compare(SmallStarWars.R2D2, SmallStarWars.C3PO) > 0);
}
@Test
public void swEpisodeIii() {
assertTrue("luke c3po",
cmp.compare(SmallStarWars.LUKE, SmallStarWars.C3PO) > 0);
}
@Test
public void swEpisodeIv() {
assertTrue("c3po luke",
cmp.compare(SmallStarWars.C3PO, SmallStarWars.LUKE) < 0);
}
@Test
public void swEpisodeV() {
assertTrue("luke r2d2",
cmp.compare(SmallStarWars.LUKE, SmallStarWars.R2D2) > 0);
}
@Test
public void swEpisodeVi() {
assertTrue("r2d2 luke",
cmp.compare(SmallStarWars.R2D2, SmallStarWars.LUKE) < 0);
}
}