public void NotSupportedCases(Type nativeType)
        {
            // arrange
            NamedTypeInfoFactory factory = new NamedTypeInfoFactory();

            // act
            bool success = factory.TryCreate(nativeType, out TypeInfo typeInfo);

            // assert
            Assert.False(success);
        }
        public void Case1()
        {
            // arrange
            NamedTypeInfoFactory factory = new NamedTypeInfoFactory();
            Type nativeType = typeof(StringType);

            // act
            bool  success = factory.TryCreate(nativeType, out TypeInfo typeInfo);
            IType type    = typeInfo.TypeFactory(new StringType());

            // assert
            Assert.True(success);
            Assert.IsType <StringType>(type);
        }
        public void Case2_2()
        {
            // arrange
            NamedTypeInfoFactory factory = new NamedTypeInfoFactory();
            Type nativeType = typeof(ListType <StringType>);

            // act
            bool  success = factory.TryCreate(nativeType, out TypeInfo typeInfo);
            IType type    = typeInfo.TypeFactory(new StringType());

            // assert
            Assert.True(success);
            Assert.IsType <ListType>(type);
            type = ((ListType)type).ElementType as IOutputType;
            Assert.IsType <StringType>(type);
        }