示例#1
0
 public BaseDictionary(IDictionaryClass <TKey, TValue> values, string name = "")
 {
     this.Name = name;
     data      = new Dictionary <TKey, TValue>();
     foreach (var item in values.Keys)
     {
         this.Add(item, values[item]);
     }
     Init();
 }
示例#2
0
 /// <summary>
 /// 采用字典数据直接初始化
 /// </summary>
 /// <param name="dic"></param>
 /// <param name="name"></param>
 public BaseDictionary(IDictionaryClass <TKey, TValue> dic, string name = "")
 {
     this.Name = name;
     data      = new Dictionary <TKey, TValue>();
     foreach (var item in dic.Keys)
     {
         this.Add(item, dic.Get(item));
     }
     Init();
 }
示例#3
0
        public void MappingIDictionaryToConcurrentDictionaryWorks()
        {
            var mapper = new MemberMapper();
            var source = new IDictionaryClass {
                Foo = new Dictionary <int, string>()
                {
                    { 1, "test" }
                }
            };
            var result = mapper.Map(source, new ConcurrentDictionaryClass());

            Assert.AreEqual("test", result.Foo[1]);
        }
示例#4
0
        public void DontPreserveContents_MappingIDictionaryToICollectionWorks()
        {
            var mapper = new MemberMapper();

            mapper.Options.Conventions.PreserveDestinationListContents = false;

            var source = new IDictionaryClass {
                Foo = new Dictionary <int, string>()
                {
                    { 1, "test" }
                }
            };
            var result = mapper.Map(source, new ICollectionClass());

            Assert.AreEqual("test", result.Foo.First());
        }
示例#5
0
        public void MappingIDictionaryToArrayWorks()
        {
            var mapper = new MemberMapper();
            var source = new IDictionaryClass {
                Foo = new Dictionary <int, string>()
                {
                    { 1, "test" }
                }
            };
            var result = mapper.Map(source, new ArrayClass()
            {
                Foo = new [] { "test1" }
            });

            Assert.AreEqual("test", result.Foo[0]);
        }
示例#6
0
        public void MappingIDictionaryToICollectionWorks()
        {
            var mapper = new MemberMapper();
            var source = new IDictionaryClass {
                Foo = new Dictionary <int, string>()
                {
                    { 1, "test" }
                }
            };
            var result = mapper.Map(source, new ICollectionClass()
            {
                Foo = new List <string> {
                    "test1"
                }
            });

            Assert.AreEqual("test1", result.Foo.ElementAt(0));
            Assert.AreEqual("test", result.Foo.ElementAt(1));
        }
示例#7
0
        public void MappingIDictionaryToListWorks()
        {
            var mapper = new MemberMapper();
              var source = new IDictionaryClass { Foo = new Dictionary<int, string>() { { 1, "test" } } };
              var result = mapper.Map(source, new ListClass() { Foo = new List<string> { "test1" } });

              Assert.AreEqual("test1", result.Foo[0]);
              Assert.AreEqual("test", result.Foo[1]);
        }
示例#8
0
        public void MappingIDictionaryToICollectionWorks()
        {
            var mapper = new MemberMapper();
              var source = new IDictionaryClass { Foo = new Dictionary<int, string>() { { 1, "test" } } };
              var result = mapper.Map(source, new ICollectionClass() { Foo = new List<string> { "test1" } });

              Assert.AreEqual("test1", result.Foo.ElementAt(0));
              Assert.AreEqual("test", result.Foo.ElementAt(1));
        }
示例#9
0
        public void MappingIDictionaryToConcurrentDictionaryWorks()
        {
            var mapper = new MemberMapper();
              var source = new IDictionaryClass { Foo = new Dictionary<int, string>() { { 1, "test" } } };
              var result = mapper.Map(source, new ConcurrentDictionaryClass());

              Assert.AreEqual("test", result.Foo[1]);
        }
示例#10
0
        public void DontPreserveContents_MappingIDictionaryToListWorks()
        {
            var mapper = new MemberMapper();

              mapper.Options.Conventions.PreserveDestinationListContents = false;

              var source = new IDictionaryClass { Foo = new Dictionary<int, string>() { { 1, "test" } } };
              var result = mapper.Map(source, new ListClass() { Foo = new List<string> { "test1" } });

              Assert.AreEqual("test", result.Foo[0]);
        }
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="dic"></param>
 public TimeNumeralWindowData(IDictionaryClass <Time, double> dic)
     : base(dic)
 {
     KeyToDouble = k => k.SecondsOfWeek;
 }
示例#12
0
 /// <summary>
 /// 采用字典维护的窗口数据
 /// </summary>
 /// <param name="values"></param>
 /// <param name="maxKeyGap">Key 允许的最大断裂,否则清空,重新开始</param>
 public WindowData(IDictionaryClass <TKey, TValue> values, double maxKeyGap = double.MaxValue)
     : base(values)
 {
     this.WindowSize = values.Count();
     this.MaxKeyGap  = maxKeyGap;
 }
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="dic"></param>
 public NumeralWindowData(IDictionaryClass <TKey, double> dic)
     : base(dic)
 {
     ValueToDouble = m => m;
 }