private static IEnumerable <ITypeDescription> CircularType() { var type = SimpleClassDescription.Create(TestMetaData.SingleFieldType(), TestMetaData.CreateField); return(new ITypeDescription[] { type }); }
public static IEnumerable <ITypeDescription> CreateClassWithArrayField() { var type = SimpleClassDescription.Create(SingleFieldType(), f => CreateArrayField(StringType)); return(new[] { type, StringType }); }
internal static IEnumerable <ITypeDescription> CreateSingleAutoPropertyClass() { var type = SimpleClassDescription.Create(SingleFieldType(), f => CreateField(AutoPropertyName.Name(), StringType)); return(new[] { type, StringType }); }
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)); }
internal static IEnumerable <ITypeDescription> CreateSingleFieldClass(ITypeDescription fieldType) { var type = SimpleClassDescription.Create(SingleFieldType(), f => CreateField(fieldType)); return(new[] { type, StringType }); }
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 }); }
private IEnumerable <ITypeDescription> CreateSingleIntFieldClass() { var stringType = KnownType.Create(typeof(int)); var type = SimpleClassDescription.Create(TestMetaData.SingleFieldType(), f => TestMetaData.CreateField(stringType)); return(new[] { type, stringType }); }
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); }
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 }); }
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); }
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("[]")); }
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 })); }
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 }); }
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 }); }
private static SimpleClassDescription CreateEmptySimpleClass(string nameSpaceAndName, string assemblyName = AssemblyName) { return(SimpleClassDescription.Create(TypeName.Create(nameSpaceAndName, assemblyName), (f) => new SimpleFieldDescription[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])); }
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])); }