CriterionType ctEntity = criterionTypeDAO.findByCode(ct.code);
assertTrue(ctEntity.getCriterions().size() == 4);
/* Test criterion hierarchy. */
Criterion c1Entity = ctEntity.getCriterion(c1.name);
Criterion c2Entity = ctEntity.getCriterion(c2Updated.name);
Criterion c2c1Entity = ctEntity.getCriterion(c2c1.name);
Criterion c3Entity = ctEntity.getCriterion(c3.name);
assertNull(c1Entity.getParent());
assertTrue(c1Entity.getChildren().size() == 1);
assertTrue(c1Entity.getChildren().contains(c2Entity));
assertTrue(c2Entity.getChildren().size() == 1);
assertTrue(c2Entity.getChildren().contains(c2c1Entity));
assertTrue(c2c1Entity.getChildren().size() == 0);
assertNull(c3Entity.getParent());
assertTrue(c3Entity.getChildren().size() == 0);
/*
* Basic properties in criteria "c1" and "c2", which are contained in
* "ctUpdated", must not be modified, except c2's name property.
*/