public void ConstructorByDelegateWithType_WithCustomDelegate_NoParams()
        {
            var cd = DelegateFactory.Contructor <CustomCtr>();

            Assert.IsNotNull(cd);
            Assert.IsNotNull(cd());
            Assert.IsInstanceOfType(cd(), TestClassType);
        }
        public void ConstructorByDelegateWithType_NoParams()
        {
            var c = DelegateFactory.Contructor <Func <TestClass> >();

            Assert.IsNotNull(c);
            Assert.IsNotNull(c());
            Assert.IsInstanceOfType(c(), TestClassType);
        }
        public void ConstructorByDelegateWithType_IntParam_FromStruct()
        {
            var c = DelegateFactory.Contructor <Func <int, TestStruct> >();

            Assert.IsNotNull(c);
            var instance = c(0);

            Assert.IsInstanceOfType(instance, TestStructType);
        }
        public void ConstructorByDelegateWithType_BoolParam()
        {
            var c = DelegateFactory.Contructor <Func <bool, TestClass> >();

            Assert.IsNotNull(c);
            var instance = c(false);

            Assert.IsNotNull(instance);
            Assert.IsInstanceOfType(instance, TestClassType);
        }
        public void ConstructorByDelegateWithType_StringParam()
        {
            var c = DelegateFactory.Contructor <Func <string, TestClass> >();

            Assert.IsNotNull(c);
            var instance = c("s");

            Assert.IsNotNull(instance);
            Assert.IsInstanceOfType(instance, TestClassType);
        }
        public void ConstructorByDelegateWithType_WithCustomDelegate_SingleParam()
        {
            var cd = DelegateFactory.Contructor <CustomCtrSingleParam>();

            Assert.IsNotNull(cd);
            var instance = cd(0);

            Assert.IsNotNull(instance);
            Assert.IsInstanceOfType(instance, TestClassType);
        }
        public void ConstructorByDelegateWithType_NoCtor_NoParams()
        {
            var c = DelegateFactory.Contructor <Func <TestClassNoDefaultCtor> >();

            Assert.IsNull(c);
        }
        public void ConstructorByDelegateWithType_NoCtor_BoolParam_FromStruct()
        {
            var c = DelegateFactory.Contructor <Func <bool, TestStruct> >();

            Assert.IsNull(c);
        }
        public void ConstructorByDelegateWithType_NoCtor_BoolIntParam()
        {
            var c = DelegateFactory.Contructor <Func <bool, int, TestClassNoDefaultCtor> >();

            Assert.IsNull(c);
        }