|
What this is
Other links
The source code/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.jmi.javamodel.codegen;
import java.util.Collections;
import junit.textui.TestRunner;
import org.netbeans.jmi.javamodel.Expression;
import org.netbeans.jmi.javamodel.ForEachStatement;
import org.netbeans.jmi.javamodel.JavaClass;
import org.netbeans.jmi.javamodel.JavaModelPackage;
import org.netbeans.junit.NbTestCase;
import org.netbeans.junit.NbTestSuite;
import org.netbeans.jmi.javamodel.Method;
import org.netbeans.jmi.javamodel.MethodInvocation;
import org.netbeans.jmi.javamodel.MultipartId;
import org.netbeans.jmi.javamodel.Parameter;
import org.netbeans.jmi.javamodel.Statement;
import org.netbeans.jmi.javamodel.StatementBlock;
import org.netbeans.jmi.javamodel.TypeReference;
import org.openide.filesystems.AbstractFileSystem.List;
import org.openide.filesystems.FileStateInvalidException;
/**
*
* @author Pavel Flaska
*/
public class ForEachTest1 extends NbTestCase {
/** Creates a new instance of ForEachTest1 */
public ForEachTest1() {
super("ForEachTest1");
}
public static NbTestSuite suite() {
NbTestSuite suite = new NbTestSuite(ForEachTest1.class);
return suite;
}
Method method;
JavaModelPackage pkg;
protected void setUp() {
JavaClass clazz = Utility.findClass("org.netbeans.test.codegen.ForEachTest1");
pkg = (JavaModelPackage) clazz.refImmediatePackage();
method = (Method) clazz.getContents().iterator().next();
}
public void testForCreation() throws java.io.IOException, FileStateInvalidException {
boolean fail = true;
Utility.beginTrans(true);
try {
// parameter
TypeReference typeRef = pkg.getMultipartId().createMultipartId("String", null, null);
Parameter parameter = pkg.getParameter().createParameter("s", null, false, typeRef, 0, false);
// iterable
Expression iterable = pkg.getMultipartId().createMultipartId("c", null, null);
// method invocation
Expression par = pkg.getMultipartId().createMultipartId("s", null, null);
MultipartId parent = pkg.getMultipartId().createMultipartId("System.out", null, null);
MethodInvocation invocation = pkg.getMethodInvocation().createMethodInvocation("println", Collections.singletonList(par), parent, false);
Statement statement = pkg.getExpressionStatement().createExpressionStatement(invocation);
// for body
StatementBlock forBody = pkg.getStatementBlock().createStatementBlock();
forBody.getStatements().add(statement);
// for (String s : c) {
// System.out.println(s);
// }
ForEachStatement fes = pkg.getForEachStatement().createForEachStatement(forBody, parameter, iterable);
// add to method
method.getBody().getStatements().add(fes);
fail = false;
} finally {
Utility.endTrans(fail);
}
assertFile("File is not correctly generated.",
Utility.getFile(getDataDir(), "org/netbeans/test/codegen/ForEachTest1.java"),
getGoldenFile("testForCreation_ForEachTest1.pass"),
getWorkDir()
);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
TestRunner.run(suite());
}
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.