### Question:
ValueMetaFactory { public static String[] getValueMetaNames() { List<String> strings = new ArrayList<>(); List<IPlugin> plugins = pluginRegistry.getPlugins( ValueMetaPluginType.class ); for ( IPlugin plugin : plugins ) { int id = Integer.valueOf( plugin.getIds()[ 0 ] ); if ( id > 0 && id != IValueMeta.TYPE_SERIALIZABLE ) { strings.add( plugin.getName() ); } } return strings.toArray( new String[ strings.size() ] ); } private  ValueMetaFactory(); static IValueMeta createValueMeta( String name, int type, int length, int precision ); static IValueMeta createValueMeta( String name, int type ); static IValueMeta createValueMeta( int type ); static IValueMeta cloneValueMeta( IValueMeta source ); static IValueMeta cloneValueMeta( IValueMeta source, int targetType ); static void cloneInfo( IValueMeta source, IValueMeta target ); static String[] getValueMetaNames(); static String[] getAllValueMetaNames(); static String getValueMetaName( int type ); static int getIdForValueMeta( String valueMetaName ); static List<IValueMeta> getValueMetaPluginClasses(); static IValueMeta guessValueMetaInterface( Object object ); static PluginRegistry pluginRegistry; }### Answer:
@Test public void testGetValueMetaNames() { List<String> dataTypes = Arrays.<String>asList( ValueMetaFactory.getValueMetaNames() ); assertTrue( dataTypes.contains( "Number" ) ); assertTrue( dataTypes.contains( "String" ) ); assertTrue( dataTypes.contains( "Date" ) ); assertTrue( dataTypes.contains( "Boolean" ) ); assertTrue( dataTypes.contains( "Integer" ) ); assertTrue( dataTypes.contains( "BigNumber" ) ); assertFalse( dataTypes.contains( "Serializable" ) ); assertTrue( dataTypes.contains( "Binary" ) ); assertTrue( dataTypes.contains( "Timestamp" ) ); assertTrue( dataTypes.contains( "Internet Address" ) ); }