public void TryWriteSixChars() { Span <char> span = stackalloc char[0]; Assert.False(SpanUtility.TryWriteChars(span, 'a', 'b', 'c', 'd', 'e', 'f')); span = stackalloc char[5] { '0', '1', '2', '3', '4' }; Assert.False(SpanUtility.TryWriteChars(span, 'a', 'b', 'c', 'd', 'e', 'f')); Assert.Equal(new char[] { '0', '1', '2', '3', '4' }, span.ToArray()); span = stackalloc char[6] { '0', '1', '2', '3', '4', '5' }; Assert.True(SpanUtility.TryWriteChars(span, 'a', 'b', 'c', 'd', 'e', 'f')); Assert.Equal(new char[] { 'a', 'b', 'c', 'd', 'e', 'f' }, span.ToArray()); span = stackalloc char[7] { '0', '1', '2', '3', '4', '5', '6' }; Assert.True(SpanUtility.TryWriteChars(span, 'a', 'b', 'c', 'd', 'e', 'f')); Assert.Equal(new char[] { 'a', 'b', 'c', 'd', 'e', 'f', '6' }, span.ToArray()); }
public void TryWriteFourChars() { Span <char> span = stackalloc char[0]; Assert.False(SpanUtility.TryWriteChars(span, 'a', 'b', 'c', 'd')); span = stackalloc char[3] { '0', '1', '2' }; Assert.False(SpanUtility.TryWriteChars(span, 'a', 'b', 'c', 'd')); Assert.Equal(new char[] { '0', '1', '2' }, span.ToArray()); span = stackalloc char[4] { '0', '1', '2', '3' }; Assert.True(SpanUtility.TryWriteChars(span, 'a', 'b', 'c', 'd')); Assert.Equal(new char[] { 'a', 'b', 'c', 'd' }, span.ToArray()); span = stackalloc char[5] { '0', '1', '2', '3', '4' }; Assert.True(SpanUtility.TryWriteChars(span, 'a', 'b', 'c', 'd')); Assert.Equal(new char[] { 'a', 'b', 'c', 'd', '4' }, span.ToArray()); }