Beispiel #1
0
        public void ShouldThrowExceptionOnWrongValueType()
        {
            var baseTypeDictionary = new Dictionary <string, int> {
                { "test", 1 }
            };

            SinTDMap SinTDMap = new SinTDMap();

            SinTDMap.keyType     = SinTDInstance.GetSinTDType("string");
            SinTDMap.elementType = SinTDInstance.GetSinTDType("string");

            Assert.Throws <TypeCastException>(
                () => { var mapInstance
                            = SinTDMap.AssignValuesFromObject(baseTypeDictionary) as Dictionary <object, object>; });
        }
Beispiel #2
0
        public void ShouldAssignDictionaryOfBaseTypesToMap()
        {
            var baseTypeDictionary = new Dictionary <string, int> {
                { "test", 1 }
            };

            SinTDMap SinTDMap = new SinTDMap();

            SinTDMap.keyType     = SinTDInstance.GetSinTDType("string");
            SinTDMap.elementType = SinTDInstance.GetSinTDType("i32");

            Dictionary <object, object> mapInstance
                = SinTDMap.AssignValuesFromObject(baseTypeDictionary) as Dictionary <object, object>;

            Assert.AreEqual(1, mapInstance.Values.Count);
            Assert.AreEqual("test", (mapInstance.Keys.ElementAt(0)));
            Assert.AreEqual(1, (mapInstance.Values.ElementAt(0)));
        }
Beispiel #3
0
        public void ShouldAssignArrayTypedValuesToMap()
        {
            var arrayKeyDictionary = new Dictionary <string, int[]> {
                { "test", new int[] { 1 } }
            };

            SinTDArray valueArray = new SinTDArray();

            valueArray.elementType = SinTDInstance.GetSinTDType("i32");
            SinTDMap SinTDMap = new SinTDMap();

            SinTDMap.keyType     = SinTDInstance.GetSinTDType("string");
            SinTDMap.elementType = valueArray;
            Dictionary <object, object> mapInstance
                = SinTDMap.AssignValuesFromObject(arrayKeyDictionary) as Dictionary <object, object>;

            Assert.AreEqual(typeof(object[]), mapInstance.Values.ElementAt(0).GetType());
            Assert.AreEqual(1, ((object[])mapInstance.Values.ElementAt(0)).Length);
            Assert.AreEqual(1, ((object[])mapInstance.Values.ElementAt(0))[0]);
        }
Beispiel #4
0
        public void ShouldAssignedArrayTypedKeysToMap()
        {
            var arrayKeyDictionary = new Dictionary <int[], string> {
                { new int[] { 1 }, "test" }
            };

            SinTDArray keyArray = new SinTDArray();

            keyArray.elementType = SinTDInstance.GetSinTDType("i32");
            SinTDMap SinTDMap = new SinTDMap();

            SinTDMap.keyType     = keyArray;
            SinTDMap.elementType = SinTDInstance.GetSinTDType("string");
            Dictionary <object, object> mapInstance
                = SinTDMap.AssignValuesFromObject(arrayKeyDictionary) as Dictionary <object, object>;

            Assert.AreEqual(typeof(object[]), mapInstance.Keys.ElementAt(0).GetType());
            Assert.AreEqual(1, ((object[])mapInstance.Keys.ElementAt(0)).Length);
            Assert.AreEqual(1, ((object[])mapInstance.Keys.ElementAt(0))[0]);
        }
Beispiel #5
0
        public void ShouldThrowExceptionOnWrongValueType()
        {
            var baseTypeDictionary = new Dictionary<string, int> {
                {"test", 1}
            };

            SinTDMap SinTDMap = new SinTDMap();
            SinTDMap.keyType = SinTDInstance.GetSinTDType("string");
            SinTDMap.elementType = SinTDInstance.GetSinTDType("string");

            Assert.Throws<TypeCastException>(
                () => { var mapInstance
                    = SinTDMap.AssignValuesFromObject(baseTypeDictionary) as Dictionary<object, object>; });
        }
Beispiel #6
0
        public void ShouldAssignedArrayTypedKeysToMap()
        {
            var arrayKeyDictionary = new Dictionary<int[], string>{
                {new int[]{1}, "test"}
            };

            SinTDArray keyArray = new SinTDArray();
            keyArray.elementType = SinTDInstance.GetSinTDType("i32");
            SinTDMap SinTDMap = new SinTDMap();

            SinTDMap.keyType = keyArray;
            SinTDMap.elementType = SinTDInstance.GetSinTDType("string");
            Dictionary<object, object> mapInstance
                = SinTDMap.AssignValuesFromObject(arrayKeyDictionary) as Dictionary<object, object>;

            Assert.AreEqual(typeof(object[]), mapInstance.Keys.ElementAt(0).GetType());
            Assert.AreEqual(1,  ((object[])mapInstance.Keys.ElementAt(0)).Length);
            Assert.AreEqual(1, ((object[])mapInstance.Keys.ElementAt(0))[0]);
        }
Beispiel #7
0
        public void ShouldAssignDictionaryOfBaseTypesToMap()
        {
            var baseTypeDictionary = new Dictionary<string, int> {
                {"test", 1}
            };

            SinTDMap SinTDMap = new SinTDMap();
            SinTDMap.keyType = SinTDInstance.GetSinTDType("string");
            SinTDMap.elementType = SinTDInstance.GetSinTDType("i32");

            Dictionary<object, object> mapInstance
                = SinTDMap.AssignValuesFromObject(baseTypeDictionary) as Dictionary<object, object>;

            Assert.AreEqual(1, mapInstance.Values.Count);
            Assert.AreEqual("test", (mapInstance.Keys.ElementAt(0)));
            Assert.AreEqual(1, (mapInstance.Values.ElementAt(0)));
        }
Beispiel #8
0
        public void ShouldAssignArrayTypedValuesToMap()
        {
            var arrayKeyDictionary = new Dictionary<string, int[]>{
                {"test", new int[]{1} }
            };

            SinTDArray valueArray = new SinTDArray();
            valueArray.elementType = SinTDInstance.GetSinTDType("i32");
            SinTDMap SinTDMap = new SinTDMap();

            SinTDMap.keyType =  SinTDInstance.GetSinTDType("string");
            SinTDMap.elementType = valueArray;
            Dictionary<object, object> mapInstance
                = SinTDMap.AssignValuesFromObject(arrayKeyDictionary) as Dictionary<object, object>;

            Assert.AreEqual(typeof(object[]), mapInstance.Values.ElementAt(0).GetType());
            Assert.AreEqual(1, ((object[])mapInstance.Values.ElementAt(0)).Length);
            Assert.AreEqual(1, ((object[])mapInstance.Values.ElementAt(0))[0]);
        }