1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.acegisecurity;
17
18 import junit.framework.TestCase;
19
20 import java.util.ArrayList;
21 import java.util.Iterator;
22
23
24
25
26
27
28
29
30 public class ConfigAttributeEditorTests extends TestCase {
31
32
33 public ConfigAttributeEditorTests() {
34 super();
35 }
36
37 public ConfigAttributeEditorTests(String arg0) {
38 super(arg0);
39 }
40
41
42
43 public static void main(String[] args) {
44 junit.textui.TestRunner.run(ConfigAttributeEditorTests.class);
45 }
46
47 public final void setUp() throws Exception {
48 super.setUp();
49 }
50
51 public void testCorrectOperation() {
52 ConfigAttributeEditor editor = new ConfigAttributeEditor();
53 editor.setAsText("HELLO,DOCTOR,NAME,YESTERDAY,TOMORROW");
54
55 ConfigAttributeDefinition result = (ConfigAttributeDefinition) editor.getValue();
56 Iterator iter = result.getConfigAttributes();
57 int position = 0;
58
59 while (iter.hasNext()) {
60 position++;
61 iter.next();
62 }
63
64 assertEquals(5, position);
65
66 assertEquals(5, result.size());
67
68 assertTrue(result.contains(new SecurityConfig("HELLO")));
69 assertTrue(result.contains(new SecurityConfig("TOMORROW")));
70 assertFalse(result.contains(new SecurityConfig("FOOBAR")));
71 }
72
73 public void testEmptyStringReturnsNull() {
74 ConfigAttributeEditor editor = new ConfigAttributeEditor();
75 editor.setAsText("");
76
77 ConfigAttributeDefinition result = (ConfigAttributeDefinition) editor.getValue();
78 assertTrue(result == null);
79 }
80
81 public void testEqualsHandlingWhenDifferentObjectTypes() {
82 ConfigAttributeDefinition def1 = new ConfigAttributeDefinition();
83 def1.addConfigAttribute(new SecurityConfig("A"));
84 def1.addConfigAttribute(new SecurityConfig("B"));
85
86 assertTrue(!def1.equals("A_STRING"));
87 }
88
89 public void testEqualsHandlingWhenExactlyEqual() {
90 ConfigAttributeDefinition def1 = new ConfigAttributeDefinition();
91 def1.addConfigAttribute(new SecurityConfig("A"));
92 def1.addConfigAttribute(new SecurityConfig("B"));
93
94 ConfigAttributeDefinition def2 = new ConfigAttributeDefinition();
95 def2.addConfigAttribute(new SecurityConfig("A"));
96 def2.addConfigAttribute(new SecurityConfig("B"));
97
98 assertEquals(def1, def2);
99 }
100
101 public void testEqualsHandlingWhenOrderingNotEqual() {
102 ConfigAttributeDefinition def1 = new ConfigAttributeDefinition();
103 def1.addConfigAttribute(new SecurityConfig("A"));
104 def1.addConfigAttribute(new SecurityConfig("B"));
105
106 ConfigAttributeDefinition def2 = new ConfigAttributeDefinition();
107 def2.addConfigAttribute(new SecurityConfig("B"));
108 def2.addConfigAttribute(new SecurityConfig("A"));
109
110 assertTrue(!def1.equals(def2));
111 }
112
113 public void testEqualsHandlingWhenTestObjectHasNoAttributes() {
114 ConfigAttributeDefinition def1 = new ConfigAttributeDefinition();
115 def1.addConfigAttribute(new SecurityConfig("A"));
116 def1.addConfigAttribute(new SecurityConfig("B"));
117
118 ConfigAttributeDefinition def2 = new ConfigAttributeDefinition();
119
120 assertTrue(!def1.equals(def2));
121 assertTrue(!def2.equals(def1));
122 }
123
124 public void testNullReturnsNull() {
125 ConfigAttributeEditor editor = new ConfigAttributeEditor();
126 editor.setAsText(null);
127
128 ConfigAttributeDefinition result = (ConfigAttributeDefinition) editor.getValue();
129 assertTrue(result == null);
130 }
131
132 public void testStripsTrailingAndLeadingSpaces() {
133 ConfigAttributeEditor editor = new ConfigAttributeEditor();
134 editor.setAsText(" HELLO, DOCTOR,NAME, YESTERDAY ,TOMORROW ");
135
136 ConfigAttributeDefinition result = (ConfigAttributeDefinition) editor.getValue();
137 Iterator iter = result.getConfigAttributes();
138
139 ArrayList list = new ArrayList();
140
141 while (iter.hasNext()) {
142 list.add(iter.next());
143 }
144
145 assertEquals("HELLO", ((ConfigAttribute) list.get(0)).getAttribute());
146 assertEquals("DOCTOR", ((ConfigAttribute) list.get(1)).getAttribute());
147 assertEquals("NAME", ((ConfigAttribute) list.get(2)).getAttribute());
148 assertEquals("YESTERDAY", ((ConfigAttribute) list.get(3)).getAttribute());
149 assertEquals("TOMORROW", ((ConfigAttribute) list.get(4)).getAttribute());
150 }
151
152 public void testToString() {
153 ConfigAttributeEditor editor = new ConfigAttributeEditor();
154 editor.setAsText("KOALA,KANGAROO,EMU,WOMBAT");
155
156 ConfigAttributeDefinition result = (ConfigAttributeDefinition) editor.getValue();
157 assertEquals("[KOALA, KANGAROO, EMU, WOMBAT]", result.toString());
158 }
159 }