Skip to content

Commit ba514b0

Browse files
committed
Added unit test with types != byte
1 parent b904790 commit ba514b0

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

UnitTests/UnitTests.HighPerformance.Shared/Extensions/Test_MemoryExtensions.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)