001: //--------------------------------------------------------------------------
002: // Copyright (c) 2004, Drew Davidson and Luke Blanshard
003: // All rights reserved.
004: //
005: // Redistribution and use in source and binary forms, with or without
006: // modification, are permitted provided that the following conditions are
007: // met:
008: //
009: // Redistributions of source code must retain the above copyright notice,
010: // this list of conditions and the following disclaimer.
011: // Redistributions in binary form must reproduce the above copyright
012: // notice, this list of conditions and the following disclaimer in the
013: // documentation and/or other materials provided with the distribution.
014: // Neither the name of the Drew Davidson nor the names of its contributors
015: // may be used to endorse or promote products derived from this software
016: // without specific prior written permission.
017: //
018: // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
019: // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
020: // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
021: // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
022: // COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
023: // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
024: // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
025: // OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
026: // AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
027: // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
028: // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
029: // DAMAGE.
030: //--------------------------------------------------------------------------
031: package org.ognl.test;
032:
033: import junit.framework.TestSuite;
034: import org.ognl.test.objects.Root;
035:
036: public class StaticsAndConstructorsTest extends OgnlTestCase {
037: private static Root ROOT = new Root();
038:
039: private static Object[][] TESTS = {
040: { "@java.lang.Class@forName(\"java.lang.Object\")",
041: Object.class },
042: { "@java.lang.Integer@MAX_VALUE",
043: new Integer(Integer.MAX_VALUE) },
044: { "@@max(3,4)", new Integer(4) },
045: { "new java.lang.StringBuffer().append(55).toString()",
046: "55" },
047: { "class", ROOT.getClass() },
048: { "@org.ognl.test.objects.Root@class", ROOT.getClass() },
049: { "class.getName()", ROOT.getClass().getName() },
050: { "@org.ognl.test.objects.Root@class.getName()",
051: ROOT.getClass().getName() },
052: { "@org.ognl.test.objects.Root@class.name",
053: ROOT.getClass().getName() },
054: { "class.getSuperclass()", ROOT.getClass().getSuperclass() },
055: { "class.superclass", ROOT.getClass().getSuperclass() },
056: { "class.name", ROOT.getClass().getName() },
057: { "getStaticInt()", new Integer(Root.getStaticInt()) },
058: { "@org.ognl.test.objects.Root@getStaticInt()",
059: new Integer(Root.getStaticInt()) }, };
060:
061: /*===================================================================
062: Public static methods
063: ===================================================================*/
064: public static TestSuite suite() {
065: TestSuite result = new TestSuite();
066:
067: for (int i = 0; i < TESTS.length; i++) {
068: result.addTest(new StaticsAndConstructorsTest(
069: (String) TESTS[i][0] + " (" + TESTS[i][1] + ")",
070: ROOT, (String) TESTS[i][0], TESTS[i][1]));
071: }
072: return result;
073: }
074:
075: /*===================================================================
076: Constructors
077: ===================================================================*/
078: public StaticsAndConstructorsTest() {
079: super ();
080: }
081:
082: public StaticsAndConstructorsTest(String name) {
083: super (name);
084: }
085:
086: public StaticsAndConstructorsTest(String name, Object root,
087: String expressionString, Object expectedResult,
088: Object setValue, Object expectedAfterSetResult) {
089: super (name, root, expressionString, expectedResult, setValue,
090: expectedAfterSetResult);
091: }
092:
093: public StaticsAndConstructorsTest(String name, Object root,
094: String expressionString, Object expectedResult,
095: Object setValue) {
096: super (name, root, expressionString, expectedResult, setValue);
097: }
098:
099: public StaticsAndConstructorsTest(String name, Object root,
100: String expressionString, Object expectedResult) {
101: super(name, root, expressionString, expectedResult);
102: }
103: }
|