diff options
Diffstat (limited to 'framework/src/onos/core/api/src/test/java/org/onosproject/ui/table/cell/DefaultCellComparatorTest.java')
-rw-r--r-- | framework/src/onos/core/api/src/test/java/org/onosproject/ui/table/cell/DefaultCellComparatorTest.java | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/framework/src/onos/core/api/src/test/java/org/onosproject/ui/table/cell/DefaultCellComparatorTest.java b/framework/src/onos/core/api/src/test/java/org/onosproject/ui/table/cell/DefaultCellComparatorTest.java new file mode 100644 index 00000000..87c95288 --- /dev/null +++ b/framework/src/onos/core/api/src/test/java/org/onosproject/ui/table/cell/DefaultCellComparatorTest.java @@ -0,0 +1,147 @@ +/* + * 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); + } +} |