Appccelerate.EnsureTest.ArgumentAssignableFrom_WhenArgumentNameIsNullOrEmpty_MustNotThrow C# (CSharp) Method

ArgumentAssignableFrom_WhenArgumentNameIsNullOrEmpty_MustNotThrow() private method

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

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

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

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

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

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