public void TestGetPointResult() { SimpleMode simple = new SimpleMode("4*8/2"); double result = simple.GetPointResult("4*8/2"); double expected = 16; Assert.Equal(expected, result); }
public void TestGetResult() { SimpleMode simple = new SimpleMode("2+2*3"); double result = simple.GetResult(simple.SymbolsArray, simple.PriorityOperArray); double expected = 8; Assert.Equal(expected, result); }
public void TestMainSeparator() { SimpleMode simple = new SimpleMode("2+2*3"); double[] result = simple.MainSeparator("2+2*3"); double[] expected = new double[] { 2, 6 }; Assert.Equal(expected, result); }
public override void Update() { SettingNode root = new SettingNode(Xml_SettingRootName); root.SetAttribute(Xml_ActiveUserNodeName, ActiveUser); root.SetAttribute(Xml_ExportFolder, exportworkFolder); root.SetAttribute(Xml_SimpleMode, SimpleMode.ToString()); SettingNode window = new SettingNode(Xml_WindowSettingRoot); window.SetAttribute(Xml_WindowLocX, WindowLeft.ToString()); window.SetAttribute(Xml_WindowLocY, WindowTop.ToString()); window.SetAttribute(Xml_WindowWidth, WindowWidth.ToString()); window.SetAttribute(Xml_WindowHeight, WindowHeight.ToString()); window.SetAttribute(Xml_APPName, AppName); root.AppendChild(window); SaveSettingXML(SettingFile, root); }
/// <summary> /// Changes the content based on buffer /// </summary> /// <param name="data"></param> /// <param name="network"></param> public void RewriteBuffer(string data, Network network) { lock (Mode) { buffer = data; Mode.Clear(); List<string> line = new List<string>(); line.AddRange(data.Split('\n')); rMode.Clear(); channelModes = ""; string positive = "+"; string negative = "-"; foreach (string xx in line) { bool rm = false; int CurrentParam = 1; List<string> parts = new List<string>(); parts.AddRange(xx.Split(' ')); if (parts.Count > 0) { if (parts[0].Contains("-") || parts[0].Contains("+")) { foreach (char CurrentMode in parts[0]) { switch (CurrentMode) { case '+': rm = false; continue; case '-': rm = true; continue; } // user mode, has a parameter if (network.CUModes.Contains(CurrentMode) || network.PModes.Contains(CurrentMode)) { if (parts.Count < CurrentParam + 1) { Core.DebugLog("Mode: " + xx + " is invalid and can't be parsed"); return; } SimpleMode mode = new SimpleMode(CurrentMode, parts[CurrentParam]); if (rm) { rMode.Add(mode); } else { Mode.Add(mode); } CurrentParam++; continue; } // channel special mode with parameter if (network.SModes.Contains(CurrentMode) || network.XModes.Contains(CurrentMode)) { if (parts.Count < CurrentParam + 1) { Core.DebugLog("Mode: " + xx + " is invalid and can't be parsed"); return; } SimpleMode mode = new SimpleMode(CurrentMode, parts[CurrentParam]); if (rm) { rMode.Add(mode); positive = positive.Replace(CurrentMode.ToString(), ""); negative += CurrentMode.ToString(); } else { Mode.Add(mode); negative = negative.Replace(CurrentMode.ToString(), ""); positive += CurrentMode.ToString(); } CurrentParam++; continue; } // channel mode if (network.CModes.Contains(CurrentMode)) { SimpleMode mode = new SimpleMode(CurrentMode, null); if (rm) { rMode.Add(mode); positive = positive.Replace(CurrentMode.ToString(), ""); negative += CurrentMode.ToString(); } else { Mode.Add(mode); negative = negative.Replace(CurrentMode.ToString(), ""); positive += CurrentMode.ToString(); } continue; } } } } } if (positive.Length > 1) { channelModes += positive; } if (negative.Length > 1) { channelModes += negative; } } }