public void ShouldDeriveUnknownArray() { var actual = ArrayTypeName.From(new TypeName(), 1); var expected = new ArrayTypeName("?[]"); Assert.AreEqual(expected, actual); }
public void ShouldDerivePredefinedFromPredefined() { var actual = ArrayTypeName.From(new PredefinedTypeName("p:int"), 1); var expected = new PredefinedTypeName("p:int[]"); Assert.AreEqual(expected, actual); }
public void ShouldDeriveTypeParameterFromTypeParameter() { var actual = ArrayTypeName.From(new TypeParameterName("T"), 1); var expected = new TypeParameterName("T[]"); Assert.AreEqual(expected, actual); }
public void ShouldDerive1To2DArray(string baseTypeId, string expected1DId, string expected2DId) { var expected1D = TypeUtils.CreateTypeName(expected1DId); var expected2D = TypeUtils.CreateTypeName(expected2DId); var actual1To2D = ArrayTypeName.From(expected1D, 1); Assert.AreEqual(expected2D, actual1To2D); }
public static IEnumerable <string> TypesSource() { ISet <string> typeIds = new HashSet <string>(); foreach (var baseTypeId in NonArrayTypeSource()) { var baseType = TypeUtils.CreateTypeName(baseTypeId); Asserts.Not(baseType.IsArray); typeIds.Add(baseTypeId); typeIds.Add(ArrayTypeName.From(baseType, 1).Identifier); typeIds.Add(ArrayTypeName.From(baseType, 2).Identifier); } return(typeIds); }
private void GenerateDeriveArrayTest(int counter, string baseTypeId) { Asserts.Not(ArrayTypeName.IsArrayTypeNameIdentifier(baseTypeId)); var type = TypeUtils.CreateTypeName(baseTypeId); var arr1 = ArrayTypeName.From(type, 1); var arr2 = ArrayTypeName.From(type, 2); _sb.OpenTest("DeriveArrayTest_{0}".FormatEx(counter)); _sb.AppendLine("String baseId = \"{0}\";".FormatEx(baseTypeId)); _sb.AppendLine("String arr1Id = \"{0}\";".FormatEx(arr1.Identifier)); _sb.AppendLine("String arr2Id = \"{0}\";".FormatEx(arr2.Identifier)); _sb.AppendLine("ITypeName base = TypeUtils.createTypeName(baseId);"); _sb.AppendLine("ITypeName arr1 = ArrayTypeName.from(base, 1);"); _sb.AppendLine("assertTrue(arr1 instanceof {0});".FormatEx(arr1.GetType().Name)); _sb.AppendLine("assertEquals(arr1Id, arr1.getIdentifier());"); _sb.AppendLine("ITypeName arr2 = ArrayTypeName.from(base, 2);"); _sb.AppendLine("assertTrue(arr2 instanceof {0});".FormatEx(arr2.GetType().Name)); _sb.AppendLine("assertEquals(arr2Id, arr2.getIdentifier());"); _sb.CloseTest(); }
public static IArrayTypeName ArrayType(int rank, ITypeName baseType) { return(ArrayTypeName.From(baseType, rank)); }