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(); }
/// <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(); }
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]); }
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()); }
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]); }
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)); }
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]); }
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)); }
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]); }
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; }
/// <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; }