use of org.openforis.idm.model.Entity in project collect by openforis.
the class RecordUpdaterTest method testRemoveEntityGivesNodeDeleteChange.
@Test
public void testRemoveEntityGivesNodeDeleteChange() {
record(rootEntityDef(entityDef("time_study", attributeDef("start_time")).multiple().required()), entity("time_study", attribute("start_time", "start first")), entity("time_study", attribute("start_time", "start second")));
Entity timeStudy1 = entityByPath("/root/time_study[1]");
NodeChangeSet changeSet = updater.deleteNode(timeStudy1);
assertEquals(1, changeSet.size());
NodeChange<?> change = changeSet.getChange(timeStudy1);
assertTrue(change instanceof NodeDeleteChange);
}
use of org.openforis.idm.model.Entity in project collect by openforis.
the class RecordUpdaterTest method testRelevanceUpdatedOnEmptyNodes.
@Test
public void testRelevanceUpdatedOnEmptyNodes() {
record(rootEntityDef(attributeDef("accessibility"), entityDef("tree", attributeDef("tree_no")).relevant("accessibility = 'true'")), attribute("accessibility", "false"), entity("tree"));
Entity tree = record.findNodeByPath("/root/tree[1]");
assertFalse(tree.isRelevant());
Attribute<?, ?> accessibility = record.findNodeByPath("/root/accessibility");
update(accessibility, "true");
assertTrue(tree.isRelevant());
}
use of org.openforis.idm.model.Entity in project collect by openforis.
the class DataMarshallerTest method createTestRecord.
private CollectRecord createTestRecord(CollectSurvey survey) throws RecordPersistenceException {
RecordBuilder recordBuilder = record(attribute("id", "123_456"), attribute("gps_realtime", "true"), attribute("region", "001"), attribute("district", "XXX"), attribute("crew_no", 10), attribute("map_sheet", "value 1"), attribute("map_sheet", "value 2"), attribute("vehicle_location", new Coordinate(432423423d, 4324324d, "srs")), attribute("gps_model", "TomTom 1.232"), attribute("remarks", "Remarks with UTF-8 character: Í"), entity("time_study", attribute("date", new Date(2011, 2, 14)), attribute("start_time", new Time(8, 15)), attribute("end_time", new Time(15, 29))), entity("time_study", attribute("date", new Date(2011, 2, 15)), attribute("start_time", new Time(8, 32)), attribute("end_time", new Time(11, 20))), entity("plot", attribute("no", new Code("1")), entity("tree", attribute("tree_no", 1), attribute("dbh", 54.2), attribute("total_height", 2.0), attribute("bole_height", (Double) null)), entity("tree", attribute("tree_no", 2), attribute("dbh", 82.8), attribute("total_height", 3.0))), entity("plot", attribute("no", new Code("2")), entity("tree", attribute("tree_no", 1), attribute("dbh", 34.2), attribute("total_height", 2.0)), entity("tree", attribute("tree_no", 2), attribute("dbh", 85.8), attribute("total_height", 4.0))));
CollectRecord record = recordBuilder.build(survey, "cluster", "2.0");
record.setCreationDate(new GregorianCalendar(2011, 11, 31, 23, 59).getTime());
record.setStep(Step.ENTRY);
record.updateSummaryFields();
RecordUpdater recordUpdater = new RecordUpdater();
recordUpdater.initializeRecord(record);
Entity cluster = record.getRootEntity();
recordUpdater.confirmError((Attribute<?, ?>) record.findNodeByPath("/cluster/district"));
recordUpdater.approveMissingValue(cluster, "accessibility");
NumberAttribute<?, ?> boleHeight = (NumberAttribute<?, ?>) record.findNodeByPath("/cluster/plot[1]/tree[1]/bole_height");
recordUpdater.updateAttribute(boleHeight, FieldSymbol.BLANK_ON_FORM);
recordUpdater.updateRemarks(boleHeight.getNumberField(), "No value specified");
return record;
}
use of org.openforis.idm.model.Entity in project collect by openforis.
the class MinCountValidatorTest method testEmptyRequiredMultipleEntity.
@Test
public void testEmptyRequiredMultipleEntity() {
updateMinCount(cluster, "time_study");
Entity timeStudy = EntityBuilder.addEntity(cluster, "time_study");
EntityBuilder.addValue(timeStudy, "date", (Date) null);
ValidationResultFlag result = validator.validateMinCount(cluster, "time_study");
assertFalse(result.isOk());
// ValidationResults results = validate(cluster);
// List<ValidationResult> errors = results.getErrors();
// assertTrue(containsMinCountError(errors, "time_study"));
}
use of org.openforis.idm.model.Entity in project collect by openforis.
the class ComparisonCheckTest method testDateGreaterThanCurrentDate.
@Test
public void testDateGreaterThanCurrentDate() {
Entity timeStudy = EntityBuilder.addEntity(cluster, "time_study");
DateAttribute date = EntityBuilder.addValue(timeStudy, "date", new Date(3015, 10, 20));
ValidationResults results = validate(date);
assertTrue(containsComparisonCheck(results.getErrors()));
}
Aggregations