Inheritance: ICompilation
        public void Compilation_WithErrors_HasExpectedDiagnostics()
        {
            string code = @"
public void Run(){
  invalid.SomeMethod();
}";
            Script<object> script = CSharpScript.Create(code);
            var compilation = new CSharpCompilation(script.GetCompilation());

            ImmutableArray<Diagnostic> diagnostics = compilation.GetDiagnostics();

            Assert.Equal(1, diagnostics.Count());
        }
        public void InvalidFileMetadataReference_ReturnsExpectedDiagnostics()
        {
            string code = @"
#r ""System.Runtime.dll""
public void Run(){
}";
            Script<object> script = CSharpScript.Create(code);
            var compilation = new CSharpCompilation(script.GetCompilation());

            var diagnostics = compilation.GetDiagnostics();

            var diagnostic = diagnostics.FirstOrDefault(d => string.Compare(d.Id, DotNetConstants.InvalidFileMetadataReferenceCode) == 0);

            Assert.NotNull(diagnostic);
            Assert.Equal("The reference 'System.Runtime.dll' is invalid. If you are attempting to add a framework reference, please remove the '.dll' file extension.",
                diagnostic.GetMessage());
        }