@Test
public void testCustomBuilding() throws IOException {
final String json = buildJson(
new String[] { traceStr(1, "parent", ResultType.UNFINISHED, false), traceStr(2, "child", ResultType.UNFINISHED,
false), traceStr(3, "predecessor", ResultType.UNFINISHED, false) },
new String[] { hierStr(1, 2), orderStr(3, 1) }, "test", 0L);
final Trace trace;
try {
trace = decodeString(json);
} catch (IOException e) {
fail("JSON parse failed. Document:\n" + json + "\nError: " + e.toString());
return;
}
assertEquals("parent", trace.getTraceMap().get(1L).getName());
assertEquals(ResultType.UNFINISHED, trace.getTraceMap().get(1L).getResultType());
assertEquals(2, trace.getRelationships().size());
String childName = null;
String predecessorName = null;
for (TraceRelationship rel : trace.getRelationships()) {
if (rel.getRelationhsip() == Relationship.PARENT_OF) {
childName = trace.getTraceMap().get(rel.getTo()).getName();
} else if (rel.getRelationhsip() == Relationship.SUCCESSOR_OF) {
predecessorName = trace.getTraceMap().get(rel.getTo()).getName();
}
}
assertEquals("child", childName);
assertEquals("predecessor", predecessorName);
}