| /******************************************************************************* |
| * Copyright (c) 2000, 2009 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.jdt.core.tests.model; |
| |
| import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants; |
| import org.eclipse.jdt.core.jdom.*; |
| |
| import junit.framework.Test; |
| |
| /** |
| * @deprecated JDOM is obsolete |
| */ |
| public class CreateMethodSourceExamplesTests extends AbstractJavaModelTests { |
| |
| IDOMFactory domFactory; |
| |
| public CreateMethodSourceExamplesTests(String name) { |
| super(name); |
| } |
| public void setUpSuite() throws Exception { |
| super.setUpSuite(); |
| this.domFactory = new DOMFactory(); |
| } |
| |
| public static Test suite() { |
| return buildModelTestSuite(CreateMethodSourceExamplesTests.class); |
| } |
| /** |
| * Example of creating source for a method in an interface. |
| */ |
| public void testCreateEmptyInterfaceMethod() { |
| IDOMMethod method= this.domFactory.createMethod(); |
| method.setName("foo"); |
| method.setBody(";\n"); |
| assertSourceEquals( |
| "source code incorrect", |
| "public void foo();\n", |
| method.getContents()); |
| } |
| /** |
| * Example of creating a default empty method. |
| */ |
| public void testCreateEmptyMethod() { |
| IDOMMethod method= this.domFactory.createMethod(); |
| method.setName("foo"); |
| assertSourceEquals( |
| "source code incorrect", |
| "public void foo() {\n" + |
| "}\n", |
| method.getContents()); |
| } |
| /** |
| * Example of creating an abstract method. |
| */ |
| public void testCreateMethodWithAbstractModifier() { |
| |
| IDOMMethod method= this.domFactory.createMethod(); |
| method.setName("foo"); |
| method.setFlags(ClassFileConstants.AccPublic| ClassFileConstants.AccAbstract); |
| assertSourceEquals( |
| "source code incorrect", |
| "public abstract void foo() {\n" + |
| "}\n", |
| method.getContents()); |
| |
| } |
| /** |
| * Example of creating a method body. |
| */ |
| public void testCreateMethodWithBody() { |
| |
| IDOMMethod method= this.domFactory.createMethod(); |
| method.setName("foo"); |
| method.setBody( |
| " {\n" + |
| "\t...method body...\n" + |
| "}\n"); |
| assertSourceEquals( |
| "source code incorrect", |
| "public void foo() {\n" + |
| "\t...method body...\n" + |
| "}\n", |
| method.getContents()); |
| |
| } |
| /** |
| * Example of creating a method with public and static modifiers. |
| */ |
| public void testCreateMethodWithModifiers() { |
| |
| IDOMMethod method= this.domFactory.createMethod(); |
| method.setName("foo"); |
| method.setFlags(ClassFileConstants.AccPublic| ClassFileConstants.AccStatic); |
| assertSourceEquals( |
| "source code incorrect", |
| "public static void foo() {\n" + |
| "}\n", |
| method.getContents()); |
| |
| } |
| /** |
| * Example of creating a method with modifiers and exceptions |
| */ |
| public void testCreateMethodWithModifiersAndExceptions() { |
| |
| IDOMMethod method= this.domFactory.createMethod(); |
| method.setName("foo"); |
| method.setFlags(ClassFileConstants.AccPrivate); |
| method.setExceptions(new String[] |
| {"java.lang.IllegalArgumentException", |
| "java.io.FileNotFoundExcpetion"}); |
| assertSourceEquals( |
| "source code incorrect", |
| "private void foo() throws java.lang.IllegalArgumentException, java.io.FileNotFoundExcpetion {\n" + |
| "}\n", |
| method.getContents()); |
| |
| } |
| /** |
| * Example of creating a method with parameters |
| */ |
| public void testCreateMethodWithParameters() { |
| |
| IDOMMethod method= this.domFactory.createMethod(); |
| method.setName("foo"); |
| method.setParameters( |
| new String[] {"String", "int", "char[]"}, |
| new String[] {"name", "number", "buffer"}); |
| assertSourceEquals( |
| "source code incorrect", |
| "public void foo(String name, int number, char[] buffer) {\n" + |
| "}\n", |
| method.getContents()); |
| } |
| /** |
| * Example of creating a method with a return type |
| */ |
| public void testCreateMethodWithReturnType() { |
| |
| IDOMMethod method= this.domFactory.createMethod(); |
| method.setName("foo"); |
| method.setReturnType("String"); |
| assertSourceEquals( |
| "source code incorrect", |
| "public String foo() {\n" + |
| "}\n", |
| method.getContents()); |
| } |
| } |