Add INFO.yaml for nemo
[nemo.git] / nemo-impl / src / test / java / org / opendaylight / nemo / intent / algorithm / RoutingAlgorithmTest.java
1 /*
2  * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
3  *
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
7  */
8 package org.opendaylight.nemo.intent.algorithm;
9
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;
17 /**
18  * Created by zhangmeng on 2015/11/25.
19  */
20 public class RoutingAlgorithmTest extends TestCase {
21     private RoutingAlgorithm routingAlgorithm;
22     @Before
23     public void setUp() throws Exception {
24         routingAlgorithm = new RoutingAlgorithm();
25     }
26
27     @Test
28     public void testVertexAndEdge() {
29         //test get Vertices
30         Collection<Vertex> collection ;
31         collection = routingAlgorithm.getVertices();
32         Assert.assertEquals(true, collection.isEmpty());
33
34         //add vertex
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);
43
44         //test get vertex
45         Vertex vertex_test = routingAlgorithm.getVertex("null");
46         Assert.assertNull(vertex_test);
47         vertex_test = routingAlgorithm.getVertex("test");
48         Assert.assertNotNull(vertex_test);
49
50         //add edge
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);
57
58         //test get edge
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);
65
66         //test get Vertices
67         collection = routingAlgorithm.getVertices();
68         Assert.assertEquals(4,collection.size());
69
70         //test update edge
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());
76
77         //test computePath
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());
82         path.clear();
83         path = routingAlgorithm.computePath(vertex1,vertex3,1);
84         Assert.assertEquals(2,path.size());
85
86         //test remove
87         //remove edge
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);
94
95         //remove Vertex
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);
102
103         //test toString
104         String s = "";
105         Assert.assertEquals(0,s.length());
106         s = routingAlgorithm.toString();
107         Assert.assertTrue(s.length() > 1);
108
109     }
110     
111 }