001: /*
002: * Copyright 2002-2006 The Apache Software Foundation.
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016: package org.apache.commons.jexl;
017:
018: import java.io.File;
019: import java.net.URL;
020:
021: import junit.framework.TestCase;
022:
023: /**
024: * Tests for ScriptFactory
025: * @since 1.1
026: */
027: public class ScriptFactoryTest extends TestCase {
028:
029: /**
030: * Creates a new test case.
031: * @param name the test case name.
032: */
033: public ScriptFactoryTest(String name) {
034: super (name);
035: }
036:
037: /**
038: * Ensure the factory can create a script from a String
039: * @throws Exception on a parse error
040: */
041: public void testCreateFromString() throws Exception {
042: String code = ";";
043: assertNotNull("No script created", ScriptFactory
044: .createScript(code));
045: }
046:
047: /**
048: * Ensure the factory can create a script from a String
049: * @throws Exception on a parse error
050: */
051: public void testCreateFromSimpleString() throws Exception {
052: String code = "(1 + 2) * 4";
053: assertNotNull("No script created", ScriptFactory
054: .createScript(code));
055: }
056:
057: /**
058: * Ensure the factory throws an NPE on an null String
059: * @throws Exception on a parse error
060: */
061: public void testCreateFromNullString() throws Exception {
062: String code = null;
063: try {
064: assertNotNull("No script created", ScriptFactory
065: .createScript(code));
066: fail("Null script created");
067: } catch (NullPointerException e) {
068: // expected
069: }
070: }
071:
072: /**
073: * Ensure the factory can create a script from a file.
074: * @throws Exception on a parse error.
075: */
076: public void testCreateFromFile() throws Exception {
077: File testScript = new File("src/test-scripts/test1.jexl");
078: assertNotNull("No script created", ScriptFactory
079: .createScript(testScript));
080: }
081:
082: /**
083: * Ensure the factory throws npe on a null file.
084: * @throws Exception on a parse error.
085: */
086: public void testCreateFromNullFile() throws Exception {
087: File testScript = null;
088: try {
089: assertNotNull("No script created", ScriptFactory
090: .createScript(testScript));
091: fail("Null script created");
092: } catch (NullPointerException e) {
093: // expected
094: }
095: }
096:
097: /**
098: * Ensure the factory can create a script from a URL.
099: * @throws Exception on a parse error.
100: */
101: public void testCreateFromURL() throws Exception {
102: URL testUrl = new File("src/test-scripts/test1.jexl").toURL();
103: assertNotNull("No script created", ScriptFactory
104: .createScript(testUrl));
105: }
106:
107: /**
108: * Ensure the factory throws an NPE on an null URL
109: * @throws Exception on a parse error
110: */
111: public void testCreateFromNullURL() throws Exception {
112: URL code = null;
113: try {
114: assertNotNull("No script created", ScriptFactory
115: .createScript(code));
116: fail("Null script created");
117: } catch (NullPointerException e) {
118: // expected
119: }
120: }
121:
122: }
|