use of org.opensmartgridplatform.domain.core.valueobjects.smartmetering.CosemTime in project open-smart-grid-platform by OSGP.
the class CosemDateTimeConverterTest method testToCosemDateTimeMapping.
/**
* Tests if mapping a byte[] to a CosemDateTime object succeeds.
*/
@Test
public void testToCosemDateTimeMapping() {
// actual mapping
final CosemDateTime cosemDateTime = this.mapperFactory.getMapperFacade().map(COSEMDATETIME_BYTE_ARRAY_NORMAL, CosemDateTime.class);
// check mapping
assertThat(cosemDateTime).isNotNull();
final CosemDate cosemDate = cosemDateTime.getDate();
assertThat(((byte) (cosemDate.getYear() >> 8))).isEqualTo(FIRST_BYTE_FOR_YEAR);
assertThat(((byte) (cosemDate.getYear() & 0xFF))).isEqualTo(SECOND_BYTE_FOR_YEAR);
assertThat(cosemDate.getMonth()).isEqualTo(BYTE_FOR_MONTH);
assertThat(cosemDate.getDayOfMonth()).isEqualTo(BYTE_FOR_DAY_OF_MONTH);
assertThat((byte) cosemDate.getDayOfWeek()).isEqualTo(BYTE_FOR_DAY_OF_WEEK);
final CosemTime cosemTime = cosemDateTime.getTime();
assertThat(cosemTime.getHour()).isEqualTo(BYTE_FOR_HOUR_OF_DAY);
assertThat(cosemTime.getMinute()).isEqualTo(BYTE_FOR_MINUTE_OF_HOUR);
assertThat(cosemTime.getSecond()).isEqualTo(BYTE_FOR_SECOND_OF_MINUTE);
assertThat(cosemTime.getHundredths()).isEqualTo(BYTE_FOR_HUNDREDS_0F_SECONDS);
final int deviation = cosemDateTime.getDeviation();
assertThat(((byte) (deviation >> 8))).isEqualTo(FIRST_BYTE_FOR_DEVIATION);
assertThat(((byte) (deviation & 0xFF))).isEqualTo(SECOND_BYTE_FOR_DEVIATION);
assertThat(((byte) ClockStatus.STATUS_NOT_SPECIFIED)).isEqualTo(BYTE_FOR_CLOCKSTATUS);
}
Aggregations