Skip to content

Commit fd22203

Browse files
author
timronan
committed
Add a test case for condition 407.
1 parent 2d1f1dc commit fd22203

1 file changed

Lines changed: 92 additions & 0 deletions

File tree

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
package edu.iris.dmc.station.conditions;
2+
3+
import static org.junit.jupiter.api.Assertions.assertTrue;
4+
5+
import java.io.InputStream;
6+
7+
import org.junit.jupiter.api.BeforeEach;
8+
import org.junit.jupiter.api.Test;
9+
10+
import edu.iris.dmc.DocumentMarshaller;
11+
import edu.iris.dmc.fdsn.station.model.Channel;
12+
import edu.iris.dmc.fdsn.station.model.FDSNStationXML;
13+
import edu.iris.dmc.fdsn.station.model.Network;
14+
import edu.iris.dmc.fdsn.station.model.Station;
15+
import edu.iris.dmc.station.RuleEngineServiceTest;
16+
import edu.iris.dmc.station.restrictions.ChannelCodeRestriction;
17+
import edu.iris.dmc.station.restrictions.ChannelTypeRestriction;
18+
import edu.iris.dmc.station.restrictions.Restriction;
19+
import edu.iris.dmc.station.rules.Message;
20+
import edu.iris.dmc.station.rules.NestedMessage;
21+
22+
public class Condition407Test {
23+
24+
private FDSNStationXML theDocument;
25+
26+
@BeforeEach
27+
public void init() throws Exception {
28+
29+
}
30+
31+
@Test
32+
public void sensitivityfail() throws Exception {
33+
try (InputStream is = RuleEngineServiceTest.class.getClassLoader().getResourceAsStream("F1_407.xml")) {
34+
theDocument = DocumentMarshaller.unmarshal(is);
35+
36+
Network n = theDocument.getNetwork().get(0);
37+
Station s = n.getStations().get(0);
38+
Channel c = s.getChannels().get(0);
39+
Restriction[] restrictions = new Restriction[] { new ChannelCodeRestriction(), new ChannelTypeRestriction() };
40+
41+
InstrumentUnitsStageCondition condition = new InstrumentUnitsStageCondition(true, "", restrictions);
42+
Message result = condition.evaluate(c);
43+
NestedMessage nestedMessage=(NestedMessage)result;
44+
45+
assertTrue(nestedMessage.getNestedMessages().get(0).getDescription().contains("InsturmentSensitivity input units Kg/s must equal Stage[01] input units m/s**2"));
46+
assertTrue(nestedMessage.getNestedMessages().get(1).getDescription().contains("InsturmentSensitivity output units COUNTS must equal Stage[12] output units m/s"));
47+
48+
}
49+
50+
}
51+
52+
@Test
53+
public void polynomialfail() throws Exception {
54+
try (InputStream is = RuleEngineServiceTest.class.getClassLoader().getResourceAsStream("F2_407.xml")) {
55+
theDocument = DocumentMarshaller.unmarshal(is);
56+
57+
Network n = theDocument.getNetwork().get(0);
58+
Station s = n.getStations().get(0);
59+
Channel c = s.getChannels().get(0);
60+
Restriction[] restrictions = new Restriction[] { new ChannelCodeRestriction(), new ChannelTypeRestriction() };
61+
62+
InstrumentUnitsStageCondition condition = new InstrumentUnitsStageCondition(true, "", restrictions);
63+
Message result = condition.evaluate(c);
64+
NestedMessage nestedMessage=(NestedMessage)result;
65+
66+
assertTrue(nestedMessage.getNestedMessages().get(0).getDescription().contains("InsturmentPolynomial input units CELSIUS must equal Stage[01] input units VOLT" +
67+
""));
68+
69+
}
70+
71+
}
72+
73+
@Test
74+
public void pass() throws Exception {
75+
try (InputStream is = RuleEngineServiceTest.class.getClassLoader().getResourceAsStream("pass.xml")) {
76+
theDocument = DocumentMarshaller.unmarshal(is);
77+
78+
Network n = theDocument.getNetwork().get(0);
79+
Station s = n.getStations().get(0);
80+
Channel c = s.getChannels().get(0);
81+
Restriction[] restrictions = new Restriction[] { new ChannelCodeRestriction(), new ChannelTypeRestriction() };
82+
83+
84+
InstrumentUnitsStageCondition condition = new InstrumentUnitsStageCondition(true, "", restrictions);
85+
86+
Message result = condition.evaluate(c);
87+
assertTrue(result instanceof edu.iris.dmc.station.rules.Success);
88+
}
89+
90+
}
91+
}
92+

0 commit comments

Comments
 (0)