### Question:
DbJoin implements XMLSerializable, Serializable { @Override public String toString() { ToStringBuilder builder = new ToStringBuilder(this); builder.append("source", getSourceName()); builder.append("target", getTargetName()); return builder.toString(); } protected  DbJoin();  DbJoin(DbRelationship relationship);  DbJoin(DbRelationship relationship, String sourceName, String targetName); DbJoin createReverseJoin(); DbAttribute getSource(); DbAttribute getTarget(); @Override void encodeAsXML(XMLEncoder encoder, ConfigurationNodeVisitor delegate); DbRelationship getRelationship(); String getSourceName(); String getTargetName(); void setRelationship(DbRelationship relationship); void setSourceName(String string); void setTargetName(String string); @Override String toString();  }### Answer:
@Test public void testToString() { DbJoin join = new DbJoin(); join.setSourceName("X"); join.setTargetName("Y"); String string = join.toString(); assertTrue(string, string.startsWith("org.apache.cayenne.map.DbJoin@")); assertTrue(string, string.endsWith("[source=X,target=Y]")); }