public async void CompilationService_TestScriptCompilationFailure() { EntityMetadata metaData = ScriptTestDataHelper.GetRandomMetadata(EntityType.Detector); metaData.ScriptText = ScriptTestDataHelper.GetInvalidCsxScript(ScriptErrorType.CompilationError); var serviceInstance = CompilationServiceFactory.CreateService(metaData, ScriptOptions.Default); ICompilation compilation = await serviceInstance.GetCompilationAsync(); ImmutableArray <Diagnostic> diagnostics = await compilation.GetDiagnosticsAsync(); Assert.NotEmpty(diagnostics.Select(d => d.Severity == DiagnosticSeverity.Error)); }
public async void CompilationService_TestDuplicateEntryPoints(ScriptErrorType errorType) { EntityMetadata metadata = ScriptTestDataHelper.GetRandomMetadata(); metadata.ScriptText = ScriptTestDataHelper.GetInvalidCsxScript(errorType); var serviceInstance = CompilationServiceFactory.CreateService(metadata, ScriptOptions.Default); ICompilation compilation = await serviceInstance.GetCompilationAsync(); ScriptCompilationException ex = Assert.Throws <ScriptCompilationException>(() => { EntityMethodSignature methodSignature = compilation.GetEntryPointSignature(); }); Assert.NotEmpty(ex.CompilationOutput); }
public async void EntityInvoker_TestInvokeWithCompilationError(ScriptErrorType errorType) { EntityMetadata metadata = ScriptTestDataHelper.GetRandomMetadata(); metadata.ScriptText = ScriptTestDataHelper.GetInvalidCsxScript(errorType); using (EntityInvoker invoker = new EntityInvoker(metadata, ImmutableArray.Create <string>())) { ScriptCompilationException ex = await Assert.ThrowsAsync <ScriptCompilationException>(async() => { await invoker.InitializeEntryPointAsync(); int result = (int)await invoker.Invoke(new object[] { 3 }); Assert.Equal(9, result); }); Assert.NotEmpty(ex.CompilationOutput); } }