< Summary

Information
Class: Elsa.Workflows.ActivityExecutionContextExtensions
Assembly: Elsa.Workflows.Core
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Workflows.Core/Extensions/ActivityExecutionContextExtensions.InputOutput.cs
Line coverage
100%
Covered lines: 21
Uncovered lines: 0
Coverable lines: 21
Total lines: 41
Line coverage: 100%
Branch coverage
100%
Covered branches: 8
Total branches: 8
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
GetInputs(...)100%11100%
GetOutputs(...)100%88100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Workflows.Core/Extensions/ActivityExecutionContextExtensions.InputOutput.cs

#LineLine coverage
 1using Elsa.Extensions;
 2using Elsa.Workflows.Models;
 3
 4namespace Elsa.Workflows;
 5
 6public static class ActivityExecutionContextExtensions
 7{
 8    extension(ActivityExecutionContext context)
 9    {
 10        public IDictionary<string, object> GetInputs()
 11        {
 344312            return context.ActivityState!;
 13        }
 14
 15        public IDictionary<string, object> GetOutputs()
 16        {
 344317            var activity = context.Activity;
 344318            var expressionExecutionContext = context.ExpressionExecutionContext;
 344319            var activityDescriptor = context.ActivityDescriptor;
 344320            var outputDescriptors = activityDescriptor.Outputs;
 21
 642122            var outputs = outputDescriptors.ToDictionary(x => x.Name, x =>
 344323            {
 297824                if (x.IsSerializable == false)
 85625                    return "(not serializable)";
 344326
 212227                var cachedValue = activity.GetOutput(expressionExecutionContext, x.Name);
 344328
 212229                if (cachedValue != null)
 109830                    return cachedValue;
 344331
 102432                if (x.ValueGetter(activity) is Output output && context.TryGet(output.MemoryBlockReference(), out var ou
 18633                    return outputValue!;
 344334
 83835                return null!;
 344336            });
 37
 344338            return outputs;
 39        }
 40    }
 41}