// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information. using System.Net.Http.Headers; using Moq; using Xunit; using Assert = Microsoft.TestCommon.AssertEx; namespace System.Net.Http.Formatting { public class ContentNegotiationResultTest { private readonly MediaTypeFormatter _formatter = new Mock().Object; private readonly MediaTypeHeaderValue _mediaType = new MediaTypeHeaderValue("app/json"); [Fact] public void Constructor_WhenFormatterParameterIsNull_Throws() { Assert.ThrowsArgumentNull(() => new ContentNegotiationResult(formatter: null, mediaType: null), "formatter"); } [Fact] public void MediaTypeProperty() { Assert.Reflection.Property(new ContentNegotiationResult(_formatter, _mediaType), nr => nr.MediaType, _mediaType, allowNull: true, roundTripTestValue: new MediaTypeHeaderValue("foo/bar")); } [Fact] public void FormatterProperty() { Assert.Reflection.Property(new ContentNegotiationResult(_formatter, _mediaType), nr => nr.Formatter, _formatter, allowNull: false, roundTripTestValue: new JsonMediaTypeFormatter()); } } }