a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
58 lines
2.0 KiB
C#
58 lines
2.0 KiB
C#
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
|
|
|
|
using System.IO;
|
|
using Microsoft.TestCommon;
|
|
using Xunit;
|
|
using Assert = Microsoft.TestCommon.AssertEx;
|
|
|
|
namespace System.Net.Http
|
|
{
|
|
public class MultipartMemoryStreamProviderTests
|
|
{
|
|
[Fact]
|
|
[Trait("Description", "MultipartMemoryStreamProvider is internal type.")]
|
|
public void TypeIsCorrect()
|
|
{
|
|
Assert.Type.HasProperties(
|
|
typeof(MultipartMemoryStreamProvider),
|
|
TypeAssert.TypeProperties.IsClass,
|
|
typeof(IMultipartStreamProvider));
|
|
}
|
|
|
|
[Fact]
|
|
[Trait("Description", "MultipartMemoryStreamProvider default ctor.")]
|
|
public void DefaultConstructor()
|
|
{
|
|
MultipartMemoryStreamProvider instance = MultipartMemoryStreamProvider.Instance;
|
|
Assert.NotNull(instance);
|
|
}
|
|
|
|
[Fact]
|
|
[Trait("Description", "GetStream(HttpContentHeaders) throws on null.")]
|
|
public void GetStreamThrowsOnNull()
|
|
{
|
|
MultipartMemoryStreamProvider instance = MultipartMemoryStreamProvider.Instance;
|
|
Assert.ThrowsArgumentNull(() => { instance.GetStream(null); }, "headers");
|
|
}
|
|
|
|
[Fact]
|
|
[Trait("Description", "GetStream(HttpContentHeaders) throws on no Content-Disposition header.")]
|
|
public void GetStreamReturnsMemoryStream()
|
|
{
|
|
MultipartMemoryStreamProvider instance = MultipartMemoryStreamProvider.Instance;
|
|
HttpContent content = new StringContent("text");
|
|
|
|
Stream stream = instance.GetStream(content.Headers);
|
|
Assert.NotNull(stream);
|
|
|
|
MemoryStream memStream = stream as MemoryStream;
|
|
Assert.NotNull(stream);
|
|
|
|
Assert.Equal(0, stream.Length);
|
|
Assert.Equal(0, stream.Position);
|
|
|
|
Assert.NotSame(memStream, instance.GetStream(content.Headers));
|
|
}
|
|
}
|
|
}
|