Search in sources :

Example 1 with Panini

use of spoon.test.generics.testclasses.Panini in project spoon by INRIA.

the class GenericsTest method testGenericWithExtendsInDeclaration.

@Test
public void testGenericWithExtendsInDeclaration() throws Exception {
    final Factory build = build(Panini.class);
    final CtType<Panini> panini = build.Type().get(Panini.class);
    final CtMethod<?> apply = panini.getMethodsByName("apply").get(0);
    assertEquals(1, apply.getType().getActualTypeArguments().size());
    assertEquals("? super java.lang.Object", apply.getType().getActualTypeArguments().get(0).toString());
    assertEquals(1, apply.getParameters().get(0).getType().getActualTypeArguments().size());
    assertEquals("? extends java.lang.Long", apply.getParameters().get(0).getType().getActualTypeArguments().get(0).toString());
}
Also used : ModelUtils.createFactory(spoon.testing.utils.ModelUtils.createFactory) Factory(spoon.reflect.factory.Factory) Panini(spoon.test.generics.testclasses.Panini) MainTest(spoon.test.main.MainTest) Test(org.junit.Test)

Example 2 with Panini

use of spoon.test.generics.testclasses.Panini in project spoon by INRIA.

the class GenericsTest method testGenericInField.

@Test
public void testGenericInField() throws Exception {
    final Factory build = build(Spaghetti.class);
    final CtType<Panini> aSpaghetti = build.Type().get(Spaghetti.class);
    assertTrue(aSpaghetti.toString().contains("private spoon.test.generics.testclasses.Spaghetti<B>.Tester tester;"));
    assertTrue(aSpaghetti.toString().contains("private spoon.test.generics.testclasses.Spaghetti<B>.Tester tester1;"));
    assertTrue(aSpaghetti.toString().contains("private spoon.test.generics.testclasses.Spaghetti<B>.That<java.lang.String, java.lang.String> field;"));
    assertTrue(aSpaghetti.toString().contains("private spoon.test.generics.testclasses.Spaghetti<java.lang.String>.That<java.lang.String, java.lang.String> field1;"));
    assertTrue(aSpaghetti.toString().contains("private spoon.test.generics.testclasses.Spaghetti<java.lang.Number>.That<java.lang.String, java.lang.String> field2;"));
}
Also used : ModelUtils.createFactory(spoon.testing.utils.ModelUtils.createFactory) Factory(spoon.reflect.factory.Factory) Panini(spoon.test.generics.testclasses.Panini) MainTest(spoon.test.main.MainTest) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)2 Factory (spoon.reflect.factory.Factory)2 Panini (spoon.test.generics.testclasses.Panini)2 MainTest (spoon.test.main.MainTest)2 ModelUtils.createFactory (spoon.testing.utils.ModelUtils.createFactory)2