6
6
import com .google .gson .*;
7
7
8
8
public class MsgTest {
9
+ static class Header {
10
+ String BeginString ;
11
+ String MsgType ;
12
+ String MsgSeqNum ;
13
+ String SenderCompID ;
14
+ String TargetCompID ;
15
+ String SendingTime ;
16
+ }
17
+
18
+ static class Trailer {
19
+ }
20
+
9
21
static class NoMDEntries {
10
22
String MDEntryType ;
11
23
String MDEntryPx ;
@@ -15,33 +27,39 @@ static class NoMDEntries {
15
27
}
16
28
17
29
static class MarketDataSnapshotFullRefresh {
18
- String BeginString ;
19
- String MsgType ;
20
- String MsgSeqNum ;
21
- String SenderCompID ;
22
- String TargetCompID ;
23
- String SendingTime ;
24
- String SecurityIDSource ;
25
- String SecurityID ;
26
- String MDReqID ;
27
- NoMDEntries [] NoMDEntries ;
30
+ static class Body {
31
+ String SecurityIDSource ;
32
+ String SecurityID ;
33
+ String MDReqID ;
34
+ NoMDEntries [] NoMDEntries ;
35
+ }
36
+
37
+ Header Header ;
38
+ Body Body ;
39
+ Trailer Trailer ;
28
40
}
29
41
30
42
private final static String data = String .join ("\n " ,
31
43
"{" ,
32
- "\" BeginString\" : \" FIXT.1.1\" ," ,
33
- "\" MsgType\" : \" W\" ," ,
34
- "\" MsgSeqNum\" : \" 4567\" ," ,
35
- "\" SenderCompID\" : \" SENDER\" ," ,
36
- "\" TargetCompID\" : \" TARGET\" ," ,
37
- "\" SendingTime\" : \" 20160802-21:14:38.717\" ," ,
38
- "\" SecurityIDSource\" : \" 8\" ," ,
39
- "\" SecurityID\" : \" ESU6\" ," ,
40
- "\" MDReqID\" : \" 789\" ," ,
41
- "\" NoMDEntries\" : [" ,
42
- "{ \" MDEntryType\" : \" 0\" , \" MDEntryPx\" : \" 2179.75\" , \" MDEntrySize\" : \" 175\" , \" MDEntryDate\" : \" 20160812\" , \" MDEntryTime\" : \" 21:14:38.688\" }," ,
43
- "{ \" MDEntryType\" : \" 1\" , \" MDEntryPx\" : \" 2180.25\" , \" MDEntrySize\" : \" 125\" , \" MDEntryDate\" : \" 20160812\" , \" MDEntryTime\" : \" 21:14:38.688\" }" ,
44
- "]" ,
44
+ "\" Header\" : {" ,
45
+ "\" BeginString\" : \" FIXT.1.1\" ," ,
46
+ "\" MsgType\" : \" W\" ," ,
47
+ "\" MsgSeqNum\" : \" 4567\" ," ,
48
+ "\" SenderCompID\" : \" SENDER\" ," ,
49
+ "\" TargetCompID\" : \" TARGET\" ," ,
50
+ "\" SendingTime\" : \" 20160802-21:14:38.717\" " ,
51
+ "}," ,
52
+ "\" Body\" : {" ,
53
+ "\" SecurityIDSource\" : \" 8\" ," ,
54
+ "\" SecurityID\" : \" ESU6\" ," ,
55
+ "\" MDReqID\" : \" 789\" ," ,
56
+ "\" NoMDEntries\" : [" ,
57
+ "{ \" MDEntryType\" : \" 0\" , \" MDEntryPx\" : \" 2179.75\" , \" MDEntrySize\" : \" 175\" , \" MDEntryDate\" : \" 20160812\" , \" MDEntryTime\" : \" 21:14:38.688\" }," ,
58
+ "{ \" MDEntryType\" : \" 1\" , \" MDEntryPx\" : \" 2180.25\" , \" MDEntrySize\" : \" 125\" , \" MDEntryDate\" : \" 20160812\" , \" MDEntryTime\" : \" 21:14:38.688\" }" ,
59
+ "]" ,
60
+ "}," ,
61
+ "\" Trailer\" : {" ,
62
+ "}" ,
45
63
"}"
46
64
);
47
65
@@ -51,33 +69,33 @@ public void testJson() {
51
69
MarketDataSnapshotFullRefresh msg = new Gson ().fromJson (data , MarketDataSnapshotFullRefresh .class );
52
70
53
71
// Then the header fields should be
54
- assertEquals ("FIXT.1.1" , msg .BeginString );
55
- assertEquals ("W" , msg .MsgType );
56
- assertEquals ("4567" , msg .MsgSeqNum );
57
- assertEquals ("SENDER" , msg .SenderCompID );
58
- assertEquals ("TARGET" , msg .TargetCompID );
59
- assertEquals ("20160802-21:14:38.717" , msg .SendingTime );
72
+ assertEquals ("FIXT.1.1" , msg .Header . BeginString );
73
+ assertEquals ("W" , msg .Header . MsgType );
74
+ assertEquals ("4567" , msg .Header . MsgSeqNum );
75
+ assertEquals ("SENDER" , msg .Header . SenderCompID );
76
+ assertEquals ("TARGET" , msg .Header . TargetCompID );
77
+ assertEquals ("20160802-21:14:38.717" , msg .Header . SendingTime );
60
78
61
79
// And the body fields should be
62
- assertEquals ("8" , msg .SecurityIDSource );
63
- assertEquals ("ESU6" , msg .SecurityID );
64
- assertEquals ("789" , msg .MDReqID );
80
+ assertEquals ("8" , msg .Body . SecurityIDSource );
81
+ assertEquals ("ESU6" , msg .Body . SecurityID );
82
+ assertEquals ("789" , msg .Body . MDReqID );
65
83
66
84
// And the NoMDEntries repeating group should contain two entries
67
- assertEquals (2 , msg .NoMDEntries .length );
85
+ assertEquals (2 , msg .Body . NoMDEntries .length );
68
86
69
87
// And the first entry should be
70
- assertEquals ("0" , msg .NoMDEntries [0 ].MDEntryType );
71
- assertEquals ("2179.75" , msg .NoMDEntries [0 ].MDEntryPx );
72
- assertEquals ("175" , msg .NoMDEntries [0 ].MDEntrySize );
73
- assertEquals ("20160812" , msg .NoMDEntries [0 ].MDEntryDate );
74
- assertEquals ("21:14:38.688" , msg .NoMDEntries [0 ].MDEntryTime );
88
+ assertEquals ("0" , msg .Body . NoMDEntries [0 ].MDEntryType );
89
+ assertEquals ("2179.75" , msg .Body . NoMDEntries [0 ].MDEntryPx );
90
+ assertEquals ("175" , msg .Body . NoMDEntries [0 ].MDEntrySize );
91
+ assertEquals ("20160812" , msg .Body . NoMDEntries [0 ].MDEntryDate );
92
+ assertEquals ("21:14:38.688" , msg .Body . NoMDEntries [0 ].MDEntryTime );
75
93
76
94
// And the second entry should be
77
- assertEquals ("1" , msg .NoMDEntries [1 ].MDEntryType );
78
- assertEquals ("2180.25" , msg .NoMDEntries [1 ].MDEntryPx );
79
- assertEquals ("125" , msg .NoMDEntries [1 ].MDEntrySize );
80
- assertEquals ("20160812" , msg .NoMDEntries [1 ].MDEntryDate );
81
- assertEquals ("21:14:38.688" , msg .NoMDEntries [1 ].MDEntryTime );
95
+ assertEquals ("1" , msg .Body . NoMDEntries [1 ].MDEntryType );
96
+ assertEquals ("2180.25" , msg .Body . NoMDEntries [1 ].MDEntryPx );
97
+ assertEquals ("125" , msg .Body . NoMDEntries [1 ].MDEntrySize );
98
+ assertEquals ("20160812" , msg .Body . NoMDEntries [1 ].MDEntryDate );
99
+ assertEquals ("21:14:38.688" , msg .Body . NoMDEntries [1 ].MDEntryTime );
82
100
}
83
101
}
0 commit comments