### Question:
ClassReflectionTools { public static Object newInstance(String byString) throws ClassReflectionToolsException { Class oClass; Object obj = null; { try { oClass = Class.forName(byString); obj = oClass.newInstance(); return obj; } catch (ClassNotFoundException ex) { throw new ClassReflectionToolsException(ex); } catch (InstantiationException ex) { throw new ClassReflectionToolsException(ex); } catch (IllegalAccessException ex) { throw new ClassReflectionToolsException(ex); } } }  static Object newInstance(String byString); static T newInstance(Class<T> oClass); static Object invokeGetter(Object obj, String methodName); static Class getReturnTypeForGetter(Object obj, String methodName); static String getXmlRootElementName(Object obj); static String getXmlRootElementName(Class oClass); static String getXmlRootElementNameSpace(Object obj); static String getXmlRootElementNameSpace(Class oClass);  }### Answer:
@Test public void shouldBeAbleToCreateNewInstanceWithNullConstructorArgsByClass() throws ClassReflectionToolsException { Object stringObj; Object strbuffObj; stringObj = ClassReflectionTools.newInstance(java.lang.String.class); strbuffObj = ClassReflectionTools.newInstance(java.lang.StringBuilder.class); Assert.assertTrue(stringObj instanceof java.lang.String); Assert.assertTrue(strbuffObj instanceof java.lang.StringBuilder); }
@Test public void shouldBeAbleToCreateNewInstanceWithNullConstructorClassName() throws ClassReflectionToolsException { Object stringObj; Object strbuffObj; stringObj = ClassReflectionTools.newInstance("java.lang.String"); strbuffObj = ClassReflectionTools.newInstance("java.lang.StringBuilder"); Assert.assertTrue(stringObj instanceof java.lang.String); Assert.assertTrue(strbuffObj instanceof java.lang.StringBuilder); }