You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
let message = Message::from_bytes(&CONFIG,&dict, raw)
661
-
.into_message()
662
-
.unwrap();
660
+
let message = builder.build(raw).into_message().unwrap();
663
661
664
662
let begin:&str = message.header().get(fix44::BEGIN_STRING).unwrap();
665
663
assert_eq!(begin,"FIX.4.4");
@@ -683,11 +681,10 @@ mod tests {
683
681
#[test]
684
682
fnrepeating_group_entries(){
685
683
let raw = b"8=FIX.4.4|9=191|35=8|49=SENDER|56=TARGET|34=123|52=20231103-12:00:00|11=12345|17=ABC123|150=2|39=1|55=XYZ|54=1|38=200|44=10|32=100|31=10|14=100|6=10|151=100|136=2|137=100|138=EUR|139=7|137=160|138=GBP|139=7|10=140|";
686
-
let dict = Dictionary::fix44();
684
+
let builder = MessageBuilder::new(Dictionary::fix44(),CONFIG).unwrap();
685
+
686
+
let message = builder.build(raw).into_message().unwrap();
687
687
688
-
let message = Message::from_bytes(&CONFIG,&dict, raw)
689
-
.into_message()
690
-
.unwrap();
691
688
let begin:&str = message.header().get(fix44::BEGIN_STRING).unwrap();
692
689
assert_eq!(begin,"FIX.4.4");
693
690
@@ -706,10 +703,9 @@ mod tests {
706
703
#[test]
707
704
fnnested_repeating_group_entries(){
708
705
let raw = b"8=FIX.4.4|9=247|35=8|34=2|49=Broker|52=20231103-09:30:00|56=Client|11=Order12345|17=Exec12345|150=0|39=0|55=APPL|54=1|38=100|32=50|31=150.00|151=50|14=50|6=150.00|453=2|448=PARTYA|447=D|452=1|802=2|523=SUBPARTYA1|803=1|523=SUBPARTYA2|803=2|448=PARTYB|447=D|452=2|10=129|";
709
-
let dict = Dictionary::fix44();
706
+
let builder = MessageBuilder::new(Dictionary::fix44(),CONFIG).unwrap();
707
+
let message = builder.build(raw).into_message().unwrap();
710
708
711
-
let parsed_message = Message::from_bytes(&CONFIG,&dict, raw);
712
-
let message = parsed_message.into_message().unwrap();
713
709
let party_a = message.get_group(fix44::NO_PARTY_I_DS,0).unwrap();
714
710
let party_a_0 = party_a
715
711
.get_group(fix44::NO_PARTY_SUB_I_DS.tag(),0)
@@ -731,9 +727,9 @@ mod tests {
731
727
#[test]
732
728
fntest_begin_string_not_the_first_tag(){
733
729
let raw = b"9=40|8=FIX.4.4|35=D|49=AFUNDMGR|56=ABROKER|15=USD|59=0|10=093|";
734
-
let dict = Dictionary::fix44();
730
+
let builder = MessageBuilder::new(Dictionary::fix44(),CONFIG).unwrap();
731
+
let parsed_message = builder.build(raw);
735
732
736
-
let parsed_message = Message::from_bytes(&CONFIG,&dict, raw);
let raw = b"8=FIX.4.4|49=SENDER|9=191|35=8|56=TARGET|34=123|52=20231103-12:00:00|11=12345|17=ABC123|150=2|39=1|55=XYZ|54=1|38=200|44=10|32=100|31=10|14=100|6=10|151=100|136=2|137=100|138=EUR|139=7|137=160|138=GBP|139=7|10=140|";
746
-
let dict = Dictionary::fix44();
742
+
let builder = MessageBuilder::new(Dictionary::fix44(),CONFIG).unwrap();
743
+
let parsed_message = builder.build(raw);
747
744
748
-
let parsed_message = Message::from_bytes(&CONFIG,&dict, raw);
let raw = b"8=FIX.4.4|9=192|35=8|49=SENDER|56=TARGET|34=123|52=20231103-12:00:00|11=12345|17=ABC123|150=2|39=1|55=XYZ|54=1|38=200|44=10|32=100|31=10|14=100|6=10|151=100|136=2|137=100|138=EUR|139=7|137=160|138=GBP|139=7|10=140|";
758
-
let dict = Dictionary::fix44();
754
+
let builder = MessageBuilder::new(Dictionary::fix44(),CONFIG).unwrap();
755
+
let parsed_message = builder.build(raw);
759
756
760
-
let parsed_message = Message::from_bytes(&CONFIG,&dict, raw);
let raw = b"8=FIX.4.4|9=500|35=8|49=SENDER|56=TARGET|34=123|52=20231103-12:00:00|11=12345|17=ABC123|150=2|39=1|55=XYZ|54=1|38=200|44=10|32=100|31=10|14=100|6=10|151=100|136=2|137=100|138=EUR|139=7|137=160|138=GBP|139=7|10=140|";
770
-
let dict = Dictionary::fix44();
766
+
let builder = MessageBuilder::new(Dictionary::fix44(),CONFIG).unwrap();
767
+
let parsed_message = builder.build(raw);
771
768
772
-
let parsed_message = Message::from_bytes(&CONFIG,&dict, raw);
let raw = b"8=FIX.4.4|9=191|49=SENDER|35=8|56=TARGET|34=123|52=20231103-12:00:00|11=12345|17=ABC123|150=2|39=1|55=XYZ|54=1|38=200|44=10|32=100|31=10|14=100|6=10|151=100|136=2|137=100|138=EUR|139=7|137=160|138=GBP|139=7|10=140|";
782
-
let dict = Dictionary::fix44();
778
+
let builder = MessageBuilder::new(Dictionary::fix44(),CONFIG).unwrap();
779
+
let parsed_message = builder.build(raw);
783
780
784
-
let parsed_message = Message::from_bytes(&CONFIG,&dict, raw);
let raw = b"8=FIX.4.4|9=191|35=8|49=SENDER|56=TARGET|34=123|52=20231103-12:00:00|11=12345|17=ABC123|150=2|39=1|55=XYZ|54=1|38=200|44=10|32=100|31=10|14=100|6=10|151=100|136=2|137=100|138=EUR|139=7|137=160|138=GBP|10=140|139=7|";
794
-
let dict = Dictionary::fix44();
790
+
let builder = MessageBuilder::new(Dictionary::fix44(),CONFIG).unwrap();
791
+
let parsed_message = builder.build(raw);
795
792
796
-
let parsed_message = Message::from_bytes(&CONFIG,&dict, raw);
let raw = b"8=FIX.4.4|9=53|35=D|49=AFUNDMGR|9999=invalid|56=ABROKER|15=USD|59=0|10=229|";
818
-
let dict = Dictionary::fix44();
814
+
let builder = MessageBuilder::new(Dictionary::fix44(),CONFIG).unwrap();
815
+
let parsed_message = builder.build(raw);
819
816
820
-
let parsed_message = Message::from_bytes(&CONFIG,&dict, raw);
821
817
assert!(matches!(
822
818
parsed_message,
823
819
ParsedMessage::Invalid{
@@ -832,9 +828,9 @@ mod tests {
832
828
// tag=384 is `NoMsgTypes`, which is supposed to have `RefMsgType` (tag=372) and `MsgDirection` (tag=385)
833
829
// in our message, `RefMsgType` is missing
834
830
let raw = b"8=FIX.4.4|9=75|35=A|49=SENDER|56=TARGET|34=1|52=20231103-12:00:00|98=0|108=30|384=1|385=R|10=050|";
835
-
let dict = Dictionary::fix44();
831
+
let builder = MessageBuilder::new(Dictionary::fix44(),CONFIG).unwrap();
832
+
let parsed_message = builder.build(raw);
836
833
837
-
let parsed_message = Message::from_bytes(&CONFIG,&dict, raw);
838
834
assert!(matches!(
839
835
parsed_message,
840
836
ParsedMessage::Invalid{
@@ -852,16 +848,13 @@ mod tests {
852
848
fntest_parsing_nested_component_inside_group(){
853
849
// an `AllocationInstruction` with `CommissionData` nested inside `AllocGrp`
854
850
let raw = b"8=FIX.4.4|9=252|35=J|49=SELLSIDE|56=BUYSIDE|34=100|52=20251023-14:30:00|70=ALLOC001|71=0|626=1|854=0|55=AAPL|107=Apple Inc|167=CS|54=1|53=10000|60=20251023|75=20251023|381=250000|78=2|79=ACC001|661=1|80=5000|12=100|13=3|11=5|79=ACC002|661=1|80=5000|12=75|13=2|11=3.75|10=031|";
855
-
let dict = Dictionary::fix44();
856
-
857
-
let parsed_message = Message::from_bytes(&CONFIG,&dict, raw)
858
-
.into_message()
859
-
.unwrap();
851
+
let builder = MessageBuilder::new(Dictionary::fix44(),CONFIG).unwrap();
852
+
let message = builder.build(raw).into_message().unwrap();
860
853
861
-
let alloc_1 = parsed_message.get_group(fix44::NO_ALLOCS,0).unwrap();
854
+
let alloc_1 = message.get_group(fix44::NO_ALLOCS,0).unwrap();
0 commit comments