@Test
public void fromClass() {

    MutableTypeDeclaration actual = MutableTypeDeclaration.fromClass(List.class);
    TypeVariable<?> typeVariable = List.class.getTypeParameters()[0];
    MutableTypeDeclaration expected = new MutableTypeDeclaration()
        .setSimpleName(List.class.getSimpleName())
        .setInterfaces(Collections.<MutableTypeMirror<?>>singletonList(
            new MutableDeclaredType()
                .setDeclaration(Collection.class.getName())
                .setTypeArguments(Collections.<MutableTypeMirror<?>>singletonList(
                    new MutableTypeVariable()
                        .setFormalTypeParameter(typeVariable.getName())
                ))
        ))
        .setTypeDeclarationKind(BareTypeDeclaration.Kind.INTERFACE)
        .setTypeParameters(Collections.singletonList(
            new MutableTypeParameterElement()
                .setSimpleName(typeVariable.getName())
        ));
    Assert.assertEquals(actual, expected);
}