2 * Copyright (C) 2014 Cisco Systems, Inc.
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
10 package org.opendaylight.groupbasedpolicy.renderer.opflex.mit;
12 import static org.junit.Assert.assertFalse;
13 import static org.junit.Assert.assertTrue;
15 import java.util.ArrayList;
16 import java.util.Arrays;
17 import java.util.List;
19 import org.junit.Test;
21 public class PolicyUriTest {
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;
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));
53 public void testPushPop() throws Exception {
54 PolicyUri uri = new PolicyUri();
56 uri.push(TEST_STRING_1);
57 uri.push(TEST_STRING_2);
58 uri.push(TEST_STRING_3);
60 assertTrue(uri.pop().equals(TEST_STRING_3));
61 assertTrue(uri.pop().equals(TEST_STRING_2));
63 uri.push(TEST_STRING_3);
64 uri.push(TEST_STRING_1);
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);
74 public void testFullUri1() throws Exception {
75 List<String> TEST_TOKENS =
76 Arrays.asList(TEST_TOKEN_1,
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));
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));
95 public void testGetParent() throws Exception {
96 PolicyUri uri = new PolicyUri(FULL_URI);
97 String parent = uri.getParent();
99 assertTrue(parent.equals(uri.originalPath()));
103 public void testValid() throws Exception {
104 PolicyUri uri = new PolicyUri();
106 assertFalse(uri.valid());
107 uri.push(TEST_TOKEN_1);
108 assertTrue(uri.valid());
112 public void testGetElement() throws Exception {
113 PolicyUri uri = new PolicyUri(FULL_URI);
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));
124 public void testTotalElements() throws Exception {
125 PolicyUri uri = new PolicyUri(FULL_URI);
126 assertTrue(uri.totalElements() == 3);
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));
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));