@@ -361,17 +361,29 @@ public void HashValue_Endianness_Works()
361361 Assert . Equal ( hv1 . AsLittleEndian ( ) , hv1 ) ;
362362 Assert . Equal ( hv2 . AsLittleEndian ( ) , hv2 . Reverse ( ) ) ;
363363 Assert . Equal ( hv3 . AsLittleEndian ( ) , hv3 ) ;
364+
365+ // TreatAsLittleEndian must return the same array but convert BigEndian and NotApplicable to LittleEndian.
366+ Assert . Equal ( hv1 . TreatAsLittleEndian ( ) , hv1 ) ;
367+ Assert . Equal ( ValueEndianness . LittleEndian , hv1 . TreatAsLittleEndian ( ) . Endianness ) ;
368+ Assert . Equal ( hv2 . TreatAsLittleEndian ( ) , hv2 ) ;
369+ Assert . Equal ( ValueEndianness . LittleEndian , hv2 . TreatAsLittleEndian ( ) . Endianness ) ;
370+
371+ // TreatAsBigEndian must return the same array but convert LittleEndian and NotApplicable to BigEndian.
372+ Assert . Equal ( hv1 . TreatAsBigEndian ( ) , hv1 ) ;
373+ Assert . Equal ( ValueEndianness . BigEndian , hv1 . TreatAsBigEndian ( ) . Endianness ) ;
374+ Assert . Equal ( hv3 . TreatAsBigEndian ( ) , hv3 ) ;
375+ Assert . Equal ( ValueEndianness . BigEndian , hv3 . TreatAsBigEndian ( ) . Endianness ) ;
364376 }
365377 #endregion
366378
367379 #region Integrals
368380 [ Fact ]
369381 public void HashValue_AsDecimal_Works ( )
370382 {
371- var hv1 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 4 ] , 32 ) ;
372- var hv2 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 8 ] , 64 ) ;
373- var hv3 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 12 ] , 96 ) ;
374- var hv_invalid = new HashValue ( ValueEndianness . NotApplicable , new byte [ 16 ] , 128 ) ;
383+ var hv1 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 4 ] , 32 ) ;
384+ var hv2 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 8 ] , 64 ) ;
385+ var hv3 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 12 ] , 96 ) ;
386+ var hv_invalid = new HashValue ( ValueEndianness . LittleEndian , new byte [ 16 ] , 128 ) ;
375387
376388 Assert . Equal ( 0 , hv1 . AsDecimal ( ) ) ;
377389 Assert . Equal ( 0 , hv2 . AsDecimal ( ) ) ;
@@ -383,9 +395,9 @@ public void HashValue_AsDecimal_Works()
383395 [ Fact ]
384396 public void HashValue_AsDouble_Works ( )
385397 {
386- var hv1 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 4 ] , 32 ) ;
387- var hv2 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 8 ] , 64 ) ;
388- var hv_invalid = new HashValue ( ValueEndianness . NotApplicable , new byte [ 16 ] , 128 ) ;
398+ var hv1 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 4 ] , 32 ) ;
399+ var hv2 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 8 ] , 64 ) ;
400+ var hv_invalid = new HashValue ( ValueEndianness . LittleEndian , new byte [ 16 ] , 128 ) ;
389401
390402 Assert . Equal ( 0 , hv1 . AsDouble ( ) ) ;
391403 Assert . Equal ( 0 , hv2 . AsDouble ( ) ) ;
@@ -396,9 +408,9 @@ public void HashValue_AsDouble_Works()
396408 [ Fact ]
397409 public void HashValue_AsSingle_Works ( )
398410 {
399- var hv1 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 2 ] , 16 ) ;
400- var hv2 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 4 ] , 32 ) ;
401- var hv_invalid = new HashValue ( ValueEndianness . NotApplicable , new byte [ 16 ] , 128 ) ;
411+ var hv1 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 2 ] , 16 ) ;
412+ var hv2 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 4 ] , 32 ) ;
413+ var hv_invalid = new HashValue ( ValueEndianness . LittleEndian , new byte [ 16 ] , 128 ) ;
402414
403415 Assert . Equal ( 0 , hv1 . AsSingle ( ) ) ;
404416 Assert . Equal ( 0 , hv2 . AsSingle ( ) ) ;
@@ -409,9 +421,9 @@ public void HashValue_AsSingle_Works()
409421 [ Fact ]
410422 public void HashValue_AsInt64_Works ( )
411423 {
412- var hv1 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 4 ] , 32 ) ;
413- var hv2 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 8 ] , 64 ) ;
414- var hv_invalid = new HashValue ( ValueEndianness . NotApplicable , new byte [ 16 ] , 128 ) ;
424+ var hv1 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 4 ] , 32 ) ;
425+ var hv2 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 8 ] , 64 ) ;
426+ var hv_invalid = new HashValue ( ValueEndianness . LittleEndian , new byte [ 16 ] , 128 ) ;
415427
416428 Assert . Equal ( 0 , hv1 . AsInt64 ( ) ) ;
417429 Assert . Equal ( 0 , hv2 . AsInt64 ( ) ) ;
@@ -422,9 +434,9 @@ public void HashValue_AsInt64_Works()
422434 [ Fact ]
423435 public void HashValue_AsInt32_Works ( )
424436 {
425- var hv1 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 2 ] , 16 ) ;
426- var hv2 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 4 ] , 32 ) ;
427- var hv_invalid = new HashValue ( ValueEndianness . NotApplicable , new byte [ 16 ] , 128 ) ;
437+ var hv1 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 2 ] , 16 ) ;
438+ var hv2 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 4 ] , 32 ) ;
439+ var hv_invalid = new HashValue ( ValueEndianness . LittleEndian , new byte [ 16 ] , 128 ) ;
428440
429441 Assert . Equal ( 0 , hv1 . AsInt32 ( ) ) ;
430442 Assert . Equal ( 0 , hv2 . AsInt32 ( ) ) ;
@@ -435,9 +447,9 @@ public void HashValue_AsInt32_Works()
435447 [ Fact ]
436448 public void HashValue_AsInt16_Works ( )
437449 {
438- var hv1 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 1 ] , 8 ) ;
439- var hv2 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 2 ] , 16 ) ;
440- var hv_invalid = new HashValue ( ValueEndianness . NotApplicable , new byte [ 16 ] , 128 ) ;
450+ var hv1 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 1 ] , 8 ) ;
451+ var hv2 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 2 ] , 16 ) ;
452+ var hv_invalid = new HashValue ( ValueEndianness . LittleEndian , new byte [ 16 ] , 128 ) ;
441453
442454 Assert . Equal ( 0 , hv1 . AsInt16 ( ) ) ;
443455 Assert . Equal ( 0 , hv2 . AsInt16 ( ) ) ;
@@ -448,14 +460,14 @@ public void HashValue_AsInt16_Works()
448460 [ Fact ]
449461 public void HashValue_AsBigInteger_Works ( )
450462 {
451- var hv1 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 1 ] , 8 ) ;
452- var hv2 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 2 ] , 16 ) ;
453- var hv3 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 4 ] , 32 ) ;
454- var hv4 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 8 ] , 64 ) ;
455- var hv5 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 16 ] , 128 ) ;
456- var hv6 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 32 ] , 256 ) ;
457- var hv7 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 64 ] , 512 ) ;
458- var hv8 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 128 ] , 1024 ) ;
463+ var hv1 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 1 ] , 8 ) ;
464+ var hv2 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 2 ] , 16 ) ;
465+ var hv3 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 4 ] , 32 ) ;
466+ var hv4 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 8 ] , 64 ) ;
467+ var hv5 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 16 ] , 128 ) ;
468+ var hv6 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 32 ] , 256 ) ;
469+ var hv7 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 64 ] , 512 ) ;
470+ var hv8 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 128 ] , 1024 ) ;
459471
460472 Assert . Equal ( 0 , hv1 . AsBigInteger ( ) ) ;
461473 Assert . Equal ( 0 , hv2 . AsBigInteger ( ) ) ;
@@ -473,9 +485,9 @@ public void HashValue_AsBigInteger_Works()
473485 [ Fact ]
474486 public void HashValue_AsChar_Works ( )
475487 {
476- var hv1 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 2 ] , 16 ) ;
477- var hv2 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 1 ] , 8 ) ;
478- var hv_invalid = new HashValue ( ValueEndianness . NotApplicable , new byte [ 4 ] , 32 ) ;
488+ var hv1 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 2 ] , 16 ) ;
489+ var hv2 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 1 ] , 8 ) ;
490+ var hv_invalid = new HashValue ( ValueEndianness . LittleEndian , new byte [ 4 ] , 32 ) ;
479491
480492 Assert . Equal ( '\0 ' , hv1 . AsChar ( ) ) ;
481493 Assert . Equal ( '\0 ' , hv2 . AsChar ( ) ) ;
@@ -488,9 +500,9 @@ public void HashValue_AsChar_Works()
488500 [ Fact ]
489501 public void HashValue_AsDateTime_Works ( )
490502 {
491- var hv1 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 4 ] , 32 ) ;
492- var hv2 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 8 ] , 64 ) ;
493- var hv_invalid = new HashValue ( ValueEndianness . NotApplicable , new byte [ 16 ] , 128 ) ;
503+ var hv1 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 4 ] , 32 ) ;
504+ var hv2 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 8 ] , 64 ) ;
505+ var hv_invalid = new HashValue ( ValueEndianness . LittleEndian , new byte [ 16 ] , 128 ) ;
494506
495507 Assert . Equal ( new DateTime ( 0 ) , hv1 . AsDateTime ( ) ) ;
496508 Assert . Equal ( new DateTime ( 0 ) , hv2 . AsDateTime ( ) ) ;
@@ -501,9 +513,9 @@ public void HashValue_AsDateTime_Works()
501513 [ Fact ]
502514 public void HashValue_AsDateTimeOffset_Works ( )
503515 {
504- var hv1 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 4 ] , 32 ) ;
505- var hv2 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 8 ] , 64 ) ;
506- var hv_invalid = new HashValue ( ValueEndianness . NotApplicable , new byte [ 16 ] , 128 ) ;
516+ var hv1 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 4 ] , 32 ) ;
517+ var hv2 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 8 ] , 64 ) ;
518+ var hv_invalid = new HashValue ( ValueEndianness . LittleEndian , new byte [ 16 ] , 128 ) ;
507519
508520 Assert . Equal ( new DateTimeOffset ( 0 , TimeSpan . Zero ) , hv1 . AsDateTimeOffset ( ) ) ;
509521 Assert . Equal ( new DateTimeOffset ( 0 , TimeSpan . Zero ) , hv2 . AsDateTimeOffset ( ) ) ;
@@ -514,9 +526,9 @@ public void HashValue_AsDateTimeOffset_Works()
514526 [ Fact ]
515527 public void HashValue_AsTimeSpan_Works ( )
516528 {
517- var hv1 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 4 ] , 32 ) ;
518- var hv2 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 8 ] , 64 ) ;
519- var hv_invalid = new HashValue ( ValueEndianness . NotApplicable , new byte [ 16 ] , 128 ) ;
529+ var hv1 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 4 ] , 32 ) ;
530+ var hv2 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 8 ] , 64 ) ;
531+ var hv_invalid = new HashValue ( ValueEndianness . LittleEndian , new byte [ 16 ] , 128 ) ;
520532
521533 Assert . Equal ( new TimeSpan ( 0 ) , hv1 . AsTimeSpan ( ) ) ;
522534 Assert . Equal ( new TimeSpan ( 0 ) , hv2 . AsTimeSpan ( ) ) ;
@@ -529,8 +541,8 @@ public void HashValue_AsTimeSpan_Works()
529541 [ Fact ]
530542 public void HashValue_AsBinaryString_Works ( )
531543 {
532- var hv1 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 8 ] , 64 ) ;
533- var hv2 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 16 ] , 128 ) ;
544+ var hv1 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 8 ] , 64 ) ;
545+ var hv2 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 16 ] , 128 ) ;
534546
535547 Assert . Equal ( "0000000000000000000000000000000000000000000000000000000000000000" , hv1 . AsBinaryString ( ) ) ;
536548 Assert . Equal ( "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" , hv2 . AsBinaryString ( ) ) ;
@@ -541,9 +553,9 @@ public void HashValue_AsBinaryString_Works()
541553 [ Fact ]
542554 public void HashValue_AsGuid_Works ( )
543555 {
544- var hv1 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 8 ] , 64 ) ;
545- var hv2 = new HashValue ( ValueEndianness . NotApplicable , new byte [ 16 ] , 128 ) ;
546- var hv_invalid = new HashValue ( ValueEndianness . NotApplicable , new byte [ 32 ] , 256 ) ;
556+ var hv1 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 8 ] , 64 ) ;
557+ var hv2 = new HashValue ( ValueEndianness . LittleEndian , new byte [ 16 ] , 128 ) ;
558+ var hv_invalid = new HashValue ( ValueEndianness . LittleEndian , new byte [ 32 ] , 256 ) ;
547559
548560 Assert . Equal ( new Guid ( new byte [ 16 ] ) , hv1 . AsGuid ( ) ) ;
549561 Assert . Equal ( new Guid ( new byte [ 16 ] ) , hv2 . AsGuid ( ) ) ;
0 commit comments