public void Complex() { var dic = new DicS <int>(1000); dic.Clear(); Assert.AreEqual(0, dic.Count); dic.Add("First", 1); dic.Add("Second", 2); Assert.AreEqual(2, dic.Count); Assert.AreEqual(1, dic["first"]); Assert.AreEqual(1, dic.Get("FIRST")); Assert.AreEqual(2, dic["Second"]); var dicAdd = new DicS <int>(); dicAdd.Add("second", 22); dicAdd.Add("third", 33); dic.AddDic(dicAdd); Assert.AreEqual(3, dic.Count); Assert.IsTrue(dic.ContainsKey("THIRD")); Assert.IsTrue(dic.ContainsKey("Second")); Assert.AreEqual(56, dic.Values.Sum()); dic.AddDic(dicAdd); Assert.AreEqual(3, dic.Count); Assert.AreEqual(1, dic["first"]); Assert.AreEqual(22, dic["second"]); Assert.AreEqual(33, dic["third"]); dic.Remove((k, v) => v == 33 || k.ToLower() == "second"); Assert.AreEqual(1, dic.Count); Assert.IsTrue(dic.ContainsKey("First")); Assert.IsFalse(dic.ContainsKey("Second")); }
public void Simple() { var dic = new DicS <string>(); Assert.AreEqual(0, dic.Count); dic.Add("a", "sa"); dic.Add("B", "sB"); Assert.IsTrue(dic.ContainsKey("a")); Assert.IsTrue(dic.ContainsKey("b")); Assert.AreEqual("sa", dic["a"]); Assert.AreEqual("sB", dic["B"]); Assert.AreEqual("sa", dic.Get("A")); Assert.AreEqual("sB", dic.Get("b", "h")); Assert.IsNull(dic["c"]); Assert.AreEqual("h", dic.Get("c", "h")); Assert.AreEqual(2, dic.Count); dic.Add("b", "gghsdauh"); Assert.AreEqual(2, dic.Count); Assert.AreEqual("sB", dic["B"]); dic["b"] = "gg"; Assert.AreEqual(2, dic.Count); Assert.AreEqual("gg", dic["B"]); dic.Add("c", "SC"); Assert.IsTrue(dic.ContainsKey("C")); Assert.AreEqual(3, dic.Count); dic.Add("b", "ssb", true); Assert.IsTrue(dic.ContainsKey("b")); Assert.IsTrue(dic.ContainsKey("c")); Assert.AreEqual("ssb", dic["b"]); Assert.IsTrue(dic.Keys.Contains("B")); Assert.IsTrue(dic.Values.Contains("ssb")); dic.Remove("C"); Assert.AreEqual(2, dic.Count); Assert.IsFalse(dic.ContainsKey("c")); Assert.IsNull(dic["c"]); Assert.AreEqual("def", dic.Get("C", "def")); Assert.IsFalse(dic.Remove("C")); Assert.IsFalse(dic.ContainsKey("c")); Assert.AreEqual("def", dic.Get("C", "def")); Assert.IsFalse(dic.ContainsKey(null)); dic.Clear(); Assert.AreEqual(0, dic.Count); Assert.IsNull(dic["a"]); Assert.IsFalse(dic.ContainsKey("c")); Assert.IsFalse(dic.ContainsKey("a")); }
//Загрузка дополнительных настроек провайдера из Inf protected override void GetAdditionalInf(DicS <string> inf) { ServerGroup = inf.Get("ServerGroup", ""); }
//Загружает список провайдеров в соответствии со списком проектов, ControllerData и уже загруженным списком провайдеров private void UpdateProvidersList() { if (!_setupIsLoaded) { return; } foreach (DataGridViewRow row in Providers.Rows) { string name = row.Get("ProviderName"); _codes.Add(name, row.Get("ProviderCode"), true); _infs.Add(name, row.Get("ProviderInf"), true); } Providers.Rows.Clear(); ProjectCode2.Visible = AllowProjectsRepetitions.Checked; if (AllowProjectsRepetitions.Checked) { UseOneArchive.Checked = false; UseOneArchive.Visible = false; } else { UseOneArchive.Visible = true; } AddProviderToGrid("Архив", "Report_Archive", "Архив журнала отчетов", _codes.Get("Report_Archive", "AccessArchive"), _infs["Report_Archive"]); bool hasSingle = false; foreach (DataGridViewRow row in Projects.Rows) { hasSingle |= !row.IsNewRow && row.Get("ProjectCalcMode").ToCalcModeType() == CalcModeType.Internal; } labelThreadId.Visible = hasSingle; ThreadId.Visible = hasSingle; IsImit.Visible = hasSingle; ImitMode.Visible = hasSingle; ImitMode.Enabled = IsImit.Checked; var set = new HashSet <string>(); foreach (DataGridViewRow row in Projects.Rows) { if (!row.IsNewRow) { string proj = row.Get("Project"); if (AllowProjectsRepetitions.Checked && !row.Get("ProjectCode2").IsEmpty()) { proj = row.Get("ProjectCode2"); } string name = proj + "_Archive"; if (row.Get("ProjectCalcMode").ToCalcModeType() != CalcModeType.Internal) { if (!UseOneArchive.Checked) { AddProviderToGrid("Архив", name, "Архив проекта " + proj, _codes.Get(name, "AccessArchive"), _infs[name]); } } else { try { var projFile = row.Get("ProjectFile"); if (new FileInfo(projFile).Exists) { using (var rec = new ReaderAdo(projFile, "SELECT * FROM Providers")) while (rec.Read()) { string type = rec.GetString("ProviderType"); var sname = type == "Архив" ? "CalcArchive" : rec.GetString("ProviderName"); if (!set.Contains(sname) && (type == "Источник" || type == "Приемник" || (type == "Архив" && !UseOneArchive.Checked) || (type == "Имитатор" && IsImit.Checked))) { if (_codes.ContainsKey(sname)) { AddProviderToGrid(type, sname, type + " потока отчета", _codes[sname], _infs[sname]); } else { AddProviderToGrid(type, sname, type + " потока отчета", rec.GetString("ProviderCode"), ""); } set.Add(sname); } } } } catch { } } } } }
//Чтение настроек protected override void ReadInf(DicS <string> dic) { DbFile = dic.Get("DbFile"); }