/** * Copyright (c) 2006 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 - Initial API and implementation */ package org.eclipse.emf.test.tools.merger.facade; import org.eclipse.emf.codegen.merge.java.facade.FacadeFlags; import org.eclipse.emf.codegen.merge.java.facade.JAnnotation; import org.eclipse.emf.codegen.merge.java.facade.JField; import org.eclipse.emf.codegen.merge.java.facade.JMethod; import org.eclipse.emf.codegen.merge.java.facade.JType; /** * Tests comment out feature by modifying and commenting out nodes. * @see org.eclipse.emf.codegen.merge.java.facade.FacadeHelper#commentOut(org.eclipse.emf.codegen.merge.java.facade.JNode) */ public class CommentOutTest extends BaseFacadeTest { protected JType getType() { return (JType)compilationUnit.getChildren().get(1); } public void testMethod() { JType type = getType(); JMethod method = (JMethod)type.getChildren().get(3); (new MethodsTest()).modifyMethod(method, "1", 1, 2, 3, FacadeFlags.PRIVATE, true); facadeHelper.commentOut(method); rewriteAndCompare(); } public void testField() { JType type = getType(); JField field = (JField)type.getChildren().get(2); (new FieldsTest()).modifyField(field, "1"); facadeHelper.commentOut(field); rewriteAndCompare(); } public void testType() { JType type = getType(); (new TypesTest()).modifyType(type, "1", FacadeFlags.PRIVATE); facadeHelper.commentOut(type); rewriteAndCompare(); } public void testAnnotation() { JType type = getType(); JAnnotation annotation = (JAnnotation)type.getChildren().get(1); annotation.setContents("@NewAnnotation(\n// line comment inside\n)"); facadeHelper.commentOut(annotation); rewriteAndCompare(); } public void testNestedCommentOut() { JType type = getType(); JField field = (JField)type.getChildren().get(2); facadeHelper.commentOut(field); facadeHelper.commentOut(type); rewriteAndCompare(); } public void testCommentOutAndRemove() { JType type = getType(); JField field = (JField)type.getChildren().get(2); facadeHelper.commentOut(field); facadeHelper.remove(field); rewriteAndCompare(); } }