View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.myfaces.view.facelets.impl;
20  
21  import java.util.Set;
22  import java.util.TreeSet;
23  
24  import org.apache.myfaces.test.base.junit4.AbstractJsfTestCase;
25  import org.junit.Test;
26  import org.testng.Assert;
27  
28  public class SectionUniqueIdCounterTest extends AbstractJsfTestCase
29  {
30      @Test
31      public void testSimpleCounter()
32      {
33          Set<String> idSet = new TreeSet<String>();
34          SectionUniqueIdCounter counter = new SectionUniqueIdCounter();
35          
36          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
37          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
38          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
39          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
40          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
41          Assert.assertTrue(idSet.add(counter.startUniqueIdSection()));
42          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
43          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
44          Assert.assertTrue(idSet.add(counter.startUniqueIdSection()));
45          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
46          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
47          counter.endUniqueIdSection();
48          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
49          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
50          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
51          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
52          counter.endUniqueIdSection();
53          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
54          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
55          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
56          Assert.assertTrue(idSet.add(counter.generateUniqueId()));
57          
58          /*
59          SectionUniqueIdCounter counter = new SectionUniqueIdCounter("_");
60          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
61          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
62          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
63          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
64          counter.startUniqueIdSection();
65          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
66          counter.startUniqueIdSection();
67          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
68          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
69          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
70          counter.endUniqueIdSection();
71          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
72          counter.endUniqueIdSection();
73          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
74          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
75          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
76          
77          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
78          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
79          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
80          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
81          counter.startUniqueIdSection();
82          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
83          counter.startUniqueIdSection();
84          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
85          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
86          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
87          counter.endUniqueIdSection();
88          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
89          counter.endUniqueIdSection();
90          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
91          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
92          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
93          
94          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
95          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
96          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
97          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
98          counter.startUniqueIdSection();
99          System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
100         counter.startUniqueIdSection();
101         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
102         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
103         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
104         counter.endUniqueIdSection();
105         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
106         counter.endUniqueIdSection();
107         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
108         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
109         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
110         
111         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
112         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
113         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
114         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
115         counter.startUniqueIdSection();
116         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
117         counter.startUniqueIdSection();
118         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
119         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
120         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
121         counter.endUniqueIdSection();
122         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
123         counter.endUniqueIdSection();
124         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
125         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
126         System.out.println(UIViewRoot.UNIQUE_ID_PREFIX+counter.generateUniqueId());
127         */
128     }
129     
130     @Test
131     public void testCachedCounter()
132     {
133         String[] cache = SectionUniqueIdCounter.generateUniqueIdCache("_", 10);
134         
135         SectionUniqueIdCounter counter = new SectionUniqueIdCounter("_", cache);
136         SectionUniqueIdCounter counterOrig = new SectionUniqueIdCounter("_");
137         
138         Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
139         Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
140         Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
141         Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
142         
143         counterOrig.startUniqueIdSection();
144         counter.startUniqueIdSection();
145         
146         Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
147         Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
148         Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
149         Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
150 
151         counterOrig.endUniqueIdSection();
152         counter.endUniqueIdSection();
153         
154         Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
155         Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
156         Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
157         Assert.assertEquals(counterOrig.generateUniqueId(), counter.generateUniqueId());
158     }
159     
160 }