Search in sources :

Example 56 with Entity

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);
}
Also used : Entity(org.openforis.idm.model.Entity) Test(org.junit.Test)

Example 57 with Entity

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());
}
Also used : Entity(org.openforis.idm.model.Entity) Test(org.junit.Test)

Example 58 with Entity

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;
}
Also used : CollectRecord(org.openforis.collect.model.CollectRecord) Entity(org.openforis.idm.model.Entity) Coordinate(org.openforis.idm.model.Coordinate) RecordBuilder(org.openforis.idm.testfixture.RecordBuilder) GregorianCalendar(java.util.GregorianCalendar) NumberAttribute(org.openforis.idm.model.NumberAttribute) Time(org.openforis.idm.model.Time) Code(org.openforis.idm.model.Code) RecordUpdater(org.openforis.collect.model.RecordUpdater) Date(org.openforis.idm.model.Date)

Example 59 with Entity

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"));
}
Also used : Entity(org.openforis.idm.model.Entity) Test(org.junit.Test)

Example 60 with Entity

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()));
}
Also used : Entity(org.openforis.idm.model.Entity) Date(org.openforis.idm.model.Date) DateAttribute(org.openforis.idm.model.DateAttribute) Test(org.junit.Test)

Aggregations

Entity (org.openforis.idm.model.Entity)164 Test (org.junit.Test)88 CollectRecord (org.openforis.collect.model.CollectRecord)37 EntityDefinition (org.openforis.idm.metamodel.EntityDefinition)36 Code (org.openforis.idm.model.Code)35 RealAttribute (org.openforis.idm.model.RealAttribute)25 CollectIntegrationTest (org.openforis.collect.CollectIntegrationTest)23 NodeDefinition (org.openforis.idm.metamodel.NodeDefinition)19 Node (org.openforis.idm.model.Node)19 AbstractTest (org.openforis.idm.AbstractTest)18 Date (org.openforis.idm.model.Date)16 ArrayList (java.util.ArrayList)14 CodeAttribute (org.openforis.idm.model.CodeAttribute)14 Time (org.openforis.idm.model.Time)12 GregorianCalendar (java.util.GregorianCalendar)9 ParsingError (org.openforis.collect.io.metadata.parsing.ParsingError)9 AttributeDefinition (org.openforis.idm.metamodel.AttributeDefinition)9 TextAttribute (org.openforis.idm.model.TextAttribute)9 CodeAttributeDefinition (org.openforis.idm.metamodel.CodeAttributeDefinition)8 Attribute (org.openforis.idm.model.Attribute)8