assertThat(test.getField("Data_"), is(instanceOf(MLDouble.class)));
MLDouble data = (MLDouble) test.getField("Data_");
assertThat(data.getSize(), equalTo(5));
assertThat(test.getField("Quality_"), is(instanceOf(MLInt8.class)));
MLInt8 quality = (MLInt8) test.getField("Quality_");
assertThat(quality.getSize(), equalTo(5));
assertThat(test.getField("Time_"), isMatlabUndefined());
assertThat(test.getField("DataInfo"), not(isMatlabUndefined()));
assertThat(test.getField("DataInfo"), is(instanceOf(MLObject.class)));
MLObject dataInfo = (MLObject) test.getField("DataInfo");
assertThat(dataInfo.getClassName(), equalTo("datametadata"));
assertThat(dataInfo.getField("Interpolation"), is(instanceOf(MLObject.class)));
assertThat(dataInfo.getFieldNames(), hasItem("Interpolation"));
assertThat(test.getField("QualityInfo"), not(isMatlabUndefined()));
assertThat(test.getField("QualityInfo"), is(instanceOf(MLObject.class)));
MLObject qualityInfo = (MLObject) test.getField("QualityInfo");
assertThat(qualityInfo.getClassName(), equalTo("qualmetadata"));
assertThat(qualityInfo.getField("Version"), is(instanceOf(MLDouble.class)));
assertThat(qualityInfo.getFieldNames(), hasItem("Version"));
assertThat(test.getField("TimeInfo"), not(isMatlabUndefined()));
assertThat(test.getField("TimeInfo"), is(instanceOf(MLObject.class)));
MLObject timeInfo = (MLObject) test.getField("TimeInfo");