2 * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.nemo.intent.algorithm;
10 import java.util.Collection;
11 import java.util.LinkedList;
12 import java.util.List;
13 import junit.framework.TestCase;
14 import org.junit.Assert;
15 import org.junit.Before;
16 import org.junit.Test;
18 * Created by zhangmeng on 2015/11/25.
20 public class RoutingAlgorithmTest extends TestCase {
21 private RoutingAlgorithm routingAlgorithm;
23 public void setUp() throws Exception {
24 routingAlgorithm = new RoutingAlgorithm();
28 public void testVertexAndEdge() {
30 Collection<Vertex> collection ;
31 collection = routingAlgorithm.getVertices();
32 Assert.assertEquals(true, collection.isEmpty());
35 Vertex vertex = new Vertex("test");
36 Vertex vertex1 = new Vertex("test1");
37 Vertex vertex2 = new Vertex("test2");
38 Vertex vertex3 = new Vertex("test3");
39 routingAlgorithm.addVertex(vertex);
40 routingAlgorithm.addVertex(vertex1);
41 routingAlgorithm.addVertex(vertex2);
42 routingAlgorithm.addVertex(vertex3);
45 Vertex vertex_test = routingAlgorithm.getVertex("null");
46 Assert.assertNull(vertex_test);
47 vertex_test = routingAlgorithm.getVertex("test");
48 Assert.assertNotNull(vertex_test);
51 Edge edge = new Edge("edge","test","test1",1,1);
52 Edge edge1 = new Edge("edge1","test2","test3",1,1);
53 Edge edge2 = new Edge("edge2","test1","test2",1,1);
54 routingAlgorithm.addEdge(edge);
55 routingAlgorithm.addEdge(edge1);
56 routingAlgorithm.addEdge(edge2);
59 Edge edge_test = routingAlgorithm.getEdge("null");
60 Assert.assertNull(edge_test);
61 edge_test = routingAlgorithm.getEdge("edge");
62 Assert.assertNotNull(edge_test);
63 edge_test = routingAlgorithm.getEdge("edge1");
64 Assert.assertNotNull(edge_test);
67 collection = routingAlgorithm.getVertices();
68 Assert.assertEquals(4,collection.size());
71 edge = new Edge("edge","test","test1",0,0);
72 routingAlgorithm.updateEdge(edge);
73 edge_test = routingAlgorithm.getEdge("edge");
74 Assert.assertEquals(0,edge_test.getMetric());
75 Assert.assertEquals(0,edge_test.getBandwidth());
78 List<Edge> path = new LinkedList<Edge>();
79 Assert.assertEquals(0,path.size());
80 path = routingAlgorithm.computePath(vertex,vertex1);
81 Assert.assertEquals(1, path.size());
83 path = routingAlgorithm.computePath(vertex1,vertex3,1);
84 Assert.assertEquals(2,path.size());
88 routingAlgorithm.removeEdge("null");
89 edge_test = routingAlgorithm.getEdge("edge");
90 Assert.assertNotNull(edge_test);
91 routingAlgorithm.removeEdge("edge");
92 edge_test = routingAlgorithm.getEdge("edge");
93 Assert.assertNull(edge_test);
96 routingAlgorithm.removeVertex("null");
97 vertex_test = routingAlgorithm.getVertex("test");
98 Assert.assertNotNull(vertex_test);
99 routingAlgorithm.removeVertex("test");
100 vertex_test = routingAlgorithm.getVertex("test");
101 Assert.assertNull(vertex_test);
105 Assert.assertEquals(0,s.length());
106 s = routingAlgorithm.toString();
107 Assert.assertTrue(s.length() > 1);