Project

General

Profile

Task #6736

Updated by Rob Nahf over 9 years ago

developed (with Andrei) CommonCallAdapter and ContextAwareAdapter to allow splitting out of test implementations into separate classes called by the JUnit test methods. CommonCallAdapter is a versionless wrapper that chooses the right NodeFactory for building either a v1.MNode, v2.MNode, v1.CNode, or v2.CNode based on parameters given to the constructor.

The design is to categorize methods into those in common between nodeType and version by API, and have interfaces for each: {API}TestDefinitions, MN{API}TestDefinitions, CN{API}TestDefinitions, V1{API}TestDefinitions, V2{API}TestDefinitions.

Also have implementation classes for each definition class that extend ContextAwareAdapter.

The JUnit IT classes implement the appropriate API test definition classes, and implement non-sharable test implementations.

For example:

CoreTestDefinitions, CoreTestImplementations
MNCoreTestDefinitions, MNCoreTestImplementations
CNCoreTestDefinitions, CNCoreTestImplementations
V1CoreTestDefinitions, V1CoreTestImplementations
V2CoreTestDefinitions, V2CoreTestImplementations

<pre>
public class MNodeV1CoreIT implements CoreTestDefinitions, MNCoreTestDefinitions, V1CoreTestDefinitions extends ContextAwareTestCaseDataone {

CoreTestDefinitions coreTests = new CoreTestImplementation(this);
MNCoreTestDefinitions mnCoreTests = new MNCoreTestImplementations(this);
V1CoreTestDefinitions v1CoreTests = new V1CoreTestImplementations(this);

@Test public void testPing() { coreTests.testPing("v1", getNodeUnderTest()); }

etc...

}

</pre>

Back

Add picture from clipboard (Maximum size: 14.8 MB)