public void testComponents() throws Exception {
XDIStatement contextNodeStatement = XDIStatement.create("=markus//[<#email>]");
XDIStatement contextNodeStatement2 = XDIStatement.fromComponents(XDIAddress.create("=markus"), XDIConstants.STRING_CONTEXT, XDIArc.create("[<#email>]"));
XDIStatement contextNodeStatement3 = XDIStatement.fromContextNodeComponents(XDIAddress.create("=markus"), XDIArc.create("[<#email>]"));
assertEquals(contextNodeStatement.getSubject(), XDIAddress.create("=markus"));
assertEquals(contextNodeStatement.getPredicate(), XDIConstants.STRING_CONTEXT);
assertEquals(contextNodeStatement.getObject(), XDIArc.create("[<#email>]"));
assertEquals(contextNodeStatement, contextNodeStatement2);
assertEquals(contextNodeStatement, contextNodeStatement3);
XDIStatement relationStatement = XDIStatement.create("=markus/+friend/=animesh");
XDIStatement relationStatement2 = XDIStatement.fromComponents(XDIAddress.create("=markus"), XDIAddress.create("+friend"), XDIAddress.create("=animesh"));
XDIStatement relationStatement3 = XDIStatement.fromRelationComponents(XDIAddress.create("=markus"), XDIAddress.create("+friend"), XDIAddress.create("=animesh"));
assertEquals(relationStatement, relationStatement2);
assertEquals(relationStatement, relationStatement3);
assertEquals(relationStatement.getSubject(), XDIAddress.create("=markus"));
assertEquals(relationStatement.getPredicate(), XDIAddress.create("+friend"));
assertEquals(relationStatement.getObject(), XDIAddress.create("=animesh"));
XDIStatement literalStatement = XDIStatement.create("=markus<#name>/&/\"Markus Sabadello\"");
XDIStatement literalStatement2 = XDIStatement.fromComponents(XDIAddress.create("=markus<#name>"), XDIConstants.XDI_ARC_LITERAL, "Markus Sabadello");
XDIStatement literalStatement3 = XDIStatement.fromLiteralComponents(XDIAddress.create("=markus<#name>"), "Markus Sabadello");
assertEquals(literalStatement.getSubject(), XDIAddress.create("=markus<#name>"));
assertEquals(literalStatement.getPredicate(), XDIConstants.XDI_ARC_LITERAL.toString());
assertEquals(literalStatement.getObject(), "Markus Sabadello");
assertEquals(literalStatement, literalStatement2);
assertEquals(literalStatement, literalStatement3);
}