コード例 #1
0
ファイル: InspectTests.cs プロジェクト: kkokosa/SharpLab
        public async Task InspectMemoryGraph_ProducesExpectedOutput(string resourceName)
        {
            var code = TestCode.FromResource(resourceName);

            var output = await ContainerTestDriver.CompileAndExecuteAsync(code.Original);

            code.AssertIsExpected(RemoveFlowJson(output), _testOutputHelper);
        }
コード例 #2
0
ファイル: InspectTests.cs プロジェクト: kkokosa/SharpLab
        //[InlineData("Output.Inspect.Heap.Null.cs2output"/*, true*/)]
        public async Task InspectHeap_ProducesExpectedOutput(string resourceName /*, bool allowExceptions = false*/)
        {
            var code = TestCode.FromResource(resourceName);

            var output = await ContainerTestDriver.CompileAndExecuteAsync(code.Original);

            code.AssertIsExpected(RemoveFlowJson(output), _testOutputHelper);
        }
コード例 #3
0
ファイル: FSharpTests.cs プロジェクト: kkokosa/SharpLab
        public async Task SlowUpdate_ExecutesFSharp()
        {
            var code = @"
                open System
                printf ""Test""
            ";

            var output = await ContainerTestDriver.CompileAndExecuteAsync(code, LanguageNames.FSharp);

            Assert.Equal("Test", output);
        }
コード例 #4
0
ファイル: FSharpTests.cs プロジェクト: kkokosa/SharpLab
        public async Task SlowUpdate_ExecutesFSharp_WithExplicitEntryPoint()
        {
            var code = @"
                open System

                [<EntryPoint>]
                let main argv = 
                    printf ""Test""
                    0
            ";

            var output = await ContainerTestDriver.CompileAndExecuteAsync(code, LanguageNames.FSharp);

            Assert.Equal("Test", output);
        }
コード例 #5
0
        public async Task Flow_IncludesExpectedValues(string resourceName)
        {
            var code           = LoadCodeFromResource(resourceName);
            var cleanCodeLines = code.Split("\r\n")
                                 .Select(line => Regex.Replace(line, @"//.+$", ""));

            var output = await ContainerTestDriver.CompileAndExecuteAsync(code);

            var valuesByLineNumber = ExtractAndGroupFlowValueStepsByLineNumber(output);
            var resultCode         = string.Join("\r\n", cleanCodeLines.Select(
                                                     (line, index) => line + (valuesByLineNumber.TryGetValue(index + 1, out var values) ? $"// [{values}]" : "")
                                                     ));

            Assert.Equal(code, resultCode);
        }
コード例 #6
0
ファイル: InspectTests.cs プロジェクト: kkokosa/SharpLab
        public async Task Inspect_ProducesExpectedOutput(string code, string expectedOutput)
        {
            var output = await ContainerTestDriver.CompileAndExecuteAsync(code);

            Assert.Equal(expectedOutput, RemoveFlowJson(output));
        }