Minimal infrastructure for ElementAccessor tests.
Protect from null subElement.
Use mockito for mocks.
Use PowerMock and PowerMockito to mock static methods.
Added todo to replace String constants by typesafe enums.
Use assertj for test assertions for greater convenience and better reporting.
Move SELF and ABSOLUTE constants to API for more consistency.
Added getLinks method.
Made ElementAccessorTest generic to match ElementAccessor.
Use constants.
Added equals, hashCode and toString implementations.
Check that parent is our initial node.
Renamed method to be truer to test intent.
Use latest assertj.
Added basic JSONLink tests.
Rewrote JSONLink to use inner subclasses for simple and multivalued links so that we don't have to check for cardinality all the time. More validity checking and more tests.
Moved exists method from API to Utils to avoid interference from PowerMockito mocking (see ElementAccessorTest.setUp for details).
Use expected @Test annotation attribute to simplify code.
Finished test coverage of JSONLink methods.
Added node identifier on mock.
Simplified Nodes, Paths and Types creation.