File: System\Windows\Markup\XamlDeferLoadAttributeTests.cs
Web Access
Project: src\src\Microsoft.DotNet.Wpf\tests\UnitTests\System.Xaml.Tests\System.Xaml.Tests.csproj (System.Xaml.Tests)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
 
using Xunit;
 
#pragma warning disable 0618
 
namespace System.Windows.Markup.Tests
{
    public class XamlDeferLoadAttributeTests
    {
        [Theory]
        [InlineData(typeof(int), typeof(string))]
        public void Ctor_Type_Type(Type loaderType, Type contentType)
        {
            var attribute = new XamlDeferLoadAttribute(loaderType, contentType);
            Assert.Equal(loaderType, attribute.LoaderType);
            Assert.Equal(loaderType.AssemblyQualifiedName, attribute.LoaderTypeName);
            Assert.Equal(contentType, attribute.ContentType);
            Assert.Equal(contentType.AssemblyQualifiedName, attribute.ContentTypeName);
        }
 
        [Fact]
        public void Ctor_NullLoaderType_ThrowsArgumentNullException()
        {
            Assert.Throws<ArgumentNullException>("loaderType", () => new XamlDeferLoadAttribute(null!, typeof(int)));
        }
 
        [Fact]
        public void Ctor_NullContentType_ThrowsArgumentNullException()
        {
            Assert.Throws<ArgumentNullException>("contentType", () => new XamlDeferLoadAttribute(typeof(int), null!));
        }
 
        [Theory]
        [InlineData("", "")]
        [InlineData("loaderType", "contentType")]
        public void Ctor_String_String(string loaderType, string contentType)
        {
            var attribute = new XamlDeferLoadAttribute(loaderType, contentType);
            Assert.Null(attribute.LoaderType);
            Assert.Equal(loaderType, attribute.LoaderTypeName);
            Assert.Null(attribute.ContentType);
            Assert.Equal(contentType, attribute.ContentTypeName);
        }
 
        [Fact]
        public void Ctor_NullLoaderTypeName_ThrowsArgumentNullException()
        {
            Assert.Throws<ArgumentNullException>("loaderType", () => new XamlDeferLoadAttribute(null!, "contentType"));
        }
 
        [Fact]
        public void Ctor_NullContentTypeName_ThrowsArgumentNullException()
        {
            Assert.Throws<ArgumentNullException>("contentType", () => new XamlDeferLoadAttribute("loaderType", null!));
        }
    }
}
 
#pragma warning restore 0618