diff options
Diffstat (limited to 'framework/src/onos/utils/misc/src/test/java/org/onlab')
-rw-r--r-- | framework/src/onos/utils/misc/src/test/java/org/onlab/graph/DisjointPathPairTest.java | 43 | ||||
-rw-r--r-- | framework/src/onos/utils/misc/src/test/java/org/onlab/graph/SrlgGraphSearchTest.java (renamed from framework/src/onos/utils/misc/src/test/java/org/onlab/graph/SRLGGraphSearchTest.java) | 14 | ||||
-rw-r--r-- | framework/src/onos/utils/misc/src/test/java/org/onlab/graph/TarjanGraphSearchTest.java | 16 | ||||
-rw-r--r-- | framework/src/onos/utils/misc/src/test/java/org/onlab/graph/TestVertex.java | 2 | ||||
-rw-r--r-- | framework/src/onos/utils/misc/src/test/java/org/onlab/util/DefaultHashMapTest.java | 81 | ||||
-rw-r--r-- | framework/src/onos/utils/misc/src/test/java/org/onlab/util/HexStringTest.java | 2 |
6 files changed, 141 insertions, 17 deletions
diff --git a/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/DisjointPathPairTest.java b/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/DisjointPathPairTest.java new file mode 100644 index 00000000..ca6c56c4 --- /dev/null +++ b/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/DisjointPathPairTest.java @@ -0,0 +1,43 @@ +package org.onlab.graph; + +import static org.junit.Assert.*; + +import org.junit.Test; + +import com.google.common.collect.ImmutableList; +import com.google.common.testing.EqualsTester; + +/** + * Test of DisjointPathPair. + */ +public class DisjointPathPairTest { + + private static final TestVertex A = new TestVertex("A"); + private static final TestVertex B = new TestVertex("B"); + private static final TestVertex C = new TestVertex("C"); + private static final TestVertex D = new TestVertex("D"); + + private static final TestEdge AB = new TestEdge(A, B, 1.0); + private static final TestEdge BC = new TestEdge(B, C, 1.0); + private static final TestEdge AD = new TestEdge(A, D, 1.0); + private static final TestEdge DC = new TestEdge(D, C, 1.0); + + private static final Path<TestVertex, TestEdge> ABC + = new DefaultPath<>(ImmutableList.of(AB, BC), 1.0); + private static final Path<TestVertex, TestEdge> ADC + = new DefaultPath<>(ImmutableList.of(AD, DC), 1.0); + + @Test + public void testSwappingPrimarySecondaryDoesntImpactHashCode() { + assertEquals(new DisjointPathPair<>(ABC, ADC).hashCode(), + new DisjointPathPair<>(ADC, ABC).hashCode()); + } + + @Test + public void testSwappingPrimarySecondaryDoesntImpactEquality() { + new EqualsTester() + .addEqualityGroup(new DisjointPathPair<>(ABC, ADC), + new DisjointPathPair<>(ADC, ABC)); + } + +} diff --git a/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/SRLGGraphSearchTest.java b/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/SrlgGraphSearchTest.java index 8bfd270c..26d50364 100644 --- a/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/SRLGGraphSearchTest.java +++ b/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/SrlgGraphSearchTest.java @@ -31,11 +31,11 @@ import static org.onlab.graph.GraphPathSearch.ALL_PATHS; /** * Test of the Suurballe backup path algorithm. */ -public class SRLGGraphSearchTest extends BreadthFirstSearchTest { +public class SrlgGraphSearchTest extends BreadthFirstSearchTest { @Override protected AbstractGraphPathSearch<TestVertex, TestEdge> graphSearch() { - return new SRLGGraphSearch<>(null); + return new SrlgGraphSearch<>(null); } public void setDefaultWeights() { @@ -64,7 +64,7 @@ public class SRLGGraphSearchTest extends BreadthFirstSearchTest { riskProfile.put(bC, 0); riskProfile.put(aD, 1); riskProfile.put(dC, 1); - SRLGGraphSearch<TestVertex, TestEdge> search = new SRLGGraphSearch<>(2, riskProfile); + SrlgGraphSearch<TestVertex, TestEdge> search = new SrlgGraphSearch<>(2, riskProfile); Set<Path<TestVertex, TestEdge>> paths = search.search(graph, A, C, weight, ALL_PATHS).paths(); System.out.println("\n\n\n" + paths + "\n\n\n"); assertEquals("one disjoint path pair found", 1, paths.size()); @@ -105,7 +105,7 @@ public class SRLGGraphSearchTest extends BreadthFirstSearchTest { riskProfile.put(dC, 1); riskProfile.put(cE, 2); riskProfile.put(bE, 3); - SRLGGraphSearch<TestVertex, TestEdge> search = new SRLGGraphSearch<>(4, riskProfile); + SrlgGraphSearch<TestVertex, TestEdge> search = new SrlgGraphSearch<>(4, riskProfile); search.search(graph, A, E, weight, ALL_PATHS).paths(); } @@ -127,7 +127,7 @@ public class SRLGGraphSearchTest extends BreadthFirstSearchTest { riskProfile.put(dE, 3); riskProfile.put(aC, 4); riskProfile.put(cE, 5); - SRLGGraphSearch<TestVertex, TestEdge> search = new SRLGGraphSearch<>(6, riskProfile); + SrlgGraphSearch<TestVertex, TestEdge> search = new SrlgGraphSearch<>(6, riskProfile); Set<Path<TestVertex, TestEdge>> paths = search.search(graph, A, E, weight, ALL_PATHS).paths(); assertTrue("> one disjoint path pair found", paths.size() >= 1); checkIsDisjoint(paths.iterator().next(), riskProfile); @@ -147,7 +147,7 @@ public class SRLGGraphSearchTest extends BreadthFirstSearchTest { riskProfile.put(bC, 0); riskProfile.put(aD, 1); riskProfile.put(dC, 0); - SRLGGraphSearch<TestVertex, TestEdge> search = new SRLGGraphSearch<>(2, riskProfile); + SrlgGraphSearch<TestVertex, TestEdge> search = new SrlgGraphSearch<>(2, riskProfile); Set<Path<TestVertex, TestEdge>> paths = search.search(graph, A, C, weight, ALL_PATHS).paths(); System.out.println(paths); assertTrue("no disjoint path pairs found", paths.size() == 0); @@ -167,7 +167,7 @@ public class SRLGGraphSearchTest extends BreadthFirstSearchTest { riskProfile.put(bC, 0); riskProfile.put(aD, 1); riskProfile.put(dC, 0); - SRLGGraphSearch<TestVertex, TestEdge> search = new SRLGGraphSearch<>(2, riskProfile); + SrlgGraphSearch<TestVertex, TestEdge> search = new SrlgGraphSearch<>(2, riskProfile); Set<Path<TestVertex, TestEdge>> paths = search.search(graph, A, E, weight, ALL_PATHS).paths(); assertTrue("no disjoint path pairs found", paths.size() == 0); } diff --git a/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/TarjanGraphSearchTest.java b/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/TarjanGraphSearchTest.java index 624c5781..40f90513 100644 --- a/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/TarjanGraphSearchTest.java +++ b/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/TarjanGraphSearchTest.java @@ -19,20 +19,20 @@ import org.junit.Test; import static com.google.common.collect.ImmutableSet.of; import static org.junit.Assert.assertEquals; -import static org.onlab.graph.TarjanGraphSearch.SCCResult; +import static org.onlab.graph.TarjanGraphSearch.SccResult; /** * Tarjan graph search tests. */ public class TarjanGraphSearchTest extends GraphTest { - private void validate(SCCResult<TestVertex, TestEdge> result, int cc) { + private void validate(SccResult<TestVertex, TestEdge> result, int cc) { System.out.println("Cluster count: " + result.clusterVertexes().size()); System.out.println("Clusters: " + result.clusterVertexes()); assertEquals("incorrect cluster count", cc, result.clusterCount()); } - private void validate(SCCResult<TestVertex, TestEdge> result, + private void validate(SccResult<TestVertex, TestEdge> result, int i, int vc, int ec) { assertEquals("incorrect cluster count", vc, result.clusterVertexes().get(i).size()); assertEquals("incorrect edge count", ec, result.clusterEdges().get(i).size()); @@ -42,7 +42,7 @@ public class TarjanGraphSearchTest extends GraphTest { public void basic() { graph = new AdjacencyListsGraph<>(vertexes(), edges()); TarjanGraphSearch<TestVertex, TestEdge> gs = new TarjanGraphSearch<>(); - SCCResult<TestVertex, TestEdge> result = gs.search(graph, null); + SccResult<TestVertex, TestEdge> result = gs.search(graph, null); validate(result, 6); } @@ -59,7 +59,7 @@ public class TarjanGraphSearchTest extends GraphTest { new TestEdge(H, A, 1))); TarjanGraphSearch<TestVertex, TestEdge> gs = new TarjanGraphSearch<>(); - SCCResult<TestVertex, TestEdge> result = gs.search(graph, null); + SccResult<TestVertex, TestEdge> result = gs.search(graph, null); validate(result, 1); validate(result, 0, 8, 8); } @@ -76,7 +76,7 @@ public class TarjanGraphSearchTest extends GraphTest { new TestEdge(G, H, 1), new TestEdge(H, E, 1))); TarjanGraphSearch<TestVertex, TestEdge> gs = new TarjanGraphSearch<>(); - SCCResult<TestVertex, TestEdge> result = gs.search(graph, null); + SccResult<TestVertex, TestEdge> result = gs.search(graph, null); validate(result, 2); validate(result, 0, 4, 4); validate(result, 1, 4, 4); @@ -95,7 +95,7 @@ public class TarjanGraphSearchTest extends GraphTest { new TestEdge(H, E, 1), new TestEdge(B, E, 1))); TarjanGraphSearch<TestVertex, TestEdge> gs = new TarjanGraphSearch<>(); - SCCResult<TestVertex, TestEdge> result = gs.search(graph, null); + SccResult<TestVertex, TestEdge> result = gs.search(graph, null); validate(result, 2); validate(result, 0, 4, 4); validate(result, 1, 4, 4); @@ -116,7 +116,7 @@ public class TarjanGraphSearchTest extends GraphTest { new TestEdge(E, B, -1))); TarjanGraphSearch<TestVertex, TestEdge> gs = new TarjanGraphSearch<>(); - SCCResult<TestVertex, TestEdge> result = gs.search(graph, weight); + SccResult<TestVertex, TestEdge> result = gs.search(graph, weight); validate(result, 2); validate(result, 0, 4, 4); validate(result, 1, 4, 4); diff --git a/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/TestVertex.java b/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/TestVertex.java index be92bd27..b0b92a4a 100644 --- a/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/TestVertex.java +++ b/framework/src/onos/utils/misc/src/test/java/org/onlab/graph/TestVertex.java @@ -30,7 +30,7 @@ public class TestVertex implements Vertex { @Override public int hashCode() { - return Objects.hash(name); + return name.hashCode(); } @Override diff --git a/framework/src/onos/utils/misc/src/test/java/org/onlab/util/DefaultHashMapTest.java b/framework/src/onos/utils/misc/src/test/java/org/onlab/util/DefaultHashMapTest.java new file mode 100644 index 00000000..db6b5fb7 --- /dev/null +++ b/framework/src/onos/utils/misc/src/test/java/org/onlab/util/DefaultHashMapTest.java @@ -0,0 +1,81 @@ +/* + * 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.onlab.util; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/** + * Unit tests for {@link DefaultHashMap}. + */ +public class DefaultHashMapTest { + + private static final String ONE = "one"; + private static final String TWO = "two"; + private static final String THREE = "three"; + private static final String FOUR = "four"; + + private static final String ALPHA = "Alpha"; + private static final String BETA = "Beta"; + private static final String OMEGA = "Omega"; + + private DefaultHashMap<String, Integer> map; + private DefaultHashMap<String, String> chartis; + + private void loadMap() { + map.put(ONE, 1); + map.put(TWO, 2); + } + + private void fortioCharti() { + chartis.put(ONE, ALPHA); + chartis.put(TWO, BETA); + } + + @Test + public void nullDefaultIsAllowed() { + // but makes this class behave no different than HashMap + map = new DefaultHashMap<>(null); + loadMap(); + assertEquals("missing 1", 1, (int) map.get(ONE)); + assertEquals("missing 2", 2, (int) map.get(TWO)); + assertEquals("three?", null, map.get(THREE)); + assertEquals("four?", null, map.get(FOUR)); + } + + @Test + public void defaultToFive() { + map = new DefaultHashMap<>(5); + loadMap(); + assertEquals("missing 1", 1, (int) map.get(ONE)); + assertEquals("missing 2", 2, (int) map.get(TWO)); + assertEquals("three?", 5, (int) map.get(THREE)); + assertEquals("four?", 5, (int) map.get(FOUR)); + } + + @Test + public void defaultToOmega() { + chartis = new DefaultHashMap<>(OMEGA); + fortioCharti(); + assertEquals("missing 1", ALPHA, chartis.get(ONE)); + assertEquals("missing 2", BETA, chartis.get(TWO)); + assertEquals("three?", OMEGA, chartis.get(THREE)); + assertEquals("four?", OMEGA, chartis.get(FOUR)); + } + +} diff --git a/framework/src/onos/utils/misc/src/test/java/org/onlab/util/HexStringTest.java b/framework/src/onos/utils/misc/src/test/java/org/onlab/util/HexStringTest.java index e04e29a2..f4aadd15 100644 --- a/framework/src/onos/utils/misc/src/test/java/org/onlab/util/HexStringTest.java +++ b/framework/src/onos/utils/misc/src/test/java/org/onlab/util/HexStringTest.java @@ -47,7 +47,7 @@ public class HexStringTest { } @Test - public void testToLongMSB() { + public void testToLongMsb() { String dpidStr = "ca:7c:5e:d1:64:7a:95:9b"; long valid = -3856102927509056101L; long testLong = HexString.toLong(dpidStr); |