public void IfArith() { TestFunction("#if: 1==2|Yes|No", "Yes"); ParserFunctionProcessor proc = new ParserFunctionProcessor(); List<KeyValuePair<string, string>> args = new List<KeyValuePair<string, string>>(4) { new KeyValuePair<string, string>("1", "1==2"), new KeyValuePair<string, string>("2", "Yes"), new KeyValuePair<string, string>("3", "No") }; string output; Assert.AreEqual(VariableProcessor.Result.Found, proc.Execute("#if:", args, out output)); Assert.AreEqual("Yes", output); }
private static string ProcessMagicWord(string wikicode) { int endIndex; int startIndex = MagicParser.FindMagicBlock(wikicode, out endIndex); if (startIndex < 0) { return wikicode; } wikicode = wikicode.Substring(startIndex + 2, endIndex - startIndex - 4 + 1); List<KeyValuePair<string, string>> args; string command = MagicParser.GetMagicWordAndParams(wikicode, out args); ParserFunctionProcessor proc = new ParserFunctionProcessor(ProcessMagicWord); string output; proc.Execute(command, args, out output); return output; }
private static void TestFunction(string input, string expected) { List<KeyValuePair<string, string>> args; string command = MagicParser.GetMagicWordAndParams(input, out args); ParserFunctionProcessor proc = new ParserFunctionProcessor(ProcessMagicWord); string output; Assert.AreEqual(VariableProcessor.Result.Found, proc.Execute(command, args, out output)); Assert.AreEqual(expected, output); }
public void IfMissingNo() { TestFunction("#if: |Yes", string.Empty); ParserFunctionProcessor proc = new ParserFunctionProcessor(); List<KeyValuePair<string, string>> args = new List<KeyValuePair<string, string>>(4) { new KeyValuePair<string, string>("1", string.Empty), new KeyValuePair<string, string>("2", "Yes"), }; string output; Assert.AreEqual(VariableProcessor.Result.Found, proc.Execute("#if:", args, out output)); Assert.AreEqual(string.Empty, output); }