public async Task InspectMemoryGraph_ProducesExpectedOutput(string resourceName) { var code = TestCode.FromResource(resourceName); var output = await ContainerTestDriver.CompileAndExecuteAsync(code.Original); code.AssertIsExpected(RemoveFlowJson(output), _testOutputHelper); }
//[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); }
public async Task SlowUpdate_ExecutesFSharp() { var code = @" open System printf ""Test"" "; var output = await ContainerTestDriver.CompileAndExecuteAsync(code, LanguageNames.FSharp); Assert.Equal("Test", output); }
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); }
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); }
public async Task Inspect_ProducesExpectedOutput(string code, string expectedOutput) { var output = await ContainerTestDriver.CompileAndExecuteAsync(code); Assert.Equal(expectedOutput, RemoveFlowJson(output)); }