/**
* Copyright (C) 2010-14 diirt developers. See COPYRIGHT.TXT
* All rights reserved. Use is subject to license terms. See LICENSE.TXT
*/
package org.diirt.datasource.sim;
import java.net.URI;
import org.diirt.vtype.AlarmSeverity;
import org.junit.Test;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import static java.time.Duration.*;
import java.time.Instant;
/**
*
* @author carcassi
*/
public class ReplayParserTest {
public ReplayParserTest() {
}
@Test
public void unmarshalParse1() throws Exception {
// Unmarshal XML file
XmlValues values = ReplayParser.parse(new URI("./src/test/resources/org/diirt/datasource/replay/parse1.xml"));
assertThat(values.getValues().size(), equalTo(4));
assertThat(values.getValues().get(0), instanceOf(XmlVDouble.class));
// Check first value
XmlVDouble value = (XmlVDouble) values.getValues().get(0);
assertThat(value.getValue(), equalTo(0.0));
assertThat(value.getTimestamp(), equalTo(Instant.ofEpochSecond(0, 0)));
assertThat(value.getAlarmSeverity(), equalTo(AlarmSeverity.NONE));
assertThat(value.getAlarmName(), equalTo("NONE"));
assertThat(value.getTimeUserTag(), equalTo(0));
assertThat(value.getLowerCtrlLimit(), equalTo(-10.0));
assertThat(value.getLowerDisplayLimit(), equalTo(-10.0));
assertThat(value.getLowerAlarmLimit(), equalTo(-9.0));
assertThat(value.getLowerWarningLimit(), equalTo(-8.0));
assertThat(value.getUpperWarningLimit(), equalTo(8.0));
assertThat(value.getUpperAlarmLimit(), equalTo(9.0));
assertThat(value.getUpperCtrlLimit(), equalTo(10.0));
assertThat(value.getUpperDisplayLimit(), equalTo(10.0));
// Check second value
value = (XmlVDouble) values.getValues().get(1);
assertThat(value.getValue(), equalTo(1.0));
assertThat(value.getTimestamp(), equalTo(Instant.ofEpochSecond(0, 0).plus(ofMillis(100))));
assertThat(value.getAlarmSeverity(), equalTo(AlarmSeverity.INVALID));
assertThat(value.getAlarmName(), equalTo("RECORD"));
assertThat(value.getTimeUserTag(), equalTo(0));
// Check third value
value = (XmlVDouble) values.getValues().get(2);
assertThat(value.getValue(), equalTo(2.0));
assertThat(value.getTimestamp(), equalTo(Instant.ofEpochSecond(0, 0).plus(ofMillis(200))));
assertThat(value.getAlarmSeverity(), equalTo(AlarmSeverity.NONE));
assertThat(value.getAlarmName(), equalTo("NONE"));
assertThat(value.getTimeUserTag(), equalTo(0));
// Check fourth value
value = (XmlVDouble) values.getValues().get(3);
assertThat(value.getValue(), equalTo(3.0));
assertThat(value.getTimestamp(), equalTo(Instant.ofEpochSecond(0, 0).plus(ofMillis(500))));
assertThat(value.getAlarmSeverity(), equalTo(AlarmSeverity.NONE));
assertThat(value.getAlarmName(), equalTo("NONE"));
assertThat(value.getTimeUserTag(), equalTo(0));
}
}