Author: craigmcc
Date: Fri Sep 16 21:54:25 2005
New Revision: 289706

URL: http://svn.apache.org/viewcvs?rev=289706&view=rev
Log:
Add new test case for TokenProcessor.

Added:
    
struts/shale/trunk/core-library/src/test/org/apache/shale/util/TokenProcessorTestCase.java

Added: 
struts/shale/trunk/core-library/src/test/org/apache/shale/util/TokenProcessorTestCase.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/src/test/org/apache/shale/util/TokenProcessorTestCase.java?rev=289706&view=auto
==============================================================================
--- 
struts/shale/trunk/core-library/src/test/org/apache/shale/util/TokenProcessorTestCase.java
 (added)
+++ 
struts/shale/trunk/core-library/src/test/org/apache/shale/util/TokenProcessorTestCase.java
 Fri Sep 16 21:54:25 2005
@@ -0,0 +1,120 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shale.util;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+import javax.faces.context.FacesContext;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import org.apache.shale.test.base.AbstractJsfTestCase;
+
+/**
+ * <p>Test case for <code>TokenProcessor</code>.</p>
+ */
+public class TokenProcessorTestCase extends AbstractJsfTestCase {
+    
+
+    // ------------------------------------------------------------ 
Constructors
+
+
+    // Construct a new instance of this test case.
+    public TokenProcessorTestCase(String name) {
+        super(name);
+    }
+
+
+    // ---------------------------------------------------- Overall Test 
Methods
+
+
+    // Set up instance variables required by this test case.
+    public void setUp() {
+
+        super.setUp();
+
+        // Set up the instance we will be testing
+        tp = new TokenProcessor();
+
+    }
+
+
+    // Return the tests included in this test case.
+    public static Test suite() {
+
+        return (new TestSuite(TokenProcessorTestCase.class));
+
+    }
+
+
+    // Tear down instance variables required by this test case.
+    public void tearDown() {
+
+        tp = null;
+        super.tearDown();
+
+    }
+
+
+    // ------------------------------------------------------ Instance 
Variables
+
+
+    // The instance to be tested
+    TokenProcessor tp = null;
+
+
+    // ------------------------------------------------------------ Test 
Methods
+
+
+    // Test generation of multiple tokens and the ability to validate them
+    public void testMultiple() {
+
+        Set set = new HashSet();
+
+        // Create a bunch of tokens
+        for (int i = 0; i < 1000; i++) {
+            String token = tp.generate(facesContext);
+            if (set.contains(token)) {
+                fail("Token set already contains '" + token + "'");
+            }
+            set.add(token);
+            try {
+                Thread.sleep(2);
+            } catch (InterruptedException e) {
+                ;
+            }
+        }
+
+        // Ensure that we can verify all of them
+        Iterator tokens = set.iterator();
+        while (tokens.hasNext()) {
+            String token = (String) tokens.next();
+            assertTrue("Cannot verify token '" + token + "'", 
tp.verify(facesContext, token));
+        }
+        
+    }
+
+
+    // Test a pristine instance
+    public void testPristine() {
+
+        assertNotNull(tp);
+
+    }
+
+
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to