Search in sources :

Example 1 with BooleanData

use of org.javarosa.core.model.data.BooleanData in project collect by opendatakit.

the class BooleanWidgetTest method changingTheCheckboxShouldChangeTheAnswer.

@Test
public void changingTheCheckboxShouldChangeTheAnswer() {
    when(formEntryPrompt.getAnswerValue()).thenReturn(new BooleanData(false));
    BooleanWidget widget = getWidget();
    assertFalse(widget.isChecked());
    assertFalse((Boolean) widget.getAnswer().getValue());
    widget.isChecked(true);
    assertTrue(widget.isChecked());
    assertTrue((Boolean) widget.getAnswer().getValue());
}
Also used : BooleanData(org.javarosa.core.model.data.BooleanData) WidgetTest(org.odk.collect.android.widgets.base.WidgetTest) Test(org.junit.Test)

Example 2 with BooleanData

use of org.javarosa.core.model.data.BooleanData in project collect by opendatakit.

the class BooleanWidgetTest method callingClearShouldRemoveTheExistingAnswer.

@Override
public void callingClearShouldRemoveTheExistingAnswer() {
    when(formEntryPrompt.getAnswerValue()).thenReturn(new BooleanData(true));
    BooleanWidget widget = getWidget();
    assertTrue(widget.isChecked());
    assertTrue((Boolean) widget.getAnswer().getValue());
    widget.clearAnswer();
    assertFalse(widget.isChecked());
    assertFalse((Boolean) widget.getAnswer().getValue());
}
Also used : BooleanData(org.javarosa.core.model.data.BooleanData)

Example 3 with BooleanData

use of org.javarosa.core.model.data.BooleanData in project javarosa by opendatakit.

the class XFormAnswerDataParser method getAnswerData.

public static IAnswerData getAnswerData(String text, int dataType, QuestionDef q) {
    String trimmedText = text.trim();
    if (trimmedText.length() == 0)
        trimmedText = null;
    switch(dataType) {
        case Constants.DATATYPE_NULL:
        case Constants.DATATYPE_UNSUPPORTED:
        case Constants.DATATYPE_TEXT:
        case Constants.DATATYPE_BARCODE:
        case Constants.DATATYPE_BINARY:
            return new StringData(text);
        case Constants.DATATYPE_INTEGER:
            try {
                return (trimmedText == null ? null : new IntegerData(Integer.parseInt(trimmedText)));
            } catch (NumberFormatException nfe) {
                return null;
            }
        case Constants.DATATYPE_LONG:
            try {
                return (trimmedText == null ? null : new LongData(Long.parseLong(trimmedText)));
            } catch (NumberFormatException nfe) {
                return null;
            }
        case Constants.DATATYPE_DECIMAL:
            try {
                return (trimmedText == null ? null : new DecimalData(Double.parseDouble(trimmedText)));
            } catch (NumberFormatException nfe) {
                return null;
            }
        case Constants.DATATYPE_CHOICE:
            Selection selection = getSelection(text, q);
            return (selection == null ? null : new SelectOneData(selection));
        case Constants.DATATYPE_CHOICE_LIST:
            return new SelectMultiData(getSelections(text, q));
        case Constants.DATATYPE_DATE_TIME:
            Date dt = (trimmedText == null ? null : DateUtils.parseDateTime(trimmedText));
            return (dt == null ? null : new DateTimeData(dt));
        case Constants.DATATYPE_DATE:
            Date d = (trimmedText == null ? null : DateUtils.parseDate(trimmedText));
            return (d == null ? null : new DateData(d));
        case Constants.DATATYPE_TIME:
            Date t = (trimmedText == null ? null : DateUtils.parseTime(trimmedText));
            return (t == null ? null : new TimeData(t));
        case Constants.DATATYPE_BOOLEAN:
            if (trimmedText == null) {
                return null;
            } else {
                if (trimmedText.equals("1")) {
                    return new BooleanData(true);
                }
                if (trimmedText.equals("0")) {
                    return new BooleanData(false);
                }
                return trimmedText.equals("t") ? new BooleanData(true) : new BooleanData(false);
            }
        case Constants.DATATYPE_GEOPOINT:
            if (trimmedText == null) {
                return new GeoPointData();
            }
            try {
                UncastData uncast = new UncastData(trimmedText);
                // silly...
                GeoPointData gp = new GeoPointData();
                return gp.cast(uncast);
            } catch (Exception e) {
                return null;
            }
        case Constants.DATATYPE_GEOSHAPE:
            if (trimmedText == null) {
                return new GeoShapeData();
            }
            try {
                UncastData uncast = new UncastData(trimmedText);
                // silly...
                GeoShapeData gs = new GeoShapeData();
                return gs.cast(uncast);
            } catch (Exception e) {
                return null;
            }
        case Constants.DATATYPE_GEOTRACE:
            if (trimmedText == null) {
                return new GeoTraceData();
            }
            try {
                UncastData uncast = new UncastData(trimmedText);
                // silly...
                GeoTraceData gl = new GeoTraceData();
                return gl.cast(uncast);
            } catch (Exception e) {
                return null;
            }
        default:
            return new UncastData(trimmedText);
    }
}
Also used : SelectOneData(org.javarosa.core.model.data.SelectOneData) Selection(org.javarosa.core.model.data.helper.Selection) IntegerData(org.javarosa.core.model.data.IntegerData) GeoPointData(org.javarosa.core.model.data.GeoPointData) LongData(org.javarosa.core.model.data.LongData) Date(java.util.Date) DecimalData(org.javarosa.core.model.data.DecimalData) BooleanData(org.javarosa.core.model.data.BooleanData) GeoTraceData(org.javarosa.core.model.data.GeoTraceData) SelectMultiData(org.javarosa.core.model.data.SelectMultiData) DateData(org.javarosa.core.model.data.DateData) GeoShapeData(org.javarosa.core.model.data.GeoShapeData) DateTimeData(org.javarosa.core.model.data.DateTimeData) TimeData(org.javarosa.core.model.data.TimeData) UncastData(org.javarosa.core.model.data.UncastData) DateTimeData(org.javarosa.core.model.data.DateTimeData) StringData(org.javarosa.core.model.data.StringData)

Example 4 with BooleanData

use of org.javarosa.core.model.data.BooleanData in project collect by opendatakit.

the class BooleanWidgetTest method getAnswerShouldReturnExistingAnswerIfPromptHasExistingAnswer.

@Override
public void getAnswerShouldReturnExistingAnswerIfPromptHasExistingAnswer() {
    when(formEntryPrompt.getAnswerValue()).thenReturn(new BooleanData(false));
    BooleanWidget widget = getWidget();
    assertFalse(widget.isChecked());
    assertFalse((Boolean) widget.getAnswer().getValue());
    widget.isChecked(true);
    assertTrue(widget.isChecked());
    assertTrue((Boolean) widget.getAnswer().getValue());
}
Also used : BooleanData(org.javarosa.core.model.data.BooleanData)

Example 5 with BooleanData

use of org.javarosa.core.model.data.BooleanData in project collect by opendatakit.

the class BooleanWidgetTest method getAnswerShouldReturnNullIfPromptDoesNotHaveExistingAnswer.

// BooleanWidgets always return a non-null answer, so we need to handle these tests manually:
@Override
public void getAnswerShouldReturnNullIfPromptDoesNotHaveExistingAnswer() {
    when(formEntryPrompt.getAnswerValue()).thenReturn(new BooleanData(false));
    BooleanWidget widget = getWidget();
    assertFalse(widget.isChecked());
    assertFalse((Boolean) widget.getAnswer().getValue());
}
Also used : BooleanData(org.javarosa.core.model.data.BooleanData)

Aggregations

BooleanData (org.javarosa.core.model.data.BooleanData)6 Date (java.util.Date)2 DateData (org.javarosa.core.model.data.DateData)2 DateTimeData (org.javarosa.core.model.data.DateTimeData)2 DecimalData (org.javarosa.core.model.data.DecimalData)2 GeoPointData (org.javarosa.core.model.data.GeoPointData)2 GeoShapeData (org.javarosa.core.model.data.GeoShapeData)2 GeoTraceData (org.javarosa.core.model.data.GeoTraceData)2 IntegerData (org.javarosa.core.model.data.IntegerData)2 LongData (org.javarosa.core.model.data.LongData)2 SelectMultiData (org.javarosa.core.model.data.SelectMultiData)2 SelectOneData (org.javarosa.core.model.data.SelectOneData)2 StringData (org.javarosa.core.model.data.StringData)2 TimeData (org.javarosa.core.model.data.TimeData)2 UncastData (org.javarosa.core.model.data.UncastData)2 Selection (org.javarosa.core.model.data.helper.Selection)1 Test (org.junit.Test)1 WidgetTest (org.odk.collect.android.widgets.base.WidgetTest)1