📄 pagstester.java
字号:
package org.jasig.portal.groups.pags;import java.util.Random;import java.util.Vector;import junit.framework.TestCase;import junit.framework.TestSuite;import org.jasig.portal.groups.pags.testers.IntegerEQTester;import org.jasig.portal.groups.pags.testers.IntegerGETester;import org.jasig.portal.groups.pags.testers.IntegerGTTester;import org.jasig.portal.groups.pags.testers.IntegerLETester;import org.jasig.portal.groups.pags.testers.IntegerLTTester;import org.jasig.portal.groups.pags.testers.RegexTester;import org.jasig.portal.groups.pags.testers.StringEqualsIgnoreCaseTester;import org.jasig.portal.groups.pags.testers.StringEqualsTester;import org.jasig.portal.security.IPerson;import org.jasig.portal.security.provider.PersonImpl;/** * Tests the PAGS testers. * @author: Dan Ellentuck */public class PAGSTester extends TestCase { private static Class IPERSON_CLASS; private static String CR = "\n"; private Random random = new Random(); private String[] attributeNames = {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"}; private String[] randomStrings; private String[] randomIntStrings; private String INTEGER_MAX = Integer.MAX_VALUE + ""; private String INTEGER_MIN = Integer.MIN_VALUE + ""; private String key1 = null; private String key2 = null; private String key3 = null; private String missingKey = null; private Vector intStringVector = null; private Vector stringVector = null; private int testVectorSize = 10; /** * PAGSTester constructor. */public PAGSTester(String name) { super(name);}/** * @return org.jasig.portal.groups.IEntity */private IPerson getIPerson(String key) { IPerson ip = new PersonImpl(); ip.setAttribute(IPerson.USERNAME, key); return ip;}/*** @return java.lang.String * @param length int */private String getRandomString(java.util.Random r, int length) { char[] chars = new char[length]; for(int i=0; i<length; i++) { int diff = ( r.nextInt(25) ); int charValue = (int)'A' + diff; chars[i] = (char) charValue; } return new String(chars);}/** * @param msg java.lang.String */private static void print(String msg){ java.sql.Timestamp ts = new java.sql.Timestamp(System.currentTimeMillis()); System.out.println(ts + " : " + msg);}private static void printBlankLine(){ System.out.println("");}/** */protected void setUp(){ try { if ( IPERSON_CLASS == null ) { IPERSON_CLASS = Class.forName("org.jasig.portal.security.IPerson"); } randomStrings = new String[100]; for (int idx=0; idx<100; idx++) { int length = random.nextInt(10) + 1; // between 1 and 11. randomStrings[idx] = getRandomString(random, length); } randomIntStrings = new String[100]; for (int idx=0; idx<100; idx++) { int randomInt = random.nextInt(99999) + 1; // between 1 and 100000. randomIntStrings[idx] = randomInt + ""; } intStringVector = new Vector(); for (int idx=2; idx<testVectorSize; idx++) { intStringVector.add(randomIntStrings[idx]); } stringVector = new Vector(); for (int idx=2; idx<testVectorSize; idx++) { stringVector.add(randomStrings[idx]); } key1 = attributeNames[0]; key2 = attributeNames[1]; key3 = attributeNames[2]; missingKey = attributeNames[3]; } catch (Exception ex) { print("GroupsTester.setUp(): " + ex.getMessage());} }/** * @return junit.framework.Test */public static junit.framework.Test suite() { TestSuite suite = new TestSuite(); suite.addTest(new PAGSTester("testStringEqualsTester")); suite.addTest(new PAGSTester("testStringEqualsIgnoreCaseTester")); suite.addTest(new PAGSTester("testIntegerEQTester")); suite.addTest(new PAGSTester("testIntegerGTTester")); suite.addTest(new PAGSTester("testIntegerLTTester")); suite.addTest(new PAGSTester("testIntegerGETester")); suite.addTest(new PAGSTester("testIntegerLETester")); suite.addTest(new PAGSTester("testRegexTester")); // Add more tests here.// NB: Order of tests is not guaranteed. return suite;}/** */protected void tearDown(){}/** */public void testStringEqualsTester() throws Exception{ print(CR + "***** ENTERING PAGSTester.testStringEqualsTester() *****" + CR); String msg = null; msg = "Creating a new IPerson"; print(msg); IPerson newPerson = getIPerson("de3"); assertNotNull(msg, newPerson); print("Adding attributes to IPerson."); newPerson.setAttribute(key1, randomStrings[0]); newPerson.setAttribute(key2, randomStrings[1]); newPerson.setAttribute(key3, stringVector); msg = "Testing IPerson " + newPerson; print(msg); IPersonTester tester1 = new StringEqualsTester(key1, randomStrings[0]); IPersonTester tester2 = new StringEqualsTester(key2, randomStrings[1]); IPersonTester tester3 = new StringEqualsTester(key3, randomStrings[testVectorSize - 1]); IPersonTester tester4 = new StringEqualsTester(key3, randomStrings[0] + "x"); IPersonTester tester5 = new StringEqualsTester(missingKey, randomStrings[0]); msg = "Testing " + tester1; assertTrue(msg, tester1.test(newPerson)); msg = "Testing " + tester2; assertTrue(msg, tester2.test(newPerson)); msg = "Testing " + tester3; assertTrue(msg, tester3.test(newPerson)); msg = "Testing " + tester4; assertFalse(msg, tester4.test(newPerson)); msg = "Testing " + tester5; assertFalse(msg, tester5.test(newPerson)); print("Success!"); print(CR + "***** LEAVING PAGSTester.testStringEqualsTester() *****" + CR);}public void testStringEqualsIgnoreCaseTester() throws Exception{ print(CR + "***** ENTERING PAGSTester.testStringEqualsIgnoreCaseTester() *****" + CR); String msg = null; msg = "Creating a new IPerson"; print(msg); IPerson newPerson = getIPerson("de3"); assertNotNull(msg, newPerson); print("Adding attributes to IPerson."); newPerson.setAttribute(key1, randomStrings[0]); newPerson.setAttribute(key2, randomStrings[1].toLowerCase()); msg = "Testing IPerson " + newPerson; print(msg); String testKey = randomStrings[0].toLowerCase(); IPersonTester tester1 = new StringEqualsIgnoreCaseTester(key1, testKey); IPersonTester tester2 = new StringEqualsIgnoreCaseTester(key2, randomStrings[1]); msg = "Testing " + tester1; assertTrue(msg, tester1.test(newPerson)); msg = "Testing " + tester2; assertTrue(msg, tester2.test(newPerson)); print("Success!"); print(CR + "***** LEAVING PAGSTester.testStringEqualsIgnoreCaseTester() *****" + CR);}/** */public void testIntegerEQTester() throws Exception{ print(CR + "***** ENTERING PAGSTester.testIntegerEQTester() *****" + CR); String msg = null; msg = "Creating a new IPerson"; print(msg); IPerson newPerson = getIPerson("de3"); assertNotNull(msg, newPerson); print("Adding attributes to IPerson."); newPerson.setAttribute(key1, randomIntStrings[0]); newPerson.setAttribute(key2, randomIntStrings[1]); newPerson.setAttribute(key3, intStringVector); msg = "Testing IPerson " + newPerson; print(msg); IPersonTester tester1 = new IntegerEQTester(key1, randomIntStrings[0]); IPersonTester tester2 = new IntegerEQTester(key2, randomIntStrings[1]); IPersonTester tester3 = new IntegerEQTester(key3, randomIntStrings[testVectorSize - 1]); IPersonTester tester4 = new IntegerEQTester(key3, "0"); msg = "Testing " + tester1; assertTrue(msg, tester1.test(newPerson)); msg = "Testing " + tester2; assertTrue(msg, tester2.test(newPerson));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -