package com.redblackit.web.controller;
import com.redblackit.version.CompositeVersionInfo;
import com.redblackit.version.CompositeVersionInfoMap;
public class VersionControllerTestBase {
protected static final String CONFIGURATION_VERSION0_KEY = "cversion0";
protected static final String CONFIGURATION_VERSION0 = "c0";
protected static final String IMPLEMENTATION_VERSION0_KEY = "iversion0";
protected static final String IMPLEMENTATION_VERSION0 = "i0.0";
protected static final String IMPLEMENTATION_VENDOR0_KEY = "ivendor0";
protected static final String IMPLEMENTATION_VENDOR0 = "Vendor0";
protected static final String IMPLEMENTATION_TITLE0_KEY = "ititle0";
protected static final String IMPLEMENTATION_TITLE0 = "Implementation Title0";
protected static final String LEVEL0_INFO1_KEY = "vinfo0";
protected static final String CONFIGURATION_VERSION1_KEY = "cversion1";
protected static final String CONFIGURATION_VERSION1 = "c1";
protected static final String IMPLEMENTATION_VERSION1_KEY = "iversion1";
protected static final String IMPLEMENTATION_VERSION1 = "i1.0";
protected static final String LEVEL1_INFO20_KEY = "vinfo1.0";
protected static final String LEVEL1_INFO21_KEY = "vinfo1.1";
protected static final String CONFIGURATION_VERSION20_KEY = "cversion2.0";
protected static final String CONFIGURATION_VERSION20 = "c2a";
protected static final String IMPLEMENTATION_VERSION20_KEY = "iversion2.0";
protected static final String IMPLEMENTATION_VERSION20 = "i2.1";
protected static final String CONFIGURATION_VERSION21_KEY = "cversion2.1";
protected static final String CONFIGURATION_VERSION21 = "c2b";
protected static final String IMPLEMENTATION_VERSION21_KEY = "iversion2.1";
protected static final String IMPLEMENTATION_VERSION21 = "i3.1.0";
private CompositeVersionInfo expectedCompositeVersionInfo;
private CompositeVersionInfo actualCompositeVersionInfo;
public VersionControllerTestBase() {
super();
}
/**
* Create expectedCompositeVersionInfo and actualCompositeVersionInfo at level 0
*/
protected void createExpectedAndActualCVI0() {
expectedCompositeVersionInfo = setupCVI0();
actualCompositeVersionInfo = setupCVI0();
}
/**
* Create expectedCompositeVersionInfo at level 1
*/
protected void setupExpectedCVI1() {
setupCVI1(getExpectedCompositeVersionInfo());
}
/**
* Create actualCompositeVersionInfo at level 1
*/
protected void setupActualCVI1() {
setupCVI1(getActualCompositeVersionInfo());
}
/**
* Create expectedCompositeVersionInfo at level 2.0
*/
protected void setupExpectedCVI20() {
setupCVI20(getExpectedCompositeVersionInfo());
}
/**
* Create actualCompositeVersionInfo at level 2.0
*/
protected void setupActualCVI20() {
setupCVI20(getActualCompositeVersionInfo());
}
/**
* Create expectedCompositeVersionInfo at level 2.1
*/
protected void setupExpectedCVI21() {
setupCVI21(getExpectedCompositeVersionInfo());
}
/**
* Create actualCompositeVersionInfo at level 2.1
*/
protected void setupActualCVI21() {
setupCVI21(getActualCompositeVersionInfo());
}
/**
* Set-up all actual
*/
protected void setupActualCVI1_2All() {
setupActualCVI1();
setupActualCVI20();
setupActualCVI21();
}
/**
* Set-up all expected
*/
protected void setupExpectedCVI1_2All() {
setupExpectedCVI1();
setupExpectedCVI20();
setupExpectedCVI21();
}
/**
* @return the root expectedCompositeVersionInfo object
*/
protected CompositeVersionInfo getExpectedCompositeVersionInfo() {
return expectedCompositeVersionInfo;
}
/**
* @return the root actualCompositeVersionInfo object
*/
protected CompositeVersionInfo getActualCompositeVersionInfo() {
return actualCompositeVersionInfo;
}
/**
* Create and fill in CompositeVersionInfoMap at level 0 i.e. string map only
*
* @return compositeVersionInfo
*/
private CompositeVersionInfo setupCVI0() {
CompositeVersionInfo compositeVersionInfo = new CompositeVersionInfoMap();
compositeVersionInfo.setVersionForKeys(CONFIGURATION_VERSION0, CONFIGURATION_VERSION0_KEY);
compositeVersionInfo.setVersionForKeys(IMPLEMENTATION_VERSION0, IMPLEMENTATION_VERSION0_KEY);
compositeVersionInfo.setVersionForKeys(IMPLEMENTATION_VENDOR0, IMPLEMENTATION_VENDOR0_KEY);
compositeVersionInfo.setVersionForKeys(IMPLEMENTATION_TITLE0, IMPLEMENTATION_TITLE0_KEY);
return compositeVersionInfo;
}
/**
* Create and fill in CompositeVersionInfoMap at level 1 i.e.
* <ul>
* <li>string map at level 1</li>
* <li>level 1 composite version info in supplied level 0 version info map</li>
* </ul>
*
* @param compositeVersionInfo
*/
private void setupCVI1(CompositeVersionInfo compositeVersionInfo) {
compositeVersionInfo.setVersionForKeys(CONFIGURATION_VERSION1, LEVEL0_INFO1_KEY, CONFIGURATION_VERSION1_KEY);
compositeVersionInfo.setVersionForKeys(IMPLEMENTATION_VERSION1, LEVEL0_INFO1_KEY, IMPLEMENTATION_VERSION1_KEY);
}
/**
* Create and fill in CompositeVersionInfoMap at level 2.0 i.e.
* <ul>
* <li>string map at level 2.0</li>
* <li>level 2.0 composite version info in level 1 version info map for supplied level 0 CVI</li>
* </ul>
*
* @param compositeVersionInfo
*/
private void setupCVI20(CompositeVersionInfo compositeVersionInfo) {
compositeVersionInfo.setVersionForKeys(CONFIGURATION_VERSION20, LEVEL0_INFO1_KEY, LEVEL1_INFO20_KEY, CONFIGURATION_VERSION20_KEY);
compositeVersionInfo.setVersionForKeys(IMPLEMENTATION_VERSION20, LEVEL0_INFO1_KEY, LEVEL1_INFO20_KEY, IMPLEMENTATION_VERSION20_KEY);
}
/**
* Create and fill in CompositeVersionInfoMap at level 2.1 i.e.
* <ul>
* <li>string map at level 2.1</li>
* <li>level 2.1 composite version info in level 1 version info map for supplied level 0 CVI</li>
* </ul>
*
* @param compositeVersionInfo
*/
private void setupCVI21(CompositeVersionInfo compositeVersionInfo) {
compositeVersionInfo.setVersionForKeys(CONFIGURATION_VERSION21, LEVEL0_INFO1_KEY, LEVEL1_INFO21_KEY, CONFIGURATION_VERSION21_KEY);
compositeVersionInfo.setVersionForKeys(IMPLEMENTATION_VERSION21, LEVEL0_INFO1_KEY, LEVEL1_INFO21_KEY, IMPLEMENTATION_VERSION21_KEY);
}
}