--- /dev/null
+package org.argeo.slc.core.structure.tree;\r
+\r
+import org.argeo.slc.core.structure.StructureRegistry;\r
+\r
+/**\r
+ * Provides default implementations of some methods of\r
+ * <code>TreeSRelated</code>.\r
+ */\r
+public abstract class TreeSRelatedHelper implements TreeSRelated {\r
+ private TreeSPath basePath;\r
+ private StructureRegistry<TreeSPath> registry;\r
+\r
+\r
+ public TreeSPath getBasePath() {\r
+ return basePath;\r
+ }\r
+\r
+ public StructureRegistry<TreeSPath> getRegistry() {\r
+ return registry;\r
+ }\r
+\r
+ public void notifyCurrentPath(StructureRegistry<TreeSPath> registry,\r
+ TreeSPath path) {\r
+ basePath = path;\r
+ this.registry = registry;\r
+ }\r
+}\r
+++ /dev/null
-package org.argeo.slc.core.test.context;\r
-\r
-import org.apache.commons.logging.Log;\r
-import org.apache.commons.logging.LogFactory;\r
-\r
-import org.argeo.slc.core.structure.StructureAware;\r
-import org.argeo.slc.core.structure.StructureElement;\r
-import org.argeo.slc.core.structure.StructureRegistry;\r
-import org.argeo.slc.core.structure.tree.TreeSPath;\r
-import org.argeo.slc.core.structure.tree.TreeSRelated;\r
-import org.argeo.slc.core.test.SimpleResultPart;\r
-import org.argeo.slc.core.test.TestResult;\r
-import org.argeo.slc.core.test.TestStatus;\r
-\r
-public class ContextHelper {\r
- private final static Log log = LogFactory.getLog(ContextHelper.class);\r
-\r
- public static void compareReachedExpected(ContextAware contextAware,\r
- TestResult testResult, TreeSRelated treeSRelated) {\r
- for (String key : contextAware.getExpectedValues().keySet()) {\r
-\r
- // Register in structure\r
- if (treeSRelated != null) {\r
- if (treeSRelated.getBasePath() != null) {\r
- TreeSPath path = treeSRelated.getBasePath()\r
- .createChild(key);\r
- StructureRegistry<TreeSPath> registry = treeSRelated\r
- .getRegistry();\r
- final StructureElement element = treeSRelated\r
- .getStructureElement(key);\r
- registry.register(path, element);\r
- if (testResult instanceof StructureAware)\r
- ((StructureAware<TreeSPath>) testResult)\r
- .notifyCurrentPath(registry, path);\r
-\r
- if (log.isDebugEnabled())\r
- log.debug("Checking key " + key + " for path " + path);\r
- }\r
- }\r
-\r
- // Compare expected values with reached ones\r
- Object expectedValue = contextAware.getExpectedValues().get(key);\r
-\r
- if (contextAware.getValues().containsKey(key)) {\r
- Object reachedValue = contextAware.getValues().get(key);\r
-\r
- if (expectedValue.equals(reachedValue)) {\r
- testResult.addResultPart(new SimpleResultPart(\r
- TestStatus.PASSED, "Values matched for key '" + key\r
- + "'"));\r
- } else {\r
- testResult.addResultPart(new SimpleResultPart(\r
- TestStatus.FAILED, "Mismatch for key '" + key\r
- + "': expected '" + expectedValue\r
- + "' but reached '" + reachedValue + "'"));\r
- }\r
- } else {\r
- testResult.addResultPart(new SimpleResultPart(\r
- TestStatus.FAILED, "No value reached for key '" + key\r
- + "'"));\r
- }\r
-\r
- if (treeSRelated != null) {\r
- if (treeSRelated.getBasePath() != null) {\r
- if (testResult instanceof StructureAware) {\r
- ((StructureAware<TreeSPath>) testResult)\r
- .notifyCurrentPath(treeSRelated.getRegistry(),\r
- treeSRelated.getBasePath());\r
- }\r
- }\r
- }\r
- }\r
- }\r
-\r
-}\r
--- /dev/null
+package org.argeo.slc.core.test.context;\r
+\r
+import org.apache.commons.logging.Log;\r
+import org.apache.commons.logging.LogFactory;\r
+\r
+import org.argeo.slc.core.structure.StructureAware;\r
+import org.argeo.slc.core.structure.StructureElement;\r
+import org.argeo.slc.core.structure.StructureRegistry;\r
+import org.argeo.slc.core.structure.tree.TreeSPath;\r
+import org.argeo.slc.core.structure.tree.TreeSRelated;\r
+import org.argeo.slc.core.test.SimpleResultPart;\r
+import org.argeo.slc.core.test.TestResult;\r
+import org.argeo.slc.core.test.TestStatus;\r
+\r
+public class ContextUtils {\r
+ private final static Log log = LogFactory.getLog(ContextUtils.class);\r
+\r
+ public static void compareReachedExpected(ContextAware contextAware,\r
+ TestResult testResult, TreeSRelated treeSRelated) {\r
+ for (String key : contextAware.getExpectedValues().keySet()) {\r
+\r
+ // Register in structure\r
+ if (treeSRelated != null) {\r
+ if (treeSRelated.getBasePath() != null) {\r
+ TreeSPath path = treeSRelated.getBasePath()\r
+ .createChild(key);\r
+ StructureRegistry<TreeSPath> registry = treeSRelated\r
+ .getRegistry();\r
+ final StructureElement element = treeSRelated\r
+ .getStructureElement(key);\r
+ registry.register(path, element);\r
+ if (testResult instanceof StructureAware)\r
+ ((StructureAware<TreeSPath>) testResult)\r
+ .notifyCurrentPath(registry, path);\r
+\r
+ if (log.isDebugEnabled())\r
+ log.debug("Checking key " + key + " for path " + path);\r
+ }\r
+ }\r
+\r
+ // Compare expected values with reached ones\r
+ Object expectedValue = contextAware.getExpectedValues().get(key);\r
+\r
+ if (contextAware.getValues().containsKey(key)) {\r
+ Object reachedValue = contextAware.getValues().get(key);\r
+\r
+ if (expectedValue.equals(reachedValue)) {\r
+ testResult.addResultPart(new SimpleResultPart(\r
+ TestStatus.PASSED, "Values matched for key '" + key\r
+ + "'"));\r
+ } else {\r
+ testResult.addResultPart(new SimpleResultPart(\r
+ TestStatus.FAILED, "Mismatch for key '" + key\r
+ + "': expected '" + expectedValue\r
+ + "' but reached '" + reachedValue + "'"));\r
+ }\r
+ } else {\r
+ testResult.addResultPart(new SimpleResultPart(\r
+ TestStatus.FAILED, "No value reached for key '" + key\r
+ + "'"));\r
+ }\r
+\r
+ if (treeSRelated != null) {\r
+ if (treeSRelated.getBasePath() != null) {\r
+ if (testResult instanceof StructureAware) {\r
+ ((StructureAware<TreeSPath>) testResult)\r
+ .notifyCurrentPath(treeSRelated.getRegistry(),\r
+ treeSRelated.getBasePath());\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ /** Makes sure this cannot be instantiated. */\r
+ private ContextUtils() {\r
+\r
+ }\r
+}\r
--- /dev/null
+<html>\r
+<head></head>\r
+<body>\r
+Context variables to be passed between parts of tests.\r
+</body>\r
+</html>
\ No newline at end of file