Package org.jboss.forge.test.roaster.model

Source Code of org.jboss.forge.test.roaster.model.JavaClassPropertyTest

/**
* Copyright 2014 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.roaster.model;

import java.io.InputStream;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;

import org.jboss.forge.roaster.Roaster;
import org.jboss.forge.roaster.model.source.JavaClassSource;
import org.jboss.forge.roaster.model.source.PropertySource;
import org.junit.Assert;
import org.junit.Test;

/**
*
* @author <a href="ggastald@redhat.com">George Gastaldi</a>
*/
public class JavaClassPropertyTest
{
   @Test
   public void testProperties()
   {
      InputStream stream = JavaClassTest.class
               .getResourceAsStream("/org/jboss/forge/grammar/java/MockUnformattedClass.java");
      JavaClassSource source = Roaster.parse(JavaClassSource.class, stream);
      List<PropertySource<JavaClassSource>> properties = source.getProperties();
      Assert.assertEquals(2, properties.size());
   }

   @Test
   public void testPrimitiveBooleanProperties()
   {
      InputStream stream = JavaClassTest.class
               .getResourceAsStream("/org/jboss/forge/grammar/java/BooleanPrimitiveClass.java");
      JavaClassSource source = Roaster.parse(JavaClassSource.class, stream);
      List<PropertySource<JavaClassSource>> properties = source.getProperties();
      Assert.assertEquals(2, properties.size());
      Assert.assertNotNull(source.getProperty("myString").getAccessor());
      Assert.assertNotNull(source.getProperty("myString").getMutator());
      Assert.assertNotNull(source.getProperty("myBoolean").getAccessor());
      Assert.assertNotNull(source.getProperty("myBoolean").getMutator());
   }

   @Test
   public void testBooleanProperties()
   {
      InputStream stream = JavaClassTest.class
               .getResourceAsStream("/org/jboss/forge/grammar/java/BooleanClass.java");
      JavaClassSource source = Roaster.parse(JavaClassSource.class, stream);
      List<PropertySource<JavaClassSource>> properties = source.getProperties();
      Assert.assertEquals(2, properties.size());
      Assert.assertNotNull(source.getProperty("myString").getAccessor());
      Assert.assertNotNull(source.getProperty("myString").getMutator());
      Assert.assertNotNull(source.getProperty("myBoolean").getAccessor());
      Assert.assertNotNull(source.getProperty("myBoolean").getMutator());
   }

   @Test
   public void testChangePropertyType()
   {
      JavaClassSource source = Roaster.create(JavaClassSource.class).setName("MyClass");
      PropertySource<JavaClassSource> property = source.addProperty(Date.class, "myDate");
      property.setType(Timestamp.class);
      Assert.assertEquals("Timestamp", source.getField("myDate").getType().getName());
      Assert.assertEquals("Timestamp", source.getMethod("getMyDate").getReturnType().getName());
      Assert.assertNotNull(source.getMethod("setMyDate", Timestamp.class));

   }
}
TOP

Related Classes of org.jboss.forge.test.roaster.model.JavaClassPropertyTest

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.