diff options
author | Stephen Toub <stoub@microsoft.com> | 2018-04-09 22:12:41 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-09 22:12:41 +0300 |
commit | a036d70307f7d9dabb7fcb9d9d2b3d3a23011469 (patch) | |
tree | 01624ed149ed8075de87968985947cb8d81c2d10 /src/System.Memory/tests/Memory/Span.cs | |
parent | d3b70585218bb1e3e068c43bc2eaf1c34c616983 (diff) |
Add {ReadOnly}Memory.Span tests when memory contains invalid values (#28896)
* Add {ReadOnly}Memory.Span tests when memory contains invalid values
* Address PR feedback
Diffstat (limited to 'src/System.Memory/tests/Memory/Span.cs')
-rw-r--r-- | src/System.Memory/tests/Memory/Span.cs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/System.Memory/tests/Memory/Span.cs b/src/System.Memory/tests/Memory/Span.cs index 472310d786..55ed001b3d 100644 --- a/src/System.Memory/tests/Memory/Span.cs +++ b/src/System.Memory/tests/Memory/Span.cs @@ -106,5 +106,28 @@ namespace System.MemoryTests Assert.True(spanObject.SequenceEqual(default)); } + [Fact] + public static void TornMemory_Array_SpanThrowsIfOutOfBounds() + { + Memory<int> memory; + + memory = TestHelpers.DangerousCreateMemory<int>(new int[4], 0, 5); + Assert.Throws<ArgumentOutOfRangeException>(() => memory.Span.DontBox()); + + memory = TestHelpers.DangerousCreateMemory<int>(new int[4], 3, 2); + Assert.Throws<ArgumentOutOfRangeException>(() => memory.Span.DontBox()); + } + + [Fact] + public static void TornMemory_String_SpanThrowsIfOutOfBounds() + { + Memory<char> memory; + + memory = TestHelpers.DangerousCreateMemory<char>("1234", 0, 5); + Assert.Throws<ArgumentOutOfRangeException>(() => memory.Span.DontBox()); + + memory = TestHelpers.DangerousCreateMemory<char>("1234", 3, 2); + Assert.Throws<ArgumentOutOfRangeException>(() => memory.Span.DontBox()); + } } } |