@@ -76,6 +76,7 @@ public void Test_MemoryExtensions_FromArray_CastFromByte()
7676 Span < byte > spanOfBytes = memoryOfBytes . Span ;
7777 Span < float > spanOfFloats = memoryOfFloats . Span ;
7878
79+ Assert . AreEqual ( memoryOfFloats . Length , spanOfFloats . Length ) ;
7980 Assert . IsTrue ( Unsafe . AreSame (
8081 ref spanOfBytes [ 0 ] ,
8182 ref Unsafe . As < float , byte > ( ref spanOfFloats [ 0 ] ) ) ) ;
@@ -93,11 +94,30 @@ public void Test_MemoryExtensions_FromArray_CastToByte()
9394 Span < float > spanOfFloats = memoryOfFloats . Span ;
9495 Span < byte > spanOfBytes = memoryOfBytes . Span ;
9596
97+ Assert . AreEqual ( memoryOfBytes . Length , spanOfBytes . Length ) ;
9698 Assert . IsTrue ( Unsafe . AreSame (
9799 ref spanOfFloats [ 0 ] ,
98100 ref Unsafe . As < byte , float > ( ref spanOfBytes [ 0 ] ) ) ) ;
99101 }
100102
103+ [ TestCategory ( "MemoryExtensions" ) ]
104+ [ TestMethod ]
105+ public void Test_MemoryExtensions_FromArray_CastToShort ( )
106+ {
107+ Memory < float > memoryOfFloats = new float [ 128 ] ;
108+ Memory < short > memoryOfShorts = memoryOfFloats . Cast < float , short > ( ) ;
109+
110+ Assert . AreEqual ( memoryOfShorts . Length , 128 * sizeof ( float ) / sizeof ( short ) ) ;
111+
112+ Span < float > spanOfFloats = memoryOfFloats . Span ;
113+ Span < short > spanOfShorts = memoryOfShorts . Span ;
114+
115+ Assert . AreEqual ( memoryOfShorts . Length , spanOfShorts . Length ) ;
116+ Assert . IsTrue ( Unsafe . AreSame (
117+ ref spanOfFloats [ 0 ] ,
118+ ref Unsafe . As < short , float > ( ref spanOfShorts [ 0 ] ) ) ) ;
119+ }
120+
101121 [ TestCategory ( "MemoryExtensions" ) ]
102122 [ TestMethod ]
103123 public void Test_MemoryExtensions_FromArray_CastFromByteAndBack ( )
@@ -115,6 +135,11 @@ public void Test_MemoryExtensions_FromArray_CastFromByteAndBack()
115135 Assert . AreEqual ( segment . Count , data . Length ) ;
116136
117137 Assert . IsTrue ( memoryOfBytes . Equals ( memoryBack ) ) ;
138+
139+ Span < byte > span1 = memoryOfBytes . Span ;
140+ Span < byte > span2 = memoryBack . Span ;
141+
142+ Assert . IsTrue ( span1 == span2 ) ;
118143 }
119144
120145 [ TestCategory ( "MemoryExtensions" ) ]
0 commit comments