fs.setFeatureValue(akofFs, lfss.get(r.nextInt(lfss.size())));
}
}
private void loadCas(List<FeatureStructure> fsl) {
FeatureStructure fs = newAkof(fsl);
fs.setBooleanValue(akofBoolean, true);
fs.setByteValue(akofByte, (byte)109);
fs.setShortValue(akofShort, (short) 23);
fs.setIntValue(akofInt, 2345);
fs.setFloatValue(akofFloat, 123f);
fs.setLongValue(akofLong, 345L);
fs.setDoubleValue(akofDouble, 334455.6677d);
fs.setStringValue(akofString, "str1");
fs.setFeatureValue(akofFs, fs);
cas.addFsToIndexes(fs);
FeatureStructure fs1 = fs;
//extreme or unusual values
fs = newAkof(fsl);
fs.setBooleanValue(akofBoolean, false);
fs.setByteValue(akofByte, Byte.MAX_VALUE);
fs.setShortValue(akofShort, (short) Short.MAX_VALUE);
fs.setIntValue(akofInt, Integer.MAX_VALUE);
fs.setFloatValue(akofFloat, Float.MAX_VALUE);
fs.setLongValue(akofLong, Long.MAX_VALUE);
fs.setDoubleValue(akofDouble, Double.MAX_VALUE);
fs.setStringValue(akofString, "");
fs.setFeatureValue(akofFs, fs1);
cas.addFsToIndexes(fs);
fs = newAkof(fsl);
fs.setByteValue(akofByte, Byte.MIN_VALUE);
fs.setShortValue(akofShort, (short) Short.MIN_VALUE);
fs.setIntValue(akofInt, Integer.MIN_VALUE);
fs.setFloatValue(akofFloat, Float.MIN_VALUE);
fs.setLongValue(akofLong, Long.MIN_VALUE);
fs.setDoubleValue(akofDouble, Double.MIN_VALUE);
fs.setStringValue(akofString, null);
fs.setFeatureValue(akofFs, fs1);
cas.addFsToIndexes(fs);
FeatureStructure fs3 = fs;
fs = newAkof(fsl);
fs.setByteValue(akofByte, (byte)0);
fs.setShortValue(akofShort, (short) 0);
fs.setIntValue(akofInt, 0);
fs.setFloatValue(akofFloat, 0f);
fs.setLongValue(akofLong, 0L);
fs.setDoubleValue(akofDouble, 0D);
fs.setFeatureValue(akofFs, fs1);
cas.addFsToIndexes(fs);
fs3.setFeatureValue(akofFs, fs); // make a forward ref
FeatureStructure fs4 = fs;
fs = newAkof(fsl);
fs.setByteValue(akofByte, (byte)1);
fs.setShortValue(akofShort, (short)1);
fs.setIntValue(akofInt, 1);
fs.setFloatValue(akofFloat, 1.0f);
fs.setLongValue(akofLong, 1L);
fs.setDoubleValue(akofDouble, 1.0D);
cas.addFsToIndexes(fs);
// fs = newAkof(fsl);
// fs.setFloatValue(akofFloat, Float.MIN_NORMAL);
// fs.setDoubleValue(akofDouble, Double.MIN_NORMAL);
// cas.addFsToIndexes(fs);
fs = newAkof(fsl);
fs.setFloatValue(akofFloat, Float.MIN_VALUE);
fs.setDoubleValue(akofDouble, Double.MIN_VALUE);
cas.addFsToIndexes(fs);
fs = newAkof(fsl);
fs.setFloatValue(akofFloat, Float.NaN);
fs.setDoubleValue(akofDouble, Double.NaN);
cas.addFsToIndexes(fs);
fs = newAkof(fsl);
fs.setFloatValue(akofFloat, Float.POSITIVE_INFINITY);
fs.setDoubleValue(akofDouble, Double.POSITIVE_INFINITY);
cas.addFsToIndexes(fs);
fs = newAkof(fsl);
fs.setFloatValue(akofFloat, Float.NEGATIVE_INFINITY);
fs.setDoubleValue(akofDouble, Double.NEGATIVE_INFINITY);
cas.addFsToIndexes(fs);
// test arrays
fs = newAkof(fsl);
fs.setFeatureValue(akofAint, cas.createIntArrayFS(0));
fs.setFeatureValue(akofAfs, cas.createArrayFS(0));
fs.setFeatureValue(akofAfloat, cas.createFloatArrayFS(0));
fs.setFeatureValue(akofAdouble, cas.createDoubleArrayFS(0));
fs.setFeatureValue(akofAlong, cas.createLongArrayFS(0));
fs.setFeatureValue(akofAshort, cas.createShortArrayFS(0));
fs.setFeatureValue(akofAbyte, cas.createByteArrayFS(0));
fs.setFeatureValue(akofAboolean, cas.createBooleanArrayFS(0));
fs.setFeatureValue(akofAstring, cas.createStringArrayFS(0));
cas.addFsToIndexes(fs);
FeatureStructure fs8 = fs;
fs = newAkof(fsl);
fs.setFeatureValue(akofAint, cas.createIntArrayFS(2));
fs.setFeatureValue(akofAfs, cas.createArrayFS(2));
fs.setFeatureValue(akofAfloat, cas.createFloatArrayFS(2));