public void TestMapTypeFromInternal() { { var integerType = new IntegerType(); var mapType = new MapType(integerType, integerType); Assert.False(mapType.NeedConversion()); Dictionary <int, int> dict = Enumerable.Range(0, 10).ToDictionary(i => i, i => i * i); var expected = new Hashtable(dict); var actual = (Hashtable)mapType.FromInternal(expected); Assert.Same(expected, actual); } { var integerType = new IntegerType(); var dateType = new DateType(); var mapType = new MapType(integerType, dateType); Assert.True(mapType.NeedConversion()); var internalDates = new int[] { 10, 100 }; var expected = new Hashtable( internalDates.ToDictionary(i => i, i => (Date)dateType.FromInternal(i))); var actual = (Hashtable)mapType.FromInternal( new Hashtable(internalDates.ToDictionary(i => i, i => i))); Assert.Equal(expected, actual); } }
public void TestArrayTypeFromInternal() { { var arrayType = new ArrayType(new IntegerType()); Assert.False(arrayType.NeedConversion()); var expected = new ArrayList(Enumerable.Range(0, 10).ToArray()); var actual = (ArrayList)arrayType.FromInternal(expected); Assert.Same(expected, actual); } { var dateType = new DateType(); var arrayType = new ArrayType(dateType); Assert.True(arrayType.NeedConversion()); var internalDates = new int[] { 10, 100 }; Date[] expected = internalDates.Select(i => (Date)dateType.FromInternal(i)).ToArray(); var actual = (ArrayList)arrayType.FromInternal(new ArrayList(internalDates)); Assert.Equal(expected, actual.ToArray()); } }