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