public void ConditionalTest1() { { MFsh mfsh = CreateMfsh(); mfsh.GlobalVars.Add("CVar", "abc"); mfsh.Load(TestFile("MFshConditional1.mfsh")); CheckErrors(mfsh); mfsh.Process(); CheckErrors(mfsh); StringBuilder sb = new StringBuilder(); sb.Append("Yes\n"); Assert.True(mfsh.TryGetTextByRelativePath("MFshConditional1.fsh", out String fsh)); Assert.True(fsh == sb.ToString()); } { MFsh mfsh = CreateMfsh(); mfsh.GlobalVars.Add("CVar", "def"); mfsh.Load(TestFile("MFshConditional1.mfsh")); CheckErrors(mfsh); mfsh.Process(); CheckErrors(mfsh); StringBuilder sb = new StringBuilder(); sb.Append("No\n"); Assert.True(mfsh.TryGetTextByRelativePath("MFshConditional1.fsh", out String fsh)); Assert.True(fsh == sb.ToString()); } }
public ApplicableManager(MFsh mfsh) { this.baseNamespace = new Namespace(); this.nameSpaces = new Dictionary <string, Namespace>(); this.nameSpaces.Add("", this.baseNamespace); this.Mfsh = mfsh; }
public void ConditionalTest3() { void Test(String val, String result) { MFsh mfsh = CreateMfsh(); mfsh.GlobalVars.Add("CVar", val); mfsh.Load(TestFile("MFshConditional3.mfsh")); CheckErrors(mfsh); mfsh.Process(); CheckErrors(mfsh); StringBuilder sb = new StringBuilder(); sb.Append($"{result}\n"); Assert.True(mfsh.TryGetTextByRelativePath("MFshConditional3.fsh", out String fsh)); Assert.True(fsh == sb.ToString()); } Test("4", "LT"); Test("9", "LE"); Test("8", "LE"); Test("16", "GT"); Test("12", "GE"); Test("14", "GE"); }
public MFSHVisitor(MFsh mfsh, string sourceName) { this.SourceName = sourceName; this.mfsh = mfsh; ParseBlock f = new ParseBlock("base"); this.PushState(f); }
MFsh CreateMfsh() { MFsh mfsh = new MFsh(); mfsh.DebugFlag = true; mfsh.BaseInputDir = Path.GetFullPath("TestFiles"); mfsh.BaseUrl = "http://www.test.com"; mfsh.BaseOutputDir = @"c:\Temp\MFSHTests"; return(mfsh); }
public ErrorListener(MFsh mFsh, String parserName, String sourceName, String[] inputLines) { this.parserName = parserName; this.sourceName = sourceName; this.mFsh = mFsh; this.inputLines = inputLines; }
MIPreFsh ParseTest(String mfshFile, out MFsh mfsh) { String input = GetCleanText(mfshFile); mfsh = new MFsh(); mfsh.TraceLogging(true, true, true); MIPreFsh b = mfsh.Parser.ParseOne(input, "test"); Assert.True(mfsh.HasErrors == false); return(b); }
void CheckErrors(MFsh mfsh) { if (mfsh.HasErrors == false) { return; } StringBuilder sb = new StringBuilder(); mfsh.FormatErrorMessages(sb); Trace.WriteLine(sb.ToString()); Assert.True(false); }
void ParseTest(String testFile, String resultsFile) { MFsh mfsh = CreateMfsh(); mfsh.TraceLogging(true, true, true); mfsh.Load(TestFile($"{testFile}.mfsh")); CheckErrors(mfsh); mfsh.Process(); CheckErrors(mfsh); Assert.True(mfsh.Parser.Fsh.Count == 1); String shouldBe = this.GetCleanText(resultsFile); Assert.True(mfsh.TryGetTextByRelativePath($"{testFile}.fsh", out String actualResults)); Assert.True(String.Compare(actualResults, shouldBe) == 0); }
public void MacroTest2() { MFsh mfsh = CreateMfsh(); mfsh.Load(TestFile("MFshMacroTest2.mfsh")); CheckErrors(mfsh); mfsh.Process(); CheckErrors(mfsh); StringBuilder sb = new StringBuilder(); sb.Append("Line one\n"); sb.Append("Line two\n"); sb.Append("Line three\n"); Assert.True(mfsh.TryGetTextByRelativePath("MFshMacroTest2.fsh", out String fsh)); Assert.True(fsh == sb.ToString()); }
public void FragTest1() { { MFsh mfsh = CreateMfsh(); mfsh.Load(TestFile("MFshFragTest1A.mfsh")); CheckErrors(mfsh); mfsh.Load(TestFile("MFshFragTest1B.mfsh")); CheckErrors(mfsh); mfsh.Process(); CheckErrors(mfsh); Assert.True(mfsh.MacroMgr.TryGetItem("Frag1", out MIApplicable item)); MIFragment frag = (MIFragment)item; Assert.True(frag.Name == "Frag1"); Assert.True(frag.Parent == "Observation"); Assert.True(frag.Title == "Frag1 Title"); Assert.True(frag.Description == "Frag1 Description"); StringBuilder sb = new StringBuilder(); sb.Append("Line 1\n"); sb.Append("Line 2\n"); sb.Append("Line 3\n"); Assert.True(mfsh.TryGetTextByRelativePath("MFshFragTest1B.fsh", out String fsh)); Assert.True(fsh == sb.ToString()); } { MFsh mfsh = CreateMfsh(); mfsh.Load(TestFile("MFshFragTest1A.mfsh")); CheckErrors(mfsh); mfsh.Load(TestFile("MFshFragTest1C.mfsh")); CheckErrors(mfsh); mfsh.Process(); CheckErrors(mfsh); StringBuilder sb = new StringBuilder(); sb.Append("Line 1\n"); sb.Append("Line 2\n"); sb.Append("Line 2\n"); sb.Append("Line 2\n"); sb.Append("Line 2\n"); sb.Append("Line 3\n"); Assert.True(mfsh.TryGetTextByRelativePath("MFshFragTest1C.fsh", out String fsh)); Assert.True(fsh == sb.ToString()); } }
public void MacroTest1() { { MFsh mfsh = CreateMfsh(); mfsh.Load(TestFile("MFshMacroTest1A.mfsh")); CheckErrors(mfsh); mfsh.Load(TestFile("MFshMacroTest1B.mfsh")); CheckErrors(mfsh); mfsh.Process(); CheckErrors(mfsh); StringBuilder sb = new StringBuilder(); sb.Append("Line 1\n"); sb.Append("Line 2\n"); sb.Append("Line 3\n"); Assert.True(mfsh.TryGetTextByRelativePath("MFshMacroTest1B.fsh", out String fsh)); Assert.True(fsh == sb.ToString()); } { MFsh mfsh = CreateMfsh(); mfsh.Load(TestFile("MFshMacroTest1A.mfsh")); CheckErrors(mfsh); mfsh.Load(TestFile("MFshMacroTest1C.mfsh")); CheckErrors(mfsh); mfsh.Process(); CheckErrors(mfsh); StringBuilder sb = new StringBuilder(); sb.Append("Line 1\n"); sb.Append("Line 2\n"); sb.Append("Line 3\n"); Assert.True(mfsh.TryGetTextByRelativePath("MFshMacroTest1C.fsh", out String fsh)); Assert.True(fsh == sb.ToString()); } }
public MFSHErrorListenerLexer(MFsh mFsh, String parserName, String sourceName, String[] inputLines) : base(mFsh, parserName, sourceName, inputLines) { }