private void AssertCompilationOutputMatch() { ParseData(); var logger = new StringBufforErrorLogger(); if (_assemblyBuilder.Errors.Any()) { _assemblyBuilder.Errors.Sort((x, y) => x.CompareTo(y)); string lastErrorBlockName = null; foreach (CompilationMessage error in _assemblyBuilder.Errors) { if (lastErrorBlockName != error.ExecBlockName) { lastErrorBlockName = error.ExecBlockName; if (error.ExecBlockName == null) { logger.Log($"{error.FileName}: In global scope:"); } else { logger.Log($"{error.FileName}: In {error.ExecBlockType} ‘{error.ExecBlockName}’:"); } } error.Print(logger); } } Assert.Equal(_expectedCompilationOutput, logger.GetBuffor().Trim()); }
protected void ParseData() { _parsed = true; StringBufforErrorLogger logger = new StringBufforErrorLogger(); _testsHelper = new TestsHelper(logger, false, false); _testsHelper.RunCode(Code, Zen); }
protected void AssertCompilationOutputMatch(bool strictSyntax = false, bool detectUnused = false) { ParseData(); StringBufforErrorLogger logger = new StringBufforErrorLogger(); TestsHelper testsHelper = new TestsHelper(logger, strictSyntax, detectUnused); testsHelper.RunCode(Code, Zen); Assert.Equal(ExpectedCompilationOutput, logger.GetBuffer().Trim()); }