UninstantiatedDescribable implements Serializable { @Override public String toString() { StringBuilder b = new StringBuilder(); if (symbol!=null) b.append('@').append(symbol); if (klass!=null) b.append('$').append(klass); b.append('('); boolean first = true; for (Entry<String,?> e : arguments.entrySet()) { if (first) first = false; else b.append(','); b.append(e.getKey()).append('=').append(e.getValue()); } b.append(')'); return b.toString(); } UninstantiatedDescribable(String symbol, String klass, Map<String, ?> arguments);  UninstantiatedDescribable(Map<String, ?> arguments); UninstantiatedDescribable withArguments(Map<String, ?> arguments); @Nullable String getSymbol(); void setSymbol(String symbol); @Nullable String getKlass(); void setKlass(String klass); @CheckForNull DescribableModel getModel(); void setModel(DescribableModel model); Map<String, ?> getArguments(); boolean hasSoleRequiredArgument(); Map<String,Object> toMap(); Map<String,Object> toShallowMap(); @Deprecated Object instantiate(); Object instantiate(TaskListener listener); @Deprecated T instantiate(Class<T> base); T instantiate(Class<T> base, TaskListener listener); static UninstantiatedDescribable from(Object o); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); static final String ANONYMOUS_KEY; }
@Test public void _toString() { assertEquals("@symbol$class(x=4,y=hello)", make().toString()); }