@Test
public void testLowerBoundedWildcardType() {

    final WildcardType lowerBounded = new WildcardTypeImpl(null, new Type[] { Date.class });
    assertEquals(String.format("? super %s", java.sql.Date.class.getName()), TypeUtils.toString(lowerBounded));
    assertEquals(String.format("? super %s", java.sql.Date.class.getName()), lowerBounded.toString());
    final TypeVariable<Class<Iterable>> iterableT0 = Iterable.class.getTypeParameters()[0];
    final WildcardType lowerTypeVariable = new WildcardTypeImpl(null, new Type[] { iterableT0 });
    assertEquals(String.format("? super %s", iterableT0.getName()), TypeUtils.toString(lowerTypeVariable));
    assertEquals(String.format("? super %s", iterableT0.getName()), lowerTypeVariable.toString());
}