Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
            }
        }