Skip to content

Commit

Permalink
ROASTER-5: Added addParameter(JavaType, String) method
Browse files Browse the repository at this point in the history
  • Loading branch information
gastaldi committed Apr 7, 2014
1 parent f66b742 commit ea46069
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,11 @@ public interface MethodSource<O extends JavaSource<O>> extends Method<O, MethodS
*/
ParameterSource<O> addParameter(String type, String name);

/**
* Add a parameter with the specified {@link JavaType} type and name to this method
*/
ParameterSource<O> addParameter(JavaType<?> type, String name);

/**
* Remove a parameter from this method
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -653,6 +653,12 @@ public ParameterSource<O> addParameter(Class<?> type, String name)
return addParameter(type.getName(), name);
}

@Override
public ParameterSource<O> addParameter(JavaType<?> type, String name)
{
return addParameter(type.getQualifiedName(), name);
}

@SuppressWarnings("unchecked")
@Override
public ParameterSource<O> addParameter(String type, String name)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

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

import java.io.InputStream;
Expand All @@ -18,7 +19,6 @@
import org.jboss.forge.roaster.model.source.MemberSource;
import org.jboss.forge.roaster.model.source.MethodSource;
import org.jboss.forge.roaster.model.source.ParameterSource;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

Expand Down Expand Up @@ -130,25 +130,35 @@ public void testGetMembers() throws Exception
public void testAddParameter() throws Exception
{
ParameterSource<JavaClassSource> param = method.addParameter(Number.class, "number");
Assert.assertNotNull(param);
Assert.assertEquals(3, method.getParameters().size());
assertNotNull(param);
assertEquals(3, method.getParameters().size());
}

@Test
public void testAddParameterStringType() throws Exception
{
ParameterSource<JavaClassSource> param = method.addParameter(Number.class.getName(), "number");
Assert.assertNotNull(param);
Assert.assertEquals(3, method.getParameters().size());
assertNotNull(param);
assertEquals(3, method.getParameters().size());
}

@Test
public void testAddParameterJavaType() throws Exception
{
JavaClassSource type = Roaster.create(JavaClassSource.class).setName("Mock").setPackage("mock.pkg");
ParameterSource<JavaClassSource> param = method.addParameter(type, "mock");
assertNotNull(param);
assertEquals(3, method.getParameters().size());
assertTrue(method.getOrigin().hasImport(type));
}

@Test
public void testRemoveParameter() throws Exception
{
ParameterSource<JavaClassSource> param = method.getParameters().get(0);
Assert.assertNotNull(param);
assertNotNull(param);
method.removeParameter(param);
Assert.assertEquals(1, method.getParameters().size());
assertEquals(1, method.getParameters().size());
}

}

0 comments on commit ea46069

Please sign in to comment.