001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041:
042: package org.netbeans.modules.uml.parser.java.expressiontest;
043:
044: import org.netbeans.modules.uml.parser.java.AbstractParserTestCase;
045:
046: import junit.textui.TestRunner;
047:
048: /**
049: *
050: */
051: public class ArithmaticExpressionTest extends AbstractParserTestCase {
052:
053: final String fileName = "ArithmaticExpressionTestFile.java";
054:
055: // These are the expected states for the above mentioned file
056:
057: final String[] expectedStates = { "Class Declaration", "Modifiers",
058: "Generalization", "Realization", "Body",
059: "Method Definition", "Modifiers", "Type", "Parameters",
060: "Method Body", "Variable Definition", "Modifiers", "Type",
061: "Variable Definition", "Modifiers", "Type",
062: "Variable Definition", "Modifiers", "Type",
063: "Assignment Expression", "Identifier",
064: "Assignment Expression", "Identifier",
065: "Assignment Expression", "Identifier",
066: "Increment Post Unary Expression", "Identifier",
067: "Increment Unary Expression", "Identifier",
068: "Variable Definition", "Modifiers", "Type", "Initializer",
069: "Plus Assignment Expression", "Identifier",
070: "Plus Expression", "Plus Expression",
071: "Increment Post Unary Expression", "Identifier",
072: "Identifier", "Identifier", "Variable Definition",
073: "Modifiers", "Type", "Initializer", "Divide Expression",
074: "Identifier", "Identifier" };
075:
076: // These are the expected tokens for the above mentioned file
077:
078: final String[][] expectedTokens = {
079: { "ArithmaticExpressionTestFile", "Name" },
080: { "{", "Class Body Start" }, { "void", "Primitive Type" },
081: { "method", "Name" }, { "{", "Method Body Start" },
082: { "int", "Primitive Type" }, { "i", "Name" },
083: { "int", "Primitive Type" }, { "j", "Name" },
084: { "int", "Primitive Type" }, { "k", "Name" },
085: { "=", "Operator" }, { "i", "Identifier" },
086: { "=", "Operator" }, { "j", "Identifier" },
087: { "=", "Operator" }, { "k", "Identifier" },
088: { "2", "Integer Constant" }, { "++", "Operator" },
089: { "i", "Identifier" }, { "++", "Operator" },
090: { "k", "Identifier" }, { "int", "Primitive Type" },
091: { "shortcutOp", "Name" }, { "10", "Integer Constant" },
092: { "+=", "Operator" }, { "shortcutOp", "Identifier" },
093: { "+", "Operator" }, { "+", "Operator" },
094: { "++", "Operator" }, { "i", "Identifier" },
095: { "j", "Identifier" }, { "k", "Identifier" },
096: { "int", "Primitive Type" }, { "Div", "Name" },
097: { "/", "Operator" }, { "i", "Identifier" },
098: { "j", "Identifier" }, { "}", "Method Body End" },
099: { "}", "Class Body End" } };
100:
101: @Override
102: protected void setUp() throws Exception {
103: super .setUp();
104: }
105:
106: public static void main(String[] args) {
107: TestRunner.run(ArithmaticExpressionTest.class);
108: }
109:
110: public void testArithmaticExpression() {
111: execute(fileName, expectedStates, expectedTokens);
112: }
113:
114: }
|