\r
private Long value;\r
private DeployedSystemId deployedSystemId;\r
+ \r
+ /** For ORM*/\r
+ public NumericTRId(){\r
+ \r
+ }\r
+\r
+ public NumericTRId(Long value){\r
+ this.value = value;\r
+ }\r
\r
/**\r
* Initializes the long value with the current time (based on\r
package org.argeo.slc.unit.test.tree;\r
\r
-import junit.framework.TestCase;\r
+import static junit.framework.Assert.assertEquals;\r
+import static junit.framework.Assert.assertNull;\r
+import static junit.framework.Assert.fail;\r
\r
import org.argeo.slc.core.structure.tree.TreeSPath;\r
import org.argeo.slc.core.test.SimpleResultPart;\r
+import org.argeo.slc.core.test.TestResultPart;\r
import org.argeo.slc.core.test.tree.PartSubList;\r
import org.argeo.slc.core.test.tree.TreeTestResult;\r
\r
/** Utilities for unit tests. */\r
public class UnitTestTreeUtil {\r
- /** Assert one part of a tree test result. */\r
+ public static void assertTreeTestResult(TreeTestResult expected,\r
+ TreeTestResult reached) {\r
+ assertEquals(expected.getTestResultId(), reached.getTestResultId());\r
+ assertEquals(expected.getCloseDate(), reached.getCloseDate());\r
+\r
+ assertEquals(expected.getResultParts().size(), reached.getResultParts()\r
+ .size());\r
+ for (TreeSPath path : expected.getResultParts().keySet()) {\r
+ PartSubList lstExpected = expected.getResultParts().get(path);\r
+ PartSubList lstReached = expected.getResultParts().get(path);\r
+ if (lstReached == null) {\r
+ fail("No result for path " + path);\r
+ return;\r
+ }\r
+ assertPartSubList(lstExpected, lstReached);\r
+ }\r
+ }\r
+\r
+ public static void assertPartSubList(PartSubList lstExpected,\r
+ PartSubList lstReached) {\r
+ if (lstExpected.getSlcExecutionUuid() == null) {\r
+ assertNull(lstReached.getSlcExecutionUuid());\r
+ } else {\r
+ assertEquals(lstExpected.getSlcExecutionUuid(), lstReached\r
+ .getSlcExecutionUuid());\r
+ }\r
+\r
+ if (lstExpected.getSlcExecutionStepUuid() == null) {\r
+ assertNull(lstReached.getSlcExecutionStepUuid());\r
+ } else {\r
+ assertEquals(lstExpected.getSlcExecutionStepUuid(), lstReached\r
+ .getSlcExecutionStepUuid());\r
+ }\r
+\r
+ assertEquals(lstExpected.getParts().size(), lstReached.getParts()\r
+ .size());\r
+ for (int i = 0; i < lstExpected.getParts().size(); i++) {\r
+ assertPart(lstExpected.getParts().get(i), lstReached.getParts()\r
+ .get(i));\r
+ }\r
+ }\r
+\r
+ /**\r
+ * Assert one part of a tree test result.\r
+ * \r
+ * @deprecated use {@link #assertPart(TestResultPart, TestResultPart)}\r
+ * instead\r
+ */\r
public static void assertPart(TreeTestResult testResult, String pathStr,\r
int index, Integer status, String message) {\r
TreeSPath path = TreeSPath.parseToCreatePath(pathStr);\r
PartSubList list = testResult.getResultParts().get(path);\r
if (list == null) {\r
- TestCase.fail("No result for path " + path);\r
+ fail("No result for path " + path);\r
return;\r
}\r
+ if (index >= list.getParts().size()) {\r
+ fail("Not enough parts.");\r
+ }\r
SimpleResultPart part = (SimpleResultPart) list.getParts().get(index);\r
- TestCase.assertEquals(status, part.getStatus());\r
- TestCase.assertEquals(message, part.getMessage());\r
+ assertPart(part, status, message, null);\r
+ }\r
+\r
+ public static void assertPart(TestResultPart expected,\r
+ TestResultPart reached) {\r
+ assertPart(reached, expected.getStatus(), expected.getMessage(),\r
+ expected.getException());\r
+ }\r
+\r
+ /** Assert one part of a tree test result. */\r
+ private static void assertPart(TestResultPart part, Integer status,\r
+ String message, Exception exception) {\r
+ assertEquals(status, part.getStatus());\r
+ assertEquals(message, part.getMessage());\r
+ if (exception == null) {\r
+ assertNull(part.getException());\r
+ } else {\r
+ assertEquals(exception, part.getException());\r
+ }\r
}\r
\r
/** Makes sure this is a singleton */\r
--- /dev/null
+package org.argeo.slc.core.test.tree;\r
+\r
+import java.util.Date;\r
+\r
+import org.argeo.slc.core.test.NumericTRId;\r
+import org.argeo.slc.core.test.SimpleResultPart;\r
+import org.argeo.slc.core.test.TestStatus;\r
+\r
+public abstract class TreeTestResultTestUtils {\r
+\r
+ public static TreeTestResult createSimpleTreeTestResult(){\r
+ TreeTestResult treeTestResult = new TreeTestResult();\r
+ treeTestResult.setNumericResultId( new NumericTRId(System.currentTimeMillis()));\r
+ treeTestResult.setCloseDate(new Date());\r
+ return treeTestResult;\r
+ }\r
+ \r
+ public static SimpleResultPart createSimpleResultPartPassed(){\r
+ SimpleResultPart partPassed = new SimpleResultPart();\r
+ String msgPassed = "message";\r
+ partPassed.setStatus(TestStatus.PASSED);\r
+ partPassed.setMessage(msgPassed);\r
+ return partPassed;\r
+ }\r
+\r
+ public static SimpleResultPart createSimpleResultPartFailed(){\r
+ SimpleResultPart partFailed = new SimpleResultPart();\r
+ String msgFailed = "too bad";\r
+ partFailed.setStatus(TestStatus.FAILED);\r
+ partFailed.setMessage(msgFailed);\r
+ return partFailed;\r
+ }\r
+ \r
+ private TreeTestResultTestUtils(){\r
+ \r
+ }\r
+}\r
package org.argeo.slc.hibernate.test.tree;\r
\r
-import java.util.Date;\r
-import java.util.List;\r
+import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createSimpleResultPartFailed;\r
+import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createSimpleResultPartPassed;\r
+import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createSimpleTreeTestResult;\r
\r
import org.argeo.slc.core.process.SlcExecution;\r
import org.argeo.slc.core.process.SlcExecutionStep;\r
import org.argeo.slc.core.process.SlcExecutionTestUtils;\r
import org.argeo.slc.core.structure.tree.TreeSPath;\r
-import org.argeo.slc.core.test.NumericTRId;\r
-import org.argeo.slc.core.test.SimpleResultPart;\r
-import org.argeo.slc.core.test.TestStatus;\r
-import org.argeo.slc.core.test.tree.PartSubList;\r
import org.argeo.slc.core.test.tree.TreeTestResult;\r
-import org.argeo.slc.dao.structure.tree.TreeSPathDao;\r
-import org.argeo.slc.dao.test.TestResultDao;\r
import org.argeo.slc.dao.test.tree.TreeTestResultDao;\r
import org.argeo.slc.unit.AbstractSpringTestCase;\r
+import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;\r
\r
public class TreeTestResultDaoHibernateTest extends AbstractSpringTestCase {\r
\r
public void testCreate() {\r
- TreeSPathDao treeSPathDao = (TreeSPathDao) getContext().getBean(\r
- "treeSPathDao");\r
-\r
TreeTestResultDao testResultDao = (TreeTestResultDao) getContext()\r
.getBean("testResultDao");\r
\r
String pathParentStr = "/root/testParent";\r
String pathStr = pathParentStr + "/test";\r
TreeSPath path = TreeSPath.parseToCreatePath(pathStr);\r
- //treeSPathDao.create(path);\r
-\r
- TreeTestResult treeTestResult = new TreeTestResult();\r
- treeTestResult.notifySlcExecution(slcExecution);\r
- SimpleResultPart partPassed = new SimpleResultPart();\r
- String msgPassed = "message";\r
- partPassed.setStatus(TestStatus.PASSED);\r
- partPassed.setMessage(msgPassed);\r
+ // treeSPathDao.create(path);\r
\r
- SimpleResultPart partFailed = new SimpleResultPart();\r
- String msgFailed = "too bad";\r
- partFailed.setStatus(TestStatus.FAILED);\r
- partFailed.setMessage(msgFailed);\r
+ TreeTestResult ttr = createSimpleTreeTestResult();\r
+ ttr.notifySlcExecution(slcExecution);\r
+ ttr.notifyCurrentPath(null, path);\r
\r
- NumericTRId trId = new NumericTRId();\r
- trId.setValue(1l);\r
- treeTestResult.setNumericResultId(trId);\r
- treeTestResult.notifyCurrentPath(null, path);\r
- treeTestResult.addResultPart(partPassed);\r
- treeTestResult.addResultPart(partFailed);\r
+ ttr.addResultPart(createSimpleResultPartPassed());\r
+ ttr.addResultPart(createSimpleResultPartFailed());\r
\r
- Date closeDate = new Date();\r
- treeTestResult.setCloseDate(closeDate);\r
-\r
- testResultDao.create(treeTestResult);\r
+ testResultDao.create(ttr);\r
\r
TreeTestResult ttrPersisted = (TreeTestResult) testResultDao\r
- .getTestResult(trId);\r
- PartSubList slPersisted = ttrPersisted.getResultParts().get(path);\r
- assertEquals(slcExecution.getUuid(), slPersisted.getSlcExecutionUuid());\r
- assertEquals(step.getUuid(), slPersisted.getSlcExecutionStepUuid());\r
-\r
- assertEquals(2, slPersisted.getParts().size());\r
- SimpleResultPart part0 = (SimpleResultPart) slPersisted.getParts().get(\r
- 0);\r
- assertEquals(TestStatus.PASSED, part0.getStatus());\r
- assertEquals(msgPassed, part0.getMessage());\r
-\r
- SimpleResultPart part1 = (SimpleResultPart) slPersisted.getParts().get(\r
- 1);\r
- assertEquals(TestStatus.FAILED, part1.getStatus());\r
- assertEquals(msgFailed, part1.getMessage());\r
-\r
- assertEquals(closeDate, ttrPersisted.getCloseDate());\r
-\r
- List<TreeTestResult> results = testResultDao.listResults(path);\r
- assertEquals(1, results.size());\r
- assertEquals(trId, results.get(0).getTestResultId());\r
-\r
+ .getTestResult(ttr.getTestResultId());\r
+ UnitTestTreeUtil.assertTreeTestResult(ttr, ttrPersisted);\r
}\r
\r
@Override\r