|
6 | 6 | import org.junit.jupiter.api.Assertions;
|
7 | 7 | import org.junit.jupiter.api.Test;
|
8 | 8 |
|
| 9 | +import java.io.InputStream; |
| 10 | + |
9 | 11 | class MTConnectDevicesDecodeTest {
|
10 | 12 | @Test
|
11 | 13 | void testMTConnectDevicesDecode() throws Exception {
|
12 |
| - String xml = """ |
13 |
| - <?xml version="1.0" encoding="UTF-8"?> |
14 |
| - <MTConnectDevices xmlns:m="urn:mtconnect.org:MTConnectDevices:1.1" |
15 |
| - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
16 |
| - xmlns="urn:mtconnect.org:MTConnectDevices:1.1" |
17 |
| - xsi:schemaLocation="urn:mtconnect.org:MTConnectDevices:1.1 |
18 |
| - http://www.mtconnect.org/schemas/MTConnectDevices_1.1.xsd"> |
19 |
| -
|
20 |
| - <Header creationTime="2010-03-13T08:02:38+00:00" sender="localhost" |
21 |
| - instanceId="1268463594" bufferSize="131072" version="1.1" /> |
22 |
| -
|
23 |
| - <Devices> |
24 |
| - <Device id="dev" name="VMC-4Axis" uuid="XXX111"> |
25 |
| - <DataItems> |
26 |
| - <DataItem category="EVENT" id="avail" type="AVAILABILITY" /> |
27 |
| - </DataItems> |
28 |
| - <Components> |
29 |
| - <Axes id="axes" name="axes"> |
30 |
| - <Components> |
31 |
| - <Linear id="x" name="X"> |
32 |
| - <DataItems> |
33 |
| - <DataItem category="SAMPLE" id="Xact" nativeUnits="MILLIMETER" |
34 |
| - subType="ACTUAL" type="POSITION" units="MILLIMETER" /> |
35 |
| - <DataItem category="SAMPLE" id="Xload" nativeUnits="PERCENT" |
36 |
| - type="LOAD" units="PERCENT" /> |
37 |
| - <DataItem category="CONDITION" id="Xtravel" type="POSITION" /> |
38 |
| - <DataItem category="CONDITION" id="Xovertemp" type="TEMPERATURE" /> |
39 |
| - <DataItem category="CONDITION" id="Xservo" type="ACTUATOR" /> |
40 |
| - </DataItems> |
41 |
| - </Linear> |
42 |
| - <Linear id="y" name="Y"> |
43 |
| - <DataItems> |
44 |
| - <DataItem category="SAMPLE" id="Yact" nativeUnits="MILLIMETER" |
45 |
| - subType="ACTUAL" type="POSITION" units="MILLIMETER" /> |
46 |
| - <DataItem category="SAMPLE" id="Yload" nativeUnits="PERCENT" |
47 |
| - type="LOAD" units="PERCENT" /> |
48 |
| - <DataItem category="CONDITION" id="Ytravel" type="POSITION" /> |
49 |
| - <DataItem category="CONDITION" id="Yovertemp" type="TEMPERATURE" /> |
50 |
| - <DataItem category="CONDITION" id="Yservo" type="ACTUATOR" /> |
51 |
| - </DataItems> |
52 |
| - </Linear> |
53 |
| - <Linear id="z" name="Z"> |
54 |
| - <DataItems> |
55 |
| - <DataItem category="SAMPLE" id="Zact" nativeUnits="MILLIMETER" |
56 |
| - subType="ACTUAL" type="POSITION" units="MILLIMETER" /> |
57 |
| - <DataItem category="SAMPLE" id="Zload" nativeUnits="PERCENT" |
58 |
| - type="LOAD" units="PERCENT" /> |
59 |
| - <DataItem category="CONDITION" id="Ztravel" type="POSITION" /> |
60 |
| - <DataItem category="CONDITION" id="Zovertemp" type="TEMPERATURE" /> |
61 |
| - <DataItem category="CONDITION" id="Zservo" type="ACTUATOR" /> |
62 |
| - </DataItems> |
63 |
| - </Linear> |
64 |
| - <Rotary id="a" name="A"> |
65 |
| - <DataItems> |
66 |
| - <DataItem category="SAMPLE" id="Aact" nativeUnits="DEGREE" |
67 |
| - subType="ACTUAL" type="ANGLE" units="DEGREE" /> |
68 |
| - <DataItem category="SAMPLE" id="Aload" nativeUnits="PERCENT" |
69 |
| - type="LOAD" units="PERCENT" /> |
70 |
| - <DataItem category="CONDITION" id="Atravel" type="POSITION" /> |
71 |
| - <DataItem category="CONDITION" id="Aovertemp" type="TEMPERATURE" /> |
72 |
| - <DataItem category="CONDITION" id="Aservo" type="ACTUATOR" /> |
73 |
| - </DataItems> |
74 |
| - </Rotary> |
75 |
| - <Rotary id="c" name="C" nativeName="S1"> |
76 |
| - <DataItems> |
77 |
| - <DataItem category="SAMPLE" id="S1speed" nativeUnits="REVOLUTION/MINUTE" |
78 |
| - type="SPINDLE_SPEED" units="REVOLUTION/MINUTE" /> |
79 |
| - <DataItem category="EVENT" id="S1mode" type="ROTARY_MODE"> |
80 |
| - <Constraints> |
81 |
| - <Value>SPINDLE</Value> |
82 |
| - </Constraints> |
83 |
| - </DataItem> |
84 |
| - <DataItem category="SAMPLE" id="S1load" nativeUnits="PERCENT" |
85 |
| - type="LOAD" units="PERCENT" /> |
86 |
| - <DataItem category="CONDITION" id="spindle" type="SYSTEM" /> |
87 |
| - </DataItems> |
88 |
| - </Rotary> |
89 |
| - </Components> |
90 |
| - </Axes> |
91 |
| - <Controller id="cont" name="controller"> |
92 |
| - <DataItems> |
93 |
| - <DataItem category="CONDITION" id="logic" type="LOGIC_PROGRAM" /> |
94 |
| - <DataItem category="EVENT" id="estop" type="EMERGENCY_STOP" /> |
95 |
| - <DataItem category="CONDITION" id="servo" type="ACTUATOR" /> |
96 |
| - <DataItem category="EVENT" id="message" type="MESSAGE" /> |
97 |
| - <DataItem category="CONDITION" id="comms" type="COMMUNICATIONS" /> |
98 |
| - </DataItems> |
99 |
| - <Components> |
100 |
| - <Path id="path" name="path"> |
101 |
| - <DataItems> |
102 |
| - <DataItem category="SAMPLE" id="SspeedOvr" nativeUnits="PERCENT" |
103 |
| - subType="OVERRIDE" type="SPINDLE_SPEED" units="PERCENT" /> |
104 |
| - <DataItem category="EVENT" id="block" type="BLOCK" /> |
105 |
| - <DataItem category="EVENT" id="execution" type="EXECUTION" /> |
106 |
| - <DataItem category="EVENT" id="program" type="PROGRAM" /> |
107 |
| - <DataItem category="SAMPLE" id="path_feedrate" nativeUnits="MILLIMETER/SECOND" |
108 |
| - type="PATH_FEEDRATE" units="MILLIMETER/SECOND" /> |
109 |
| - <DataItem category="EVENT" id="mode" type="CONTROLLER_MODE" /> |
110 |
| - <DataItem category="EVENT" id="line" type="LINE" /> |
111 |
| - <DataItem category="SAMPLE" id="path_pos" nativeUnits="MILLIMETER_3D" |
112 |
| - subType="ACTUAL" type="PATH_POSITION" units="MILLIMETER_3D" /> |
113 |
| - <DataItem category="SAMPLE" id="probe" nativeUnits="MILLIMETER_3D" |
114 |
| - subType="PROBE" type="PATH_POSITION" units="MILLIMETER_3D" /> |
115 |
| - <DataItem category="EVENT" id="part" type="PART_ID" /> |
116 |
| - <DataItem category="CONDITION" id="motion" type="MOTION_PROGRAM" /> |
117 |
| - <DataItem category="CONDITION" id="system" type="SYSTEM" /> |
118 |
| - </DataItems> |
119 |
| - </Path> |
120 |
| - </Components> |
121 |
| - </Controller> |
122 |
| - </Components> |
123 |
| - </Device> |
124 |
| - </Devices> |
125 |
| - </MTConnectDevices> |
126 |
| - """; |
127 | 14 |
|
128 |
| - MTConnectDevices mtConnectDevices = XmlUtil.fromXml(xml, MTConnectDevices.class); |
| 15 | + InputStream xmlInputStream = MTConnectFileUtil.readFile("mtconnect_devices.xml"); |
| 16 | + MTConnectDevices mtConnectDevices = XmlUtil.fromXml(xmlInputStream, MTConnectDevices.class); |
129 | 17 |
|
130 | 18 | Assertions.assertNotNull(mtConnectDevices);
|
131 | 19 | Assertions.assertNotNull(mtConnectDevices.getHeader());
|
|
0 commit comments