File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -400,5 +400,35 @@ public void Obx5DataTypeIsSetFromObx2_WhenObx2IsAnInvalidTypeAndInvalidOptionIsS
400400 Assert . IsAssignableFrom ( expectedObservationValueType , actualObservationValueType ) ;
401401 Assert . AreEqual ( "STValue" , ( ( IPrimitive ) actualObservationValueType ) . Value ) ;
402402 }
403+
404+ /// <summary>
405+ /// Test that the critical response fields can be parsed from a valid message.
406+ /// </summary>
407+ [ Test ]
408+ public void GetCriticalResponseDataFromValidMessage ( )
409+ {
410+ var parser = new PipeParser ( ) ;
411+
412+ var parsed = parser . GetCriticalResponseData ( GetMessage ( ) ) as NHapi . Model . V231 . Segment . MSH ;
413+ Assert . NotNull ( parsed ) ;
414+ Assert . AreEqual ( "|" , parsed . FieldSeparator . Value ) ;
415+ Assert . AreEqual ( @"^~\&" , parsed . EncodingCharacters . Value ) ;
416+ Assert . AreEqual ( "P" , parsed . ProcessingID . ProcessingID . Value ) ;
417+ Assert . AreEqual ( "EBzH1711114101206" , parsed . MessageControlID . Value ) ;
418+ }
419+
420+ /// <summary>
421+ /// Test that a <see cref="HL7Exception"/> is thrown when one of the critical components is missing
422+ /// from the message.
423+ /// </summary>
424+ [ Test ]
425+ public void GetCriticalResponseData_FailToParseInvalidMessage ( )
426+ {
427+ var invalidMessage = GetMessage ( ) . Replace ( "P" , string . Empty ) ;
428+ var parser = new PipeParser ( ) ;
429+
430+ var exception = Assert . Throws < HL7Exception > ( ( ) => parser . GetCriticalResponseData ( invalidMessage ) ) ;
431+ Assert . True ( exception . Message . Contains ( "Can't parse critical fields from MSH segment" ) ) ;
432+ }
403433 }
404434}
You can’t perform that action at this time.
0 commit comments