### Question:
CanonicalNodeOrder extends NodeOrdering { public @Override int compare(Node nr1, Node nr2) { return CanonicalNodeNameOrder.INSTANCE.compare(nr1.getName(), nr2.getName()); }  @Override int compare(Node nr1, Node nr2); int bucket(final Node ref, final int depth); static final CanonicalNodeOrder INSTANCE; }### Answer:
@Test public void testNodeOrder() { Node node = RevObjectFactory.defaultInstance().createNode("Points.1", ObjectId.valueOf("abc123000000000000001234567890abcdef0000"), ObjectId.NULL, TYPE.FEATURE, null, null); Node node2 = RevObjectFactory.defaultInstance().createNode("Lines.1", ObjectId.valueOf("abc123000000000000001234567890abcdef0001"), ObjectId.NULL, TYPE.FEATURE, null, null); Node node3 = RevObjectFactory.defaultInstance().createNode("Lines.1", ObjectId.valueOf("abc123000000000000001234567890abcdef0001"), ObjectId.valueOf("abc123000000000000001234567890abcdef0002"), TYPE.TREE, null, null); assertFalse(0 == CanonicalNodeOrder.INSTANCE.compare(node, node2)); assertFalse(0 == CanonicalNodeOrder.INSTANCE.compare(node, node3)); assertEquals(0, CanonicalNodeOrder.INSTANCE.compare(node2, node3)); }