Separating renderers into features.
[groupbasedpolicy.git] / renderers / opflex / src / test / java / org / opendaylight / groupbasedpolicy / renderer / opflex / mit / PolicyUriTest.java
1 /*
2  * Copyright (C) 2014 Cisco Systems, Inc.
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  *  Authors : tbachman
9  */
10 package org.opendaylight.groupbasedpolicy.renderer.opflex.mit;
11
12 import static org.junit.Assert.assertFalse;
13 import static org.junit.Assert.assertTrue;
14
15 import java.util.ArrayList;
16 import java.util.Arrays;
17 import java.util.List;
18
19 import org.junit.Test;
20
21 public class PolicyUriTest {
22
23         private static final String TEST_STRING_1 = "foo";
24         private static final String TEST_STRING_2 = "bar";
25         private static final String TEST_STRING_3 = "boo";
26         private static final String TEST_TOKEN_1 = "PolicyUniverse";
27         private static final String TEST_TOKEN_2 = "PolicySpace";
28         private static final String TEST_TOKEN_3 = "7a44000e-056d-4566-bbb0-32b973f90369";
29         private static final String FULL_URI = PolicyUri.POLICY_URI_SEP + TEST_TOKEN_1 +
30                                                        PolicyUri.POLICY_URI_SEP + TEST_TOKEN_2 +
31                                                        PolicyUri.POLICY_URI_SEP + TEST_TOKEN_3;
32
33
34     @Test
35     public void testConstructors() throws Exception {
36         PolicyUri uri1 = new PolicyUri(FULL_URI);
37         PolicyUri uri2 = new PolicyUri(uri1);
38         assertTrue(uri1.equals(uri2));
39         List<String> tokens = new ArrayList<String>();
40         tokens.add(TEST_TOKEN_1);
41         tokens.add(TEST_TOKEN_2);
42         tokens.add(TEST_TOKEN_3);
43         PolicyUri uri3 = new PolicyUri(tokens);
44         assertTrue(uri3.equals(uri1));
45         PolicyUri uri4 = new PolicyUri();
46         uri4.push(TEST_TOKEN_1);
47         uri4.push(TEST_TOKEN_2);
48         uri4.push(TEST_TOKEN_3);
49         assertTrue(uri4.equals(uri1));
50     }
51
52     @Test
53     public void testPushPop() throws Exception {
54         PolicyUri uri = new PolicyUri();
55
56         uri.push(TEST_STRING_1);
57         uri.push(TEST_STRING_2);
58         uri.push(TEST_STRING_3);
59
60         assertTrue(uri.pop().equals(TEST_STRING_3));
61         assertTrue(uri.pop().equals(TEST_STRING_2));
62
63         uri.push(TEST_STRING_3);
64         uri.push(TEST_STRING_1);
65
66         assertTrue(uri.pop().equals(TEST_STRING_1));
67         assertTrue(uri.pop().equals(TEST_STRING_3));
68         assertTrue(uri.pop().equals(TEST_STRING_1));
69         assertTrue(uri.pop() == null);
70
71     }
72
73     @Test
74     public void testFullUri1() throws Exception {
75         List<String> TEST_TOKENS =
76                         Arrays.asList(TEST_TOKEN_1,
77                                               TEST_TOKEN_2,
78                                               TEST_TOKEN_3);
79         PolicyUri uri = new PolicyUri(TEST_TOKENS);
80         assertTrue(uri.pop().equals(TEST_TOKEN_3));
81         assertTrue(uri.pop().equals(TEST_TOKEN_2));
82         assertTrue(uri.pop().equals(TEST_TOKEN_1));
83     }
84
85     @Test
86     public void testFullUri2() throws Exception {
87         PolicyUri uri = new PolicyUri(FULL_URI);
88         assertTrue(uri.pop().equals(TEST_TOKEN_3));
89         assertTrue(uri.pop().equals(TEST_TOKEN_2));
90         assertTrue(uri.pop().equals(TEST_TOKEN_1));
91
92     }
93
94     @Test
95     public void testGetParent() throws Exception {
96         PolicyUri uri = new PolicyUri(FULL_URI);
97         String parent = uri.getParent();
98         uri.pop();
99         assertTrue(parent.equals(uri.originalPath()));
100     }
101
102     @Test
103     public void testValid() throws Exception {
104         PolicyUri uri = new PolicyUri();
105
106         assertFalse(uri.valid());
107         uri.push(TEST_TOKEN_1);
108         assertTrue(uri.valid());
109     }
110
111     @Test
112     public void testGetElement() throws Exception {
113         PolicyUri uri = new PolicyUri(FULL_URI);
114
115         String element = uri.getElement(0);
116         assertTrue(element.equals(TEST_TOKEN_1));
117         element = uri.getElement(1);
118         assertTrue(element.equals(TEST_TOKEN_2));
119         element = uri.getElement(2);
120         assertTrue(element.equals(TEST_TOKEN_3));
121     }
122
123     @Test
124     public void testTotalElements() throws Exception {
125         PolicyUri uri = new PolicyUri(FULL_URI);
126         assertTrue(uri.totalElements() == 3);
127     }
128
129     @Test
130     public void testContains() throws Exception {
131         PolicyUri uri = new PolicyUri(FULL_URI);
132         assertFalse(uri.contains(TEST_STRING_1));
133         assertTrue(uri.contains(TEST_TOKEN_3));
134     }
135
136     @Test
137     public void testStrings() throws Exception {
138         PolicyUri uri = new PolicyUri(FULL_URI);
139         assertTrue(uri.toString().equals(FULL_URI));
140         assertTrue(uri.originalPath().equals(FULL_URI));
141     }
142
143 }