Appccelerate.EnsureTest.ArgumentTypeAssignableFrom_WhenArgumentNameIsNullOrEmpty_MustNotThrow C# (CSharp) Method

ArgumentTypeAssignableFrom_WhenArgumentNameIsNullOrEmpty_MustNotThrow() private method

        public void ArgumentTypeAssignableFrom_WhenArgumentNameIsNullOrEmpty_MustNotThrow()
        {
            Assert.DoesNotThrow(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInterface), typeof(ImplementedClass), null));
            Assert.DoesNotThrow(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInterface), typeof(IInheritedInterface), null));
            Assert.DoesNotThrow(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInterface), typeof(InheritedClass), null));
            Assert.DoesNotThrow(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInterface), typeof(ImplementedInheritedClass), null));
            Assert.DoesNotThrow(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInheritedInterface), typeof(ImplementedInheritedClass), null));
            Assert.DoesNotThrow(() => Ensure.ArgumentTypeAssignableFrom(typeof(ImplementedClass), typeof(InheritedClass), null));

            Assert.DoesNotThrow(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInterface), typeof(ImplementedClass), string.Empty));
            Assert.DoesNotThrow(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInterface), typeof(IInheritedInterface), string.Empty));
            Assert.DoesNotThrow(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInterface), typeof(InheritedClass), string.Empty));
            Assert.DoesNotThrow(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInterface), typeof(ImplementedInheritedClass), string.Empty));
            Assert.DoesNotThrow(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInheritedInterface), typeof(ImplementedInheritedClass), string.Empty));
            Assert.DoesNotThrow(() => Ensure.ArgumentTypeAssignableFrom(typeof(ImplementedClass), typeof(InheritedClass), string.Empty));

            var ex1 = Assert.Throws<ArgumentException>(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInterface), typeof(NotImplementedClass), null));
            ex1.ParamName.Should().BeNull();

            var ex2 = Assert.Throws<ArgumentException>(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInterface), typeof(IOtherInterface), null));
            ex2.ParamName.Should().BeNull();

            var ex3 = Assert.Throws<ArgumentException>(() => Ensure.ArgumentTypeAssignableFrom(typeof(ImplementedClass), typeof(IInterface), null));
            ex3.ParamName.Should().BeNull();

            var ex4 = Assert.Throws<ArgumentException>(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInheritedInterface), typeof(IInterface), null));
            ex4.ParamName.Should().BeNull();

            var ex5 = Assert.Throws<ArgumentException>(() => Ensure.ArgumentTypeAssignableFrom(typeof(ImplementedClass), typeof(ImplementedInheritedClass), null));
            ex5.ParamName.Should().BeNull();

            var ex6 = Assert.Throws<ArgumentException>(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInterface), typeof(NotImplementedClass), string.Empty));
            ex6.ParamName.Should().Be(string.Empty);

            var ex7 = Assert.Throws<ArgumentException>(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInterface), typeof(IOtherInterface), string.Empty));
            ex7.ParamName.Should().Be(string.Empty);

            var ex8 = Assert.Throws<ArgumentException>(() => Ensure.ArgumentTypeAssignableFrom(typeof(ImplementedClass), typeof(IInterface), string.Empty));
            ex8.ParamName.Should().Be(string.Empty);

            var ex9 = Assert.Throws<ArgumentException>(() => Ensure.ArgumentTypeAssignableFrom(typeof(IInheritedInterface), typeof(IInterface), string.Empty));
            ex9.ParamName.Should().Be(string.Empty);

            var ex0 = Assert.Throws<ArgumentException>(() => Ensure.ArgumentTypeAssignableFrom(typeof(ImplementedClass), typeof(ImplementedInheritedClass), string.Empty));
            ex0.ParamName.Should().Be(string.Empty);
        }
EnsureTest