2525using  MongoDB . TestHelpers . XunitExtensions ; 
2626using  MongoDB . Driver . Core . Misc ; 
2727using  Xunit ; 
28+ using  System . Buffers . Binary ; 
2829
2930namespace  MongoDB . Driver . Core . WireProtocol . Messages . Encoders . BinaryEncoders 
3031{ 
@@ -141,7 +142,7 @@ public void ReadMessage_should_throw_when_flags_is_invalid(
141142 [ Values ( - 1 ,  1 ,  4 ) ]  int  flags ) 
142143 { 
143144 var  bytes  =  CreateMessageBytes ( ) ; 
144-  BitConverter . GetBytes ( flags ) . CopyTo ( bytes ,   16 ) ; 
145+  BinaryPrimitives . WriteInt32LittleEndian ( bytes . AsSpan ( 16 ,   4 ) ,   flags ) ; 
145146 var  subject  =  CreateSubject ( bytes ) ; 
146147 var  expectedMessage  =  flags  ==  1  ?  "Command message CheckSumPresent flag not supported."  :  "Command message has invalid flags" ; 
147148
@@ -271,7 +272,7 @@ public void WriteMessage_should_write_messageLength(int[] sectionTypes)
271272 var  result  =  stream . ToArray ( ) ; 
272273
273274 result . Length . Should ( ) . Be ( expectedMessageLength ) ; 
274-  var  writtenMessageLength  =  BitConverter . ToInt32 ( result ,   0 ) ; 
275+  var  writtenMessageLength  =  BinaryPrimitives . ReadInt32LittleEndian ( result . AsSpan ( 0 ,   4 ) ) ; 
275276 writtenMessageLength . Should ( ) . Be ( expectedMessageLength ) ; 
276277 } 
277278
@@ -287,7 +288,7 @@ public void WriteMessage_should_write_requestId(
287288 subject . WriteMessage ( message ) ; 
288289 var  result  =  stream . ToArray ( ) ; 
289290
290-  var  resultRequestId  =  BitConverter . ToInt32 ( result ,  4 ) ; 
291+  var  resultRequestId  =  BinaryPrimitives . ReadInt32LittleEndian ( result . AsSpan ( 4 ,  4 ) ) ; 
291292 resultRequestId . Should ( ) . Be ( requestId ) ; 
292293 } 
293294
@@ -303,7 +304,7 @@ public void WriteMessage_should_write_responseTo(
303304 subject . WriteMessage ( message ) ; 
304305 var  result  =  stream . ToArray ( ) ; 
305306
306-  var  resultResponseTo  =  BitConverter . ToInt32 ( result ,   8 ) ; 
307+  var  resultResponseTo  =  BinaryPrimitives . ReadInt32LittleEndian ( result . AsSpan ( 8 ,   4 ) ) ; 
307308 resultResponseTo . Should ( ) . Be ( responseTo ) ; 
308309 } 
309310
@@ -317,7 +318,7 @@ public void WriteMessage_should_write_expected_opcode()
317318 subject . WriteMessage ( message ) ; 
318319 var  result  =  stream . ToArray ( ) ; 
319320
320-  var  opcode  =  BitConverter . ToInt32 ( result ,   12 ) ; 
321+  var  opcode  =  BinaryPrimitives . ReadInt32LittleEndian ( result . AsSpan ( 12 ,   4 ) ) ; 
321322 opcode . Should ( ) . Be ( ( int ) Opcode . OpMsg ) ; 
322323 } 
323324
@@ -334,7 +335,7 @@ public void WriteMessage_should_write_flags(
334335 subject . WriteMessage ( message ) ; 
335336
336337 var  result  =  stream . ToArray ( ) ; 
337-  var  flags  =  ( OpMsgFlags ) BitConverter . ToInt32 ( result ,   16 ) ; 
338+  var  flags  =  ( OpMsgFlags ) BinaryPrimitives . ReadInt32LittleEndian ( result . AsSpan ( 16 ,   4 ) ) ; 
338339 flags . HasFlag ( OpMsgFlags . MoreToCome ) . Should ( ) . Be ( moreToCome ) ; 
339340 flags . HasFlag ( OpMsgFlags . ExhaustAllowed ) . Should ( ) . Be ( exhaustAllowed ) ; 
340341 } 
0 commit comments