Ejemplo n.º 1
0
        private static IEnumerable <ITypeDescription> CircularType()
        {
            var type = SimpleClassDescription.Create(TestMetaData.SingleFieldType(),
                                                     TestMetaData.CreateField);

            return(new ITypeDescription[] { type });
        }
Ejemplo n.º 2
0
        public static IEnumerable <ITypeDescription> CreateClassWithArrayField()
        {
            var type = SimpleClassDescription.Create(SingleFieldType(),
                                                     f => CreateArrayField(StringType));

            return(new[] { type, StringType });
        }
Ejemplo n.º 3
0
        internal static IEnumerable <ITypeDescription> CreateSingleAutoPropertyClass()
        {
            var type = SimpleClassDescription.Create(SingleFieldType(),
                                                     f => CreateField(AutoPropertyName.Name(), StringType));

            return(new[] { type, StringType });
        }
Ejemplo n.º 4
0
        private ITypeDescription CreateArrayType()
        {
            TypeName theName   = TypeName.Create("System.Int32", "mscorelib", new TypeName[0], 0);
            var      innerType = SimpleClassDescription.Create(theName, f => new SimpleFieldDescription[0]);

            return(ArrayDescription.Create(innerType, 1));
        }
Ejemplo n.º 5
0
        internal static IEnumerable <ITypeDescription> CreateSingleFieldClass(ITypeDescription fieldType)
        {
            var type = SimpleClassDescription.Create(SingleFieldType(),
                                                     f => CreateField(fieldType));

            return(new[] { type, StringType });
        }
Ejemplo n.º 6
0
        public static IEnumerable <ITypeDescription> CreateClassListGenericOf(ITypeDescription typeOfLists)
        {
            var listType = KnownType.Create(typeof(List <>), new[] { typeOfLists });
            var type     = SimpleClassDescription.Create(SingleFieldType(),
                                                         f => CreateField(listType));

            return(new[] { type, listType, typeOfLists });
        }
Ejemplo n.º 7
0
        private IEnumerable <ITypeDescription> CreateSingleIntFieldClass()
        {
            var stringType = KnownType.Create(typeof(int));
            var type       = SimpleClassDescription.Create(TestMetaData.SingleFieldType(),
                                                           f => TestMetaData.CreateField(stringType));

            return(new[] { type, stringType });
        }
Ejemplo n.º 8
0
        public void ArrayType()
        {
            var theName   = TypeName.Create("System.Int32", "mscorelib", new TypeName[0], 0);
            var innerType = SimpleClassDescription.Create(theName, f => new SimpleFieldDescription[0]);
            var arrayType = ArrayDescription.Create(innerType, 1);

            Assert.IsTrue(arrayType.IsArray);
        }
Ejemplo n.º 9
0
        internal static IEnumerable <ITypeDescription> TypeWithGenericList()
        {
            var stringList = KnownType.Create(typeof(List <string>));
            var type       = SimpleClassDescription.Create(TestMetaData.SingleFieldType(),
                                                           f => TestMetaData.CreateField(stringList));

            return(new[] { type, stringList });
        }
Ejemplo n.º 10
0
        public void ArrayCanCreateItself()
        {
            TypeName theName   = TypeName.Create("System.Int32", "mscorelib", new TypeName[0], 0);
            var      innerType = SimpleClassDescription.Create(theName, f => new SimpleFieldDescription[0]);
            var      arrayType = ArrayDescription.Create(innerType, 1);
            var      intArray  = arrayType.TryResolveType(t => typeof(int));

            Assert.AreEqual(typeof(int[]), intArray.Value);
        }
Ejemplo n.º 11
0
        public void ArraysAreLowerBoundZero()
        {
            var arrayType = TestMetaData.CreateEmptyClassMetaInfo().Single();
            var metaInfo  = SimpleClassDescription.Create(TestMetaData.SingleFieldType(),
                                                          f => TestMetaData.CreateArrayField(arrayType));
            var type      = ExtractSingleFieldType(new[] { metaInfo });
            var fieldType = type.GetField("data").FieldType;

            Assert.IsTrue(fieldType.AssemblyQualifiedName.Contains("[]"));
        }
Ejemplo n.º 12
0
        private IEnumerable <ITypeDescription> SubClassType()
        {
            var baseClasses = TestMetaData.CreateSingleFieldClass();
            var intType     = KnownType.Create(typeof(int));
            var baseClass   = baseClasses.Single(b => !b.TryResolveType(TestUtils.FindNothingTypeResolver).HasValue);
            var subType     = SimpleClassDescription.Create(
                TypeName.Create("ANamespace.SubClass", TestMetaData.AssemblyName), Maybe.From(baseClass),
                f => TestMetaData.CreateField("subField", intType));

            return(baseClasses.Concat(new[] { intType, subType }));
        }
Ejemplo n.º 13
0
        internal static IEnumerable <ITypeDescription> GenericType()
        {
            var stringList       = KnownType.Create(typeof(List <string>));
            var stringType       = typeof(string);
            var genericArguments = GenericArg(stringType);
            var type             = SimpleClassDescription.Create(TypeName.Create(TestMetaData.SingleFieldTypeName + "`1",
                                                                                 TestMetaData.AssemblyName, genericArguments),
                                                                 f => TestMetaData.CreateField(stringList));

            return(new[] { type, stringList });
        }
Ejemplo n.º 14
0
        private static IEnumerable <ITypeDescription> TwoGenericInstances()
        {
            var stringList        = KnownType.Create(typeof(List <string>));
            var stringType        = typeof(string);
            var stringGenericArgs = GenericArg(stringType);
            var stringInstance    = SimpleClassDescription.Create(TypeName.Create(TestMetaData.SingleFieldTypeName, TestMetaData.AssemblyName, stringGenericArgs),
                                                                  f => TestMetaData.CreateField(stringList));

            var intList        = KnownType.Create(typeof(List <int>));
            var intType        = typeof(int);
            var intGenericArgs = GenericArg(intType);
            var intInstance    = SimpleClassDescription.Create(TypeName.Create(TestMetaData.SingleFieldTypeName, TestMetaData.AssemblyName, intGenericArgs),
                                                               f => TestMetaData.CreateField(intList));

            return(new[] { stringInstance, intInstance, stringList, intList });
        }
Ejemplo n.º 15
0
 private static SimpleClassDescription CreateEmptySimpleClass(string nameSpaceAndName, string assemblyName = AssemblyName)
 {
     return(SimpleClassDescription.Create(TypeName.Create(nameSpaceAndName, assemblyName),
                                          (f) => new SimpleFieldDescription[0]));
 }
Ejemplo n.º 16
0
        public void ThrowIfArrayType()
        {
            TypeName theName = TypeName.Create("System.Int32", "mscorelib", new TypeName[0], 1);

            Assert.Throws <ArgumentException>(() => SimpleClassDescription.Create(theName, f => new SimpleFieldDescription[0]));
        }
Ejemplo n.º 17
0
        internal static SimpleClassDescription CreateGenericType(params TypeName[] genericArg)
        {
            TypeName theName = TypeName.Create("ANamespace.TheType`" + genericArg.Count(), "TheAssembly", genericArg);

            return(SimpleClassDescription.Create(theName, f => new SimpleFieldDescription[0]));
        }