예제 #1
0
        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);
            }
        }
예제 #2
0
        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());
            }
        }