### Question:
NameUtils { @Nullable public static String toClassName( @Nullable Object value ) { final String stringValue = toEnumName( value ); if ( stringValue == null ) { return null; } return CaseFormat.UPPER_UNDERSCORE.to( CaseFormat.UPPER_CAMEL, stringValue ); } private  NameUtils(); @Nullable static String toClassName( @Nullable Object value ); @Nonnull static T toEnumValue( @Nonnull Class<T> enumClass, @Nullable Object value ); @Nullable static T toEnumValue( @Nonnull Class<T> enumClass, @Nullable String value ); @Nullable static String toEnumName( @Nullable Object value );  }### Answer:
@Test public void toClassNameNull() { Assert.assertNull( NameUtils.toClassName( null ) ); }
@Test public void toClassNameCamelCaseLower() { Assert.assertEquals( "TestValue1", NameUtils.toClassName( "testValue1" ) ); }
@Test public void toClassNameCamelCaseUpper() { Assert.assertEquals( "TestValue1", NameUtils.toClassName( "TestValue1" ) ); }
@Test public void toClassNameEnumUpper() { Assert.assertEquals( "TestValue1", NameUtils.toClassName( "TEST_VALUE_1" ) ); }
@Test public void toClassNameEnumLower() { Assert.assertEquals( "TestValue1", NameUtils.toClassName( "test-value_1" ) ); }