Package org.jboss.forge.test.parser.java

Source Code of org.jboss.forge.test.parser.java.JavaInterfaceTest

/*
* Copyright 2012 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.jboss.forge.test.parser.java;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertTrue;

import java.io.InputStream;
import java.util.List;

import org.jboss.forge.parser.JavaParser;
import org.jboss.forge.parser.java.Import;
import org.jboss.forge.parser.java.JavaInterface;
import org.jboss.forge.parser.java.Member;
import org.junit.Test;

/**
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
public class JavaInterfaceTest
{
   @SuppressWarnings("resource")
   @Test
   public void testCanParseInterface() throws Exception
   {
      InputStream stream = JavaInterfaceTest.class
               .getResourceAsStream("/org/jboss/forge/grammar/java/MockInterface.java");
      JavaInterface javaClass = JavaParser.parse(JavaInterface.class, stream);
      String name = javaClass.getName();
      assertEquals("MockInterface", name);
   }

   @SuppressWarnings("resource")
   @Test
   public void testCanParseBigInterface() throws Exception
   {
      InputStream stream = JavaInterfaceTest.class
               .getResourceAsStream("/org/jboss/forge/grammar/java/BigInterface.java");
      JavaInterface javaClass = JavaParser.parse(JavaInterface.class, stream);
      String name = javaClass.getName();
      assertEquals("BigInterface", name);
      List<Member<JavaInterface, ?>> members = javaClass.getMembers();
      assertFalse(members.isEmpty());
   }

   @Test
   public void testImportJavaSource() throws Exception
   {
      JavaInterface foo = JavaParser.parse(JavaInterface.class, "package org.jboss.forge; public interface Foo{}");
      JavaInterface bar = JavaParser.parse(JavaInterface.class, "package org.jboss.forge; public interface Bar{}");

      assertFalse(foo.hasImport(bar));
      assertFalse(bar.hasImport(foo));

      Import importBar = foo.addImport(bar);
      assertTrue(foo.hasImport(bar));
      assertFalse(bar.hasImport(foo));

      assertEquals("org.jboss.forge.Bar", importBar.getQualifiedName());
      assertEquals(importBar, foo.getImport(bar));

      foo.removeImport(bar);
      assertFalse(foo.hasImport(bar));
      assertFalse(bar.hasImport(foo));
   }

   @Test
   public void testImportImport() throws Exception
   {
      JavaInterface foo = JavaParser.parse(JavaInterface.class, "public interface Foo{}");
      Import i = foo.addImport(getClass());

      foo.removeImport(getClass());
      Import i2 = foo.addImport(i);
      assertNotSame(i, i2);
      assertEquals(i.getQualifiedName(), i2.getQualifiedName());
   }
}
TOP

Related Classes of org.jboss.forge.test.parser.java.JavaInterfaceTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.