Example #1
0
        public void CanCreateClosedParameterTypeFromOpenOne()
        {
            MethodBase m = typeof(LoggingCommand <>).GetTypeInfo().DeclaredConstructors.ElementAt(0);
            ParameterReflectionHelper helper = new ParameterReflectionHelper(
                m.GetParameters()[0]);
            Type closedType = helper.GetClosedParameterType(typeof(LoggingCommand <User>).GenericTypeArguments);

            Assert.IsType <ICommand <User> >(closedType);
        }
Example #2
0
        public void CanCreateClosedParameterTypeFromOpenOne()
        {
            MethodBase m = typeof(LoggingCommand <>).GetConstructors()[0];
            ParameterReflectionHelper helper = new ParameterReflectionHelper(
                m.GetParameters()[0]);
            Type closedType = helper.GetClosedParameterType(typeof(LoggingCommand <User>).GetGenericArguments());

            Assert.AreSame(typeof(ICommand <User>), closedType);
        }
Example #3
0
        public void ParameterReflectionHelperDetectsOpenGenericParameters()
        {
            MethodBase executeMethod = typeof(LoggingCommand <>).GetTypeInfo().DeclaredConstructors.ElementAt(0);

            ParameterInfo[] methodParams = executeMethod.GetParameters();

            ParameterReflectionHelper helper = new ParameterReflectionHelper(methodParams[0]);

            Assert.True(helper.IsOpenGeneric);
        }
Example #4
0
        public void ParameterReflectionHelperDetectsOpenGenericParameters()
        {
            MethodBase executeMethod = typeof(LoggingCommand <>).GetConstructors()[0];

            ParameterInfo[] methodParams = executeMethod.GetParameters();

            ParameterReflectionHelper helper = new ParameterReflectionHelper(methodParams[0]);

            Assert.IsTrue(helper.IsOpenGeneric);
        }
Example #5
0
        public void ClosingParameterTypesReturnsOriginalTypeWhenItIsClosed()
        {
            MethodBase m = typeof(User).GetTypeInfo().GetDeclaredMethod("DoSomething");

            ParameterInfo[] methodParams = m.GetParameters();

            Assert.Equal(1, methodParams.Length);

            ParameterReflectionHelper helper = new ParameterReflectionHelper(methodParams[0]);

            Assert.IsType <string>(helper.GetClosedParameterType(new Type[0]));
        }