From 3bbbd1650cc5df0c695b108e8d8e2a216dc5c7fe Mon Sep 17 00:00:00 2001 From: mpekurny <49953914+mpekurny@users.noreply.github.com> Date: Wed, 18 Sep 2024 07:50:08 -0400 Subject: [PATCH] Adding ability to make async calls in Gauge tests (#233) * Remove unnecessary class AssemblyPath Signed-off-by: Martin Pekurny * Added protobuf files directly to the project file so they will be automactically regenerated at compile time Signed-off-by: Martin Pekurny * Consolidated much of the startup code, used newer WebApplication builder insteadof Host and removed support for obsolete --init command line parameter Signed-off-by: Martin Pekurny * More startup consolidation and cleanup Signed-off-by: Martin Pekurny * Updated authoring runner service handler to not use the executor pool Signed-off-by: Martin Pekurny * Updated ExecutableRunnerServiceHandler to not use executor pool along with changes necessary to allow for async calls for hooks and steps Signed-off-by: Martin Pekurny * Final cleanup, consistency with ILogger and IConfiguration and unit testing Signed-off-by: Martin Pekurny * Final cleanup and setting versions Signed-off-by: Martin Pekurny * Update versions of dependencies Signed-off-by: Martin Pekurny * Commit to restart build checks Signed-off-by: Martin Pekurny * Update workflows to pull submodules Signed-off-by: Martin Pekurny * Fixing whitespace issues Signed-off-by: Martin Pekurny * Commit to restart build checks Signed-off-by: Martin Pekurny * Commit to restart build checks Signed-off-by: Martin Pekurny --------- Signed-off-by: Martin Pekurny --- .editorconfig | 84 + .github/workflows/build.yml | 7 + .github/workflows/release-on-pr-merge.yml | 2 + .gitignore | 6 + Gauge.Dotnet.sln | 68 +- .../PublishProfiles/FolderProfile.pubxml | 13 + .../ReferenceDllProject/ReferenceDll.csproj | 6 +- .../ReferenceProject/ReferenceProject.csproj | 8 +- _testdata/Sample/IntegrationTestSample.csproj | 6 +- .../PublishProfiles/FolderProfile.pubxml | 13 + _testdata/Sample/StepImplementation.cs | 7 - .../Sample/gauge_bin/Gauge.CSharp.Lib.dll | Bin 20480 -> 22528 bytes .../gauge_bin/IntegrationTestSample.deps.json | 22 +- .../gauge_bin/IntegrationTestSample.dll | Bin 8704 -> 9216 bytes .../gauge_bin/IntegrationTestSample.pdb | Bin 2492 -> 13200 bytes .../IntegrationTestSample.sln | 2 +- ... IntegrationTestSampleDllReference.csproj} | 6 +- .../PublishProfiles/FolderProfile.pubxml | 13 + .../gauge_bin/FluentAssertions.Core.dll | Bin 0 -> 288768 bytes .../gauge_bin/FluentAssertions.dll | Bin 0 -> 60928 bytes .../gauge_bin/Gauge.CSharp.Lib.dll | Bin 20480 -> 22528 bytes .../gauge_bin/IntegrationTestSample.deps.json | 55 - .../gauge_bin/IntegrationTestSample.dll | Bin 8704 -> 0 bytes .../gauge_bin/IntegrationTestSample.pdb | Bin 2552 -> 0 bytes ...ntegrationTestSampleDllReference.deps.json | 81 + .../IntegrationTestSampleDllReference.dll | Bin 0 -> 9728 bytes .../IntegrationTestSampleDllReference.pdb | Bin 0 -> 13408 bytes .../libs/FluentAssertions.Core.dll | Bin 0 -> 288768 bytes .../libs/FluentAssertions.dll | Bin 0 -> 60928 bytes .../libs/Gauge.CSharp.Lib.dll | Bin 0 -> 22528 bytes .../libs/ReferenceDll.deps.json | 1137 ++ .../SampleDllReference/libs/ReferenceDll.dll | Bin 6144 -> 6144 bytes .../SampleDllReference/libs/ReferenceDll.pdb | Bin 0 -> 12224 bytes .../IntegrationTestSample.sln | 2 +- ...egrationTestSampleProjectReference.csproj} | 6 +- .../PublishProfiles/FolderProfile.pubxml | 13 + .../StepImplementation.cs | 10 +- .../gauge_bin/Gauge.CSharp.Lib.dll | Bin 20480 -> 22528 bytes .../gauge_bin/IntegrationTestSample.deps.json | 24 +- .../gauge_bin/IntegrationTestSample.dll | Bin 8704 -> 9216 bytes .../gauge_bin/IntegrationTestSample.pdb | Bin 2556 -> 13200 bytes ...rationTestSampleProjectReference.deps.json | 1151 ++ .../IntegrationTestSampleProjectReference.dll | Bin 0 -> 9728 bytes .../IntegrationTestSampleProjectReference.pdb | Bin 0 -> 13436 bytes .../gauge_bin/ReferenceProject.dll | Bin 6144 -> 6144 bytes .../gauge_bin/ReferenceProject.pdb | Bin 1432 -> 12228 bytes integration-test/ExecuteStepProcessorTests.cs | 150 +- .../ExecutionOrchestratorTests.cs | 348 +- integration-test/ExternalReferenceTests.cs | 119 +- .../Gauge.Dotnet.IntegrationTests.csproj | 23 +- .../ImplementCodeProcessorTests.cs | 191 +- integration-test/IntegrationTestsBase.cs | 46 +- integration-test/RefactorHelperTests.cs | 372 +- integration-test/RefactorProcessorTests.cs | 11 +- integration-test/Usings.cs | 2 + src/AssemblyLoader.cs | 278 +- src/AssemblyLocater.cs | 41 +- src/AssemblyPath.cs | 29 - src/AttributesLoader.cs | 25 +- src/AuthoringRunnerServiceHandler.cs | 155 +- src/Exceptions/StreamNotFountException.cs | 20 - src/ExecutableRunnerServiceHandler.cs | 226 +- src/ExecutionInfoMapper.cs | 96 - src/ExecutionOrchestrator.cs | 152 - src/Executor/CustomTaskScheduler.cs | 58 - src/Executor/ExecutorPool.cs | 57 - src/Executors/ExecutionInfoMapper.cs | 96 + src/Executors/ExecutionOrchestrator.cs | 149 + src/Executors/Executor.cs | 20 + src/Executors/HookExecutor.cs | 127 + src/{ => Executors}/IExecutionInfoMapper.cs | 9 +- src/Executors/IExecutionOrchestrator.cs | 27 + src/Executors/IExecutor.cs | 6 + src/{ => Executors}/IHookExecutor.cs | 13 +- src/{ => Executors}/IStepExecutor.cs | 9 +- src/Executors/MethodExecutor.cs | 33 + src/Executors/StepExecutor.cs | 92 + src/Extensions/ConfigurationExtensions.cs | 63 + .../AbstractGaugeConnection.cs | 50 - src/Gauge.CSharp.Core/Api.cs | 7026 -------- src/Gauge.CSharp.Core/GaugeApiConnection.cs | 54 - src/Gauge.CSharp.Core/GaugeConnection.cs | 14 - src/Gauge.CSharp.Core/IGaugeApiConnection.cs | 21 - src/Gauge.CSharp.Core/ITcpClientWrapper.cs | 16 - src/Gauge.CSharp.Core/Lsp.cs | 60 - src/Gauge.CSharp.Core/LspGrpc.cs | 566 - src/Gauge.CSharp.Core/Messages.cs | 14898 ---------------- src/Gauge.CSharp.Core/Services.cs | 122 - src/Gauge.CSharp.Core/ServicesGrpc.cs | 3470 ---- src/Gauge.CSharp.Core/Spec.cs | 9602 ---------- src/Gauge.CSharp.Core/TcpClientWrapper.cs | 41 - src/Gauge.CSharp.Core/Utils.cs | 70 - src/Gauge.Dotnet.csproj | 77 +- src/GaugeCommandFactory.cs | 22 - src/GaugeListener.cs | 124 - src/GaugeLoadContext.cs | 45 +- src/GaugeLoggingFormatter.cs | 54 + src/GaugeProjectBuilder.cs | 115 +- src/Helpers/FileHelper.cs | 71 +- src/HookExecutor.cs | 133 - src/IAssemblyLoader.cs | 23 +- src/IAssemblyLocater.cs | 9 +- src/IExecutionOrchestrator.cs | 29 - src/IGaugeCommand.cs | 16 - src/LibType.cs | 3 - src/LockFreeGaugeLoadContext.cs | 42 +- src/Logger.cs | 75 - src/MethodExecutor.cs | 44 - src/Models/IStepRegistry.cs | 29 +- src/Models/StepRegistry.cs | 164 +- src/Processors/CacheFileProcessor.cs | 77 +- .../ConceptExecutionEndingProcessor.cs | 32 +- .../ConceptExecutionStartingProcessor.cs | 32 +- src/Processors/DataStoreInitProcessorBase.cs | 74 +- src/Processors/DataStoreType.cs | 17 - src/Processors/DefaultProcessor.cs | 37 - src/Processors/ExecuteStepProcessor.cs | 99 +- src/Processors/ExecutionEndingProcessor.cs | 48 +- src/Processors/ExecutionProcessor.cs | 28 - src/Processors/ExecutionStartingProcessor.cs | 55 +- src/Processors/HookExecutionProcessor.cs | 91 +- src/Processors/IGaugeProcessor.cs | 6 + src/Processors/IMessageProcessor.cs | 16 - .../ImplementationFileGlobPatterProcessor.cs | 21 + .../ImplementationFileListProcessor.cs | 34 + src/Processors/KillProcessProcessor.cs | 19 - src/Processors/RefactorProcessor.cs | 133 +- .../ScenarioDataStoreInitProcessor.cs | 19 +- .../ScenarioExecutionEndingProcessor.cs | 48 +- .../ScenarioExecutionStartingProcessor.cs | 46 +- src/Processors/SpecDataStoreInitProcessor.cs | 18 +- .../SpecExecutionEndingProcessor.cs | 52 +- .../SpecExecutionStartingProcessor.cs | 40 +- .../StepExecutionEndingProcessor.cs | 32 +- .../StepExecutionStartingProcessor.cs | 32 +- src/Processors/StepNameProcessor.cs | 73 +- src/Processors/StepNamesProcessor.cs | 30 +- src/Processors/StepPositionsProcessor.cs | 26 +- src/Processors/StepValidationProcessor.cs | 95 +- .../StubImplementationCodeProcessor.cs | 212 +- src/Processors/SuiteDataStoreInitProcessor.cs | 18 +- .../TaggedHooksFirstExecutionProcessor.cs | 14 +- .../UnTaggedHooksFirstExecutionProcessor.cs | 14 +- src/Program.cs | 154 +- src/Properties/launchSettings.json | 12 + src/SetupCommand.cs | 116 - src/StartCommand.cs | 94 - src/StaticLoader.cs | 199 +- src/StepExecutor.cs | 96 - src/Strategy/HooksStrategy.cs | 53 +- src/Strategy/IHooksStrategy.cs | 12 +- src/Strategy/TaggedHooksFirstStrategy.cs | 25 +- src/Wrappers/ReflectionWrapper.cs | 59 +- src/dotnet.json | 4 +- test/AssemblyLoaderTests.cs | 244 +- test/AssemblyLocaterTests.cs | 34 +- test/ExecutionInfoMapperTests.cs | 170 +- test/ExecutionOrchestratorTests.cs | 431 +- test/Gauge.Dotnet.UnitTests.csproj | 25 +- test/GaugeCommandFactoryTests.cs | 44 - test/HookExecutorTests.cs | 230 +- test/Processors/CacheFileProcessorTests.cs | 14 +- test/Processors/DefaultProcessorTests.cs | 34 - test/Processors/ExecuteStepProcessorTests.cs | 253 +- .../ExecutionEndingProcessorTests.cs | 143 +- .../ExecutionStartingProcessorTests.cs | 177 +- .../Processors/HookExecutionProcessorTests.cs | 358 +- .../ScenarioExecutionEndingProcessorTests.cs | 196 +- ...ScenarioExecutionStartingProcessorTests.cs | 206 +- .../SpecExecutionEndingProcessorTests.cs | 118 +- .../SpecExecutionStartingProcessorTests.cs | 120 +- .../StepExecutionEndingProcessorTests.cs | 267 +- .../StepExecutionStartingProcessorTests.cs | 199 +- test/Processors/StepNameProcessorTest.cs | 153 +- test/Processors/StepNamesProcessorTests.cs | 31 +- .../Processors/StepPositionsProcessorTests.cs | 77 +- .../Stubs/TestHooksExecutionProcessor.cs | 25 +- .../TestTaggedHooksFirstExecutionProcessor.cs | 25 +- ...estUntaggedHooksFirstExecutionProcessor.cs | 26 +- test/StartCommandTests.cs | 112 - test/StaticLoaderTests.cs | 511 +- test/StepExecutorTests.cs | 203 +- test/Usings.cs | 3 + test/UtilsTest.cs | 49 - test/ValidateProcessorTests.cs | 122 +- 185 files changed, 7711 insertions(+), 42171 deletions(-) create mode 100644 .editorconfig create mode 100644 _testdata/ReferenceDllProject/Properties/PublishProfiles/FolderProfile.pubxml create mode 100644 _testdata/Sample/Properties/PublishProfiles/FolderProfile.pubxml rename _testdata/SampleDllReference/{IntegrationTestSample.csproj => IntegrationTestSampleDllReference.csproj} (59%) create mode 100644 _testdata/SampleDllReference/Properties/PublishProfiles/FolderProfile.pubxml create mode 100644 _testdata/SampleDllReference/gauge_bin/FluentAssertions.Core.dll create mode 100644 _testdata/SampleDllReference/gauge_bin/FluentAssertions.dll delete mode 100644 _testdata/SampleDllReference/gauge_bin/IntegrationTestSample.deps.json delete mode 100644 _testdata/SampleDllReference/gauge_bin/IntegrationTestSample.dll delete mode 100644 _testdata/SampleDllReference/gauge_bin/IntegrationTestSample.pdb create mode 100644 _testdata/SampleDllReference/gauge_bin/IntegrationTestSampleDllReference.deps.json create mode 100644 _testdata/SampleDllReference/gauge_bin/IntegrationTestSampleDllReference.dll create mode 100644 _testdata/SampleDllReference/gauge_bin/IntegrationTestSampleDllReference.pdb create mode 100644 _testdata/SampleDllReference/libs/FluentAssertions.Core.dll create mode 100644 _testdata/SampleDllReference/libs/FluentAssertions.dll create mode 100644 _testdata/SampleDllReference/libs/Gauge.CSharp.Lib.dll create mode 100644 _testdata/SampleDllReference/libs/ReferenceDll.deps.json create mode 100644 _testdata/SampleDllReference/libs/ReferenceDll.pdb rename _testdata/SampleProjectReference/{IntegrationTestSample.csproj => IntegrationTestSampleProjectReference.csproj} (56%) create mode 100644 _testdata/SampleProjectReference/Properties/PublishProfiles/FolderProfile.pubxml create mode 100644 _testdata/SampleProjectReference/gauge_bin/IntegrationTestSampleProjectReference.deps.json create mode 100644 _testdata/SampleProjectReference/gauge_bin/IntegrationTestSampleProjectReference.dll create mode 100644 _testdata/SampleProjectReference/gauge_bin/IntegrationTestSampleProjectReference.pdb create mode 100644 integration-test/Usings.cs delete mode 100644 src/AssemblyPath.cs delete mode 100644 src/Exceptions/StreamNotFountException.cs delete mode 100644 src/ExecutionInfoMapper.cs delete mode 100644 src/ExecutionOrchestrator.cs delete mode 100644 src/Executor/CustomTaskScheduler.cs delete mode 100644 src/Executor/ExecutorPool.cs create mode 100644 src/Executors/ExecutionInfoMapper.cs create mode 100644 src/Executors/ExecutionOrchestrator.cs create mode 100644 src/Executors/Executor.cs create mode 100644 src/Executors/HookExecutor.cs rename src/{ => Executors}/IExecutionInfoMapper.cs (67%) create mode 100644 src/Executors/IExecutionOrchestrator.cs create mode 100644 src/Executors/IExecutor.cs rename src/{ => Executors}/IHookExecutor.cs (60%) rename src/{ => Executors}/IStepExecutor.cs (67%) create mode 100644 src/Executors/MethodExecutor.cs create mode 100644 src/Executors/StepExecutor.cs create mode 100644 src/Extensions/ConfigurationExtensions.cs delete mode 100644 src/Gauge.CSharp.Core/AbstractGaugeConnection.cs delete mode 100644 src/Gauge.CSharp.Core/Api.cs delete mode 100644 src/Gauge.CSharp.Core/GaugeApiConnection.cs delete mode 100644 src/Gauge.CSharp.Core/GaugeConnection.cs delete mode 100644 src/Gauge.CSharp.Core/IGaugeApiConnection.cs delete mode 100644 src/Gauge.CSharp.Core/ITcpClientWrapper.cs delete mode 100644 src/Gauge.CSharp.Core/Lsp.cs delete mode 100644 src/Gauge.CSharp.Core/LspGrpc.cs delete mode 100644 src/Gauge.CSharp.Core/Messages.cs delete mode 100644 src/Gauge.CSharp.Core/Services.cs delete mode 100644 src/Gauge.CSharp.Core/ServicesGrpc.cs delete mode 100644 src/Gauge.CSharp.Core/Spec.cs delete mode 100644 src/Gauge.CSharp.Core/TcpClientWrapper.cs delete mode 100644 src/Gauge.CSharp.Core/Utils.cs delete mode 100644 src/GaugeCommandFactory.cs delete mode 100644 src/GaugeListener.cs create mode 100644 src/GaugeLoggingFormatter.cs delete mode 100644 src/HookExecutor.cs delete mode 100644 src/IExecutionOrchestrator.cs delete mode 100644 src/IGaugeCommand.cs delete mode 100644 src/Logger.cs delete mode 100644 src/MethodExecutor.cs delete mode 100644 src/Processors/DataStoreType.cs delete mode 100644 src/Processors/DefaultProcessor.cs delete mode 100644 src/Processors/ExecutionProcessor.cs create mode 100644 src/Processors/IGaugeProcessor.cs delete mode 100644 src/Processors/IMessageProcessor.cs create mode 100644 src/Processors/ImplementationFileGlobPatterProcessor.cs create mode 100644 src/Processors/ImplementationFileListProcessor.cs delete mode 100644 src/Processors/KillProcessProcessor.cs create mode 100644 src/Properties/launchSettings.json delete mode 100644 src/SetupCommand.cs delete mode 100644 src/StartCommand.cs delete mode 100644 src/StepExecutor.cs delete mode 100644 test/GaugeCommandFactoryTests.cs delete mode 100644 test/Processors/DefaultProcessorTests.cs delete mode 100644 test/StartCommandTests.cs create mode 100644 test/Usings.cs delete mode 100644 test/UtilsTest.cs diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..844d3b9 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,84 @@ + +[*.{cs,vb}] +#### Naming styles #### + +# Naming rules + +dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion +dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface +dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i + +dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.types_should_be_pascal_case.symbols = types +dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case + +dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members +dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case + +# Symbol specifications + +dotnet_naming_symbols.interface.applicable_kinds = interface +dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.interface.required_modifiers = + +dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum +dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.types.required_modifiers = + +dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method +dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.non_field_members.required_modifiers = + +# Naming styles + +dotnet_naming_style.begins_with_i.required_prefix = I +dotnet_naming_style.begins_with_i.required_suffix = +dotnet_naming_style.begins_with_i.word_separator = +dotnet_naming_style.begins_with_i.capitalization = pascal_case + +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.capitalization = pascal_case + +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.capitalization = pascal_case +dotnet_style_operator_placement_when_wrapping = beginning_of_line +tab_width = 4 +indent_size = 4 +end_of_line = crlf +dotnet_style_coalesce_expression = true:suggestion +dotnet_style_null_propagation = true:suggestion +dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion +dotnet_style_prefer_auto_properties = true:silent +dotnet_style_object_initializer = true:suggestion +dotnet_style_prefer_collection_expression = true:suggestion +dotnet_style_collection_initializer = true:suggestion +dotnet_style_prefer_simplified_boolean_expressions = true:suggestion +dotnet_style_prefer_conditional_expression_over_assignment = true:silent +dotnet_style_prefer_conditional_expression_over_return = true:silent +dotnet_style_explicit_tuple_names = true:suggestion +dotnet_style_prefer_inferred_tuple_names = true:suggestion +dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion +dotnet_style_prefer_compound_assignment = true:suggestion + +[*.cs] +csharp_indent_labels = one_less_than_current +csharp_using_directive_placement = outside_namespace:silent +csharp_prefer_simple_using_statement = true:suggestion +csharp_prefer_braces = true:silent +csharp_style_namespace_declarations = file_scoped:suggestion +csharp_style_prefer_method_group_conversion = true:silent +csharp_style_prefer_top_level_statements = true:silent +csharp_style_prefer_primary_constructors = true:suggestion +csharp_style_expression_bodied_methods = false:silent +csharp_style_expression_bodied_constructors = false:silent +csharp_style_expression_bodied_operators = false:silent +csharp_style_expression_bodied_properties = true:silent +csharp_style_expression_bodied_indexers = true:silent +csharp_style_expression_bodied_accessors = true:silent +csharp_style_expression_bodied_lambdas = true:silent +csharp_style_expression_bodied_local_functions = false:silent \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 54d6c89..158f7fa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,6 +20,9 @@ jobs: steps: - uses: actions/checkout@v4 + with: + submodules: recursive + - name: Setup .NET Core uses: actions/setup-dotnet@v4 with: @@ -48,6 +51,8 @@ jobs: steps: - uses: actions/checkout@v4 + with: + submodules: recursive - name: Setup go uses: actions/setup-go@v5 @@ -113,6 +118,8 @@ jobs: steps: - uses: actions/checkout@v4 + with: + submodules: recursive - name: Setup go uses: actions/setup-go@v5 diff --git a/.github/workflows/release-on-pr-merge.yml b/.github/workflows/release-on-pr-merge.yml index dd02c55..6257458 100644 --- a/.github/workflows/release-on-pr-merge.yml +++ b/.github/workflows/release-on-pr-merge.yml @@ -12,6 +12,8 @@ jobs: DOTNET_CLI_TELEMETRY_OPTOUT: 1 steps: - uses: actions/checkout@v4 + with: + submodules: recursive - name: Setup .NET Core uses: actions/setup-dotnet@v4 diff --git a/.gitignore b/.gitignore index fc11b0c..f8d53f4 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,9 @@ artifacts .DS_Store .fake .idea/ + +# User-specific files +**/*.suo +**/*.user +**/*.userosscache +**/*.sln.docstates \ No newline at end of file diff --git a/Gauge.Dotnet.sln b/Gauge.Dotnet.sln index 22853fc..7b0df6a 100644 --- a/Gauge.Dotnet.sln +++ b/Gauge.Dotnet.sln @@ -1,9 +1,9 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27130.2020 +# Visual Studio Version 17 +VisualStudioVersion = 17.8.34601.278 MinimumVisualStudioVersion = 15.0.26124.0 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IntegrationTestSample", "IntegrationTestSample\IntegrationTestSample.csproj", "{8927158D-F899-4270-B898-906910A79D8A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IntegrationTestSample", "_testdata\Sample\IntegrationTestSample.csproj", "{8927158D-F899-4270-B898-906910A79D8A}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Gauge.Dotnet", "src\Gauge.Dotnet.csproj", "{ACD9026F-BF29-4FC5-B8B4-67C27512E80D}" EndProject @@ -11,6 +11,21 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Gauge.Dotnet.UnitTests", "t EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Gauge.Dotnet.IntegrationTests", "integration-test\Gauge.Dotnet.IntegrationTests.csproj", "{E7079EDD-7987-4042-877C-999FCA6C60A1}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3852E248-E868-4E7F-A439-3F182E88A4A4}" + ProjectSection(SolutionItems) = preProject + .editorconfig = .editorconfig + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IntegrationTestSamples", "IntegrationTestSamples", "{04F8F685-9990-40EA-A85C-EA18B3B6D9B9}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReferenceProject", "_testdata\ReferenceProject\ReferenceProject.csproj", "{26039755-1F17-4AC1-8637-71F72C01DE90}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReferenceDll", "_testdata\ReferenceDllProject\ReferenceDll.csproj", "{0CE94A26-CBE9-4539-9672-9DFCAE973C6A}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IntegrationTestSampleDllReference", "_testdata\SampleDllReference\IntegrationTestSampleDllReference.csproj", "{870537AD-A053-4651-BB77-41CB42890912}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IntegrationTestSampleProjectReference", "_testdata\SampleProjectReference\IntegrationTestSampleProjectReference.csproj", "{E558F296-5A27-4288-8559-5127C252948E}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -67,10 +82,57 @@ Global {E7079EDD-7987-4042-877C-999FCA6C60A1}.Release|x64.Build.0 = Release|Any CPU {E7079EDD-7987-4042-877C-999FCA6C60A1}.Release|x86.ActiveCfg = Release|Any CPU {E7079EDD-7987-4042-877C-999FCA6C60A1}.Release|x86.Build.0 = Release|Any CPU + {26039755-1F17-4AC1-8637-71F72C01DE90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {26039755-1F17-4AC1-8637-71F72C01DE90}.Debug|x64.ActiveCfg = Debug|Any CPU + {26039755-1F17-4AC1-8637-71F72C01DE90}.Debug|x64.Build.0 = Debug|Any CPU + {26039755-1F17-4AC1-8637-71F72C01DE90}.Debug|x86.ActiveCfg = Debug|Any CPU + {26039755-1F17-4AC1-8637-71F72C01DE90}.Debug|x86.Build.0 = Debug|Any CPU + {26039755-1F17-4AC1-8637-71F72C01DE90}.Release|Any CPU.ActiveCfg = Release|Any CPU + {26039755-1F17-4AC1-8637-71F72C01DE90}.Release|x64.ActiveCfg = Release|Any CPU + {26039755-1F17-4AC1-8637-71F72C01DE90}.Release|x64.Build.0 = Release|Any CPU + {26039755-1F17-4AC1-8637-71F72C01DE90}.Release|x86.ActiveCfg = Release|Any CPU + {26039755-1F17-4AC1-8637-71F72C01DE90}.Release|x86.Build.0 = Release|Any CPU + {0CE94A26-CBE9-4539-9672-9DFCAE973C6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0CE94A26-CBE9-4539-9672-9DFCAE973C6A}.Debug|x64.ActiveCfg = Debug|Any CPU + {0CE94A26-CBE9-4539-9672-9DFCAE973C6A}.Debug|x64.Build.0 = Debug|Any CPU + {0CE94A26-CBE9-4539-9672-9DFCAE973C6A}.Debug|x86.ActiveCfg = Debug|Any CPU + {0CE94A26-CBE9-4539-9672-9DFCAE973C6A}.Debug|x86.Build.0 = Debug|Any CPU + {0CE94A26-CBE9-4539-9672-9DFCAE973C6A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0CE94A26-CBE9-4539-9672-9DFCAE973C6A}.Release|x64.ActiveCfg = Release|Any CPU + {0CE94A26-CBE9-4539-9672-9DFCAE973C6A}.Release|x64.Build.0 = Release|Any CPU + {0CE94A26-CBE9-4539-9672-9DFCAE973C6A}.Release|x86.ActiveCfg = Release|Any CPU + {0CE94A26-CBE9-4539-9672-9DFCAE973C6A}.Release|x86.Build.0 = Release|Any CPU + {870537AD-A053-4651-BB77-41CB42890912}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {870537AD-A053-4651-BB77-41CB42890912}.Debug|x64.ActiveCfg = Debug|Any CPU + {870537AD-A053-4651-BB77-41CB42890912}.Debug|x64.Build.0 = Debug|Any CPU + {870537AD-A053-4651-BB77-41CB42890912}.Debug|x86.ActiveCfg = Debug|Any CPU + {870537AD-A053-4651-BB77-41CB42890912}.Debug|x86.Build.0 = Debug|Any CPU + {870537AD-A053-4651-BB77-41CB42890912}.Release|Any CPU.ActiveCfg = Release|Any CPU + {870537AD-A053-4651-BB77-41CB42890912}.Release|x64.ActiveCfg = Release|Any CPU + {870537AD-A053-4651-BB77-41CB42890912}.Release|x64.Build.0 = Release|Any CPU + {870537AD-A053-4651-BB77-41CB42890912}.Release|x86.ActiveCfg = Release|Any CPU + {870537AD-A053-4651-BB77-41CB42890912}.Release|x86.Build.0 = Release|Any CPU + {E558F296-5A27-4288-8559-5127C252948E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E558F296-5A27-4288-8559-5127C252948E}.Debug|x64.ActiveCfg = Debug|Any CPU + {E558F296-5A27-4288-8559-5127C252948E}.Debug|x64.Build.0 = Debug|Any CPU + {E558F296-5A27-4288-8559-5127C252948E}.Debug|x86.ActiveCfg = Debug|Any CPU + {E558F296-5A27-4288-8559-5127C252948E}.Debug|x86.Build.0 = Debug|Any CPU + {E558F296-5A27-4288-8559-5127C252948E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E558F296-5A27-4288-8559-5127C252948E}.Release|x64.ActiveCfg = Release|Any CPU + {E558F296-5A27-4288-8559-5127C252948E}.Release|x64.Build.0 = Release|Any CPU + {E558F296-5A27-4288-8559-5127C252948E}.Release|x86.ActiveCfg = Release|Any CPU + {E558F296-5A27-4288-8559-5127C252948E}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {8927158D-F899-4270-B898-906910A79D8A} = {04F8F685-9990-40EA-A85C-EA18B3B6D9B9} + {26039755-1F17-4AC1-8637-71F72C01DE90} = {04F8F685-9990-40EA-A85C-EA18B3B6D9B9} + {0CE94A26-CBE9-4539-9672-9DFCAE973C6A} = {04F8F685-9990-40EA-A85C-EA18B3B6D9B9} + {870537AD-A053-4651-BB77-41CB42890912} = {04F8F685-9990-40EA-A85C-EA18B3B6D9B9} + {E558F296-5A27-4288-8559-5127C252948E} = {04F8F685-9990-40EA-A85C-EA18B3B6D9B9} + EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {220CCF70-5732-4927-A27C-72A3C351E2EE} EndGlobalSection diff --git a/_testdata/ReferenceDllProject/Properties/PublishProfiles/FolderProfile.pubxml b/_testdata/ReferenceDllProject/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 0000000..587affb --- /dev/null +++ b/_testdata/ReferenceDllProject/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,13 @@ + + + + + Debug + Any CPU + ..\SampleDllReference\libs + FileSystem + <_TargetId>Folder + + \ No newline at end of file diff --git a/_testdata/ReferenceDllProject/ReferenceDll.csproj b/_testdata/ReferenceDllProject/ReferenceDll.csproj index a34f1ff..9603f38 100644 --- a/_testdata/ReferenceDllProject/ReferenceDll.csproj +++ b/_testdata/ReferenceDllProject/ReferenceDll.csproj @@ -1,12 +1,12 @@ - net6.0 + net8.0 - - + + diff --git a/_testdata/ReferenceProject/ReferenceProject.csproj b/_testdata/ReferenceProject/ReferenceProject.csproj index a34f1ff..f61ec2b 100644 --- a/_testdata/ReferenceProject/ReferenceProject.csproj +++ b/_testdata/ReferenceProject/ReferenceProject.csproj @@ -1,12 +1,12 @@ - + - net6.0 + net8.0 - - + + diff --git a/_testdata/Sample/IntegrationTestSample.csproj b/_testdata/Sample/IntegrationTestSample.csproj index 5216469..408c3d6 100644 --- a/_testdata/Sample/IntegrationTestSample.csproj +++ b/_testdata/Sample/IntegrationTestSample.csproj @@ -1,10 +1,10 @@ - + - net6.0 + net8.0 - + diff --git a/_testdata/Sample/Properties/PublishProfiles/FolderProfile.pubxml b/_testdata/Sample/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 0000000..d04ae58 --- /dev/null +++ b/_testdata/Sample/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,13 @@ + + + + + Debug + Any CPU + gauge_bin + FileSystem + <_TargetId>Folder + + \ No newline at end of file diff --git a/_testdata/Sample/StepImplementation.cs b/_testdata/Sample/StepImplementation.cs index 8d14cd1..b86d46d 100644 --- a/_testdata/Sample/StepImplementation.cs +++ b/_testdata/Sample/StepImplementation.cs @@ -7,8 +7,6 @@ using System; using System.Linq; -using System.Runtime.Serialization; -using System.Text; using System.Threading.Tasks; using Gauge.CSharp.Lib; using Gauge.CSharp.Lib.Attribute; @@ -84,11 +82,6 @@ public class CustomSerializableException : Exception public CustomSerializableException(string s) : base(s) { } - - public CustomSerializableException(SerializationInfo info, StreamingContext context) - : base(info, context) - { - } } public class CustomException : Exception diff --git a/_testdata/Sample/gauge_bin/Gauge.CSharp.Lib.dll b/_testdata/Sample/gauge_bin/Gauge.CSharp.Lib.dll index c0dd492936d14ce9513624c1a797841c66a81c31..81ababe5081c820a5d1f13b180ed666b60753d61 100755 GIT binary patch literal 22528 zcmeHv3wTu3)%H4PX3kuaOlBs8Yk=XVLlTArkeh;paEk?kB!DOwCNqa*U@|AnnIH(k zp@P*9?^>%ZRz$3yZS76l+KX0ev9@Y$<=2)LX{q+&*Q>R)wch@Bt#js*fcE>I=llQX zfBxs2Fzf7h?X}lld+oi~-us+0tho3_auAUd-}l}ldKg#!ED-v^B!_JO*suHPA@8%} z9#)n=JFdMuX@+|*Komfk@f&DD=8Pv>N~Q)7p(w6 zp0pKqmwv)To1z&r69-dl%ORoRy9(cu&jNH;G^3{s2(qno2w&E<7T=Q30-}W_P?FQw zulTTSD!Hh;k!Z+VBCl|ZWH;KME5i3pjZt?g=#AR(s-s^L7pRdDL_XCV2^xV_TJ1D7 zf-KD#1x_tARW&$h2(DlTtt>}~j2h%lQHRuOwKG*m#DxO)qV%ZRxweSY7|rGL%EnmA zMm4B(HgrKWsQQMMX(1&t7Fnth26Y&$r~IVPU9V}8ap0Wr)RKbnp<)CL8$~`8rMwQz zi!2Mlu7*c8n9C0Q)>fcvKeVNrJ12bfxro5if2t8gEb+@8ILbMwF;;mG1%?;Pb3b9|ow@uJP0g{MGq%S=!^T>Amh6EyoT@n-; z2c_KiVd#cCf+lR!e2#jzW7zs(Gd;Ch#1BTT>d+z~PH?|Wc^^B5oMwPjW}w|N#s;^E z>*Y4Vc|pr847o`Vo)QxKd=^tP(1||H;WRL)e6?w-8k0wKjy-8cIK|DvIAxtvp_9k) z9!wyo!&K9GhDhxX%hl13 z@e1th$9Tro)ek@7THTL%fa`8cJOZ=oY!rbtX#J=LC*1(Me9)~%D%r`AC7@+P%iSSW zrib821(-$y1W)=r^_tt7Adv-wL>X(thD6Zny3?g+4U%T84SyeL%sn_zrAitRvBro> zbE#%+KHW_<`>eDE|3<}W1|pQNc8nEPYNO^fz#MxU{&!I)+F6EnX3z<}k?F|Gz?Z#| z8Az3dly`@sKNaH~pvX)nFwf^RXM;{M=P=E*LEJzD^i9%?b8#`wJ8KW;qu)Nb!4fcU=A;Oj2RJE$h?`s-T6b|4Uxm+O zo|i!Y^c_ZkX6y$s(Fs1E8o?0Ij9ZvAfl*dh={6Q3QLcH6W?av58;fw6@~X^Cx3L)D zgl3}ic~V$&VmytSXZd*A9t;4dYAogK3oPJ>ECaGwMW45Tmt$ernZqP?)~?-yapl~@ zX#+i?StZt*7?hewm{Nv?Y8Q%Xv4Z=BJC=1B7jV7#O0a-LKE#ZXdk~(TwbQt(G&O>r z#tLEsM6|lvnHF$F;5g_K6oJ2xHkY%ZQhuQrXjO_{%cHB0y$Zo>BFos*CTy7B8SHsXl$D`#%9pU z4_jl5$1^4rVW0$y+Ql&6V8hBZchN3ujk1TZr`FOtjw&1SdR=rc^rBCL4&!1NqV8g^ zNitfOIR^VmIM-q{DwdoiBbT6riHM+GuI^$NJB$s?L5tu`OVdU$%Id~pLvblmm|_kq z!((&+8=IKGN4(>RAwA{AlYS03uxOO!4|Ny!m}VeGm8?k{DEe>g4kFBXHks!>o4{8t zAnOW34sTeB;TK(pSf^m%V2EgjGnSsQ++MQf`H}p@+aSqSWx_$&(=kP+gNyElY@$O=txdnoUgHF-p zeOEiog}1Wln9OxmE-mQVGaYi1rc|9Z@4dn9*Y==) zORf7PS72%29NulzWiC>%TCnc?zHlsk`;^r`bJbl#A&1RCFXvxnLt`7z6fLs>CE<7x zF)}PM%|eDL>afPUEqImys&M%4! zg!mwKjjctlm`5C=e}HS1^!;e$BCLdQDbwn=sJq4@6+w-fTirDdX=4wJiD33? z6hrqokPSdl5EoF9@O@W^sM2j;~yXucByeq0&aMu~nXC<%+vmirIV> ze$+e&%{g94z_Vo>68marX0Asl#N_66yO28*EAlLe8=FeGn=^-4R+U9&Y}oh+GOd7_ z*SZ;*b5IVKxm^5eNEp|!j;Q%5wt)k4p_b=I*^8Is@T6gtYUJM_czDwA%%@Sy;YlOF zIUt;onJ+OXaxE)b*ml7}g-?d~l;gX7MzkS1ygAJp3UuNqq6wJzH{$vb7KsUM z*-SFsh1G*-5ght3iceV6MsLHZJmn@VUDL7%*K#=5;{#rp;=P4@RLsM5V-J^k{eb^e zrV|zguKh#!qPXnA?!z^MuLEBgDYurk;EEWYUUl+b?1Ci;o zTBVWCbAw-_7lf|$a(cZx9xyInqw=6QFQX|&11)Gz5PBt2T_T%msxdWD;1 z%7s26I^PQX4I0jJ-{ALQ4`T#18XCO8@298fm{+5j%1eqyN*T+%?fRQ9L~jyvmW5c) zZ78Kt+IO;2qqEDIGug|MKZc}6J6)W+w1VktqM=9RUn^(MU(gDTrm3v+Pondb&_{&c z2l=7&vx>K%^EuyLN*9fh_I}aLn)fJ7y+TK$-VmKHb_RrAFD+^k$t|$QPh0%Qyg2^{ z*z(DKF1s$sbexarT<9N3R|PWuk+iOyt*Z3T3uyEoPR@Np=quh6!7=nkMF;G80rDC> zQn|ZqJpJ5xqFke&5KF!)ZFGoL)5IH}(ROpU(#_JDJW>_(?`7J9%3?|HMUWp7V5H*S zAR{AWp$bw^=3A}@m5mq`L!?|?1?PEf^jSeZj3p%;ptpjYhaMEkNBxW{Xp-oBKx**Q zWV#!*SEC${vU)+6+Gv`TTOj2EG+og3We+O%Lvp5NnOGg5S(105NCs)1 zB6$p2j?-}3Eq&Ak$&ECEu8_Qg9?q))a-cW2!qffep}nMr12hg}VKGglD+T?nl2L@N z5p*NM*J9jL9@}boEH}~ zhwdpUcP`FzF-h#cHHa_&EK)D%T<1l|tDdmXQ%z2(l= zokQuBfa#h^*DL+5q4aV3Fz7HcQTxOY+jG8c)d6t6;yfUdH$bL^Zgs5+qXTHK=fcnt z*m;qSHiaGliV3=E_;kO5xu3O==eppzK>I92-r(0Gyj3ay)z3B4LMK*G(FS~qn&_=&2|C6hNUa^qpEbUE~pC*pyayNPA zXzv201l>Yk^EtIj%Gqdy7SICpSsS%f4%0&P533w)&_)48Cy18ebNs`!YPvwsuaz%( zCju?EkvACChSJqGn&F(G4Wn1Aau}0$4XcZKM0)zZ&|ijgB}O zJuJxbXAM0j=q9PXhMut{KNeiC)X-e)Wr^~V3k#@OtD%kpQV>b6wvcCN*(z-;-Dsoz z`4`MefpC?`HLF{R5#2zdn_R?g^ z+Opri{Wkht`7ofH1X*pEOm`Ge09pND1Fl24@db3V zHkGE@h-+`4c{bwOr%{U_tM+NMMv$d*8f~y8S?4rL7SPSwblPqs);WXr*@$({q#FfU zI%m>BLF~c1koTPe;?=cRy6GxBNceYcHa%sd^3Yw{9J*Gz=_;CwaWA)p2V#A^z#AeHw6?xxjz@s^V<3JW&tU*fRy@tj|G5y1@yeuL{$Z(;GycM0tx_4 zETHGLW|~q!3N4~@3Mc?Hzkr_C7SqxKQm`Xw9e~yqPyl(G3g~%lDJ2U?!E@Yg1rz|f zynvq9TIk9GQs@FYP(T5oTMOuU?L%~D0V&uI-CIBbpwAW1^V$mfY5^&DQt_<;=(_{Z za|IND_U2@fC6+Od2pyC;=Jdz)ig}dRi1k)f1bN;wu(@X)*+XDy;r%C%Tu*HWh-o&kT< z*3q2>q|hbwq=h^;poUB62R8bHw^zA@UbN8!*Lt9nHX14Dw-$oVw@_{oAIK!mm%BI7 z!2(h!K}Rj*VVwzj)<(ZYO+c)?>yc=nob`eM8&{nuzmaJ`yEq zg@vRINm^qgt}jU&ZNye5Nzdo`$Gel%VqWw&a`sbAfKLQ7**j6N0Sx zvX$-|Q10`BuB0Orb#JAw+Gre2ccYO#%`+mfrP#k~z>6uQsLbP-PGrBt=~2Q)q@Te)XW zJ4z(;+Ww)iwi7tLtMsgEVA?@@p;Mt>`kB5ixlK-%WO)a6m3euEo)g=qmT~SK<(!Lc zHA)?XyhT-du9DLqtzi1WIxTHh+4pPjf0cis*i#7$6|!iJcyhJ0i>XRiODinSQAvME zZ2muyF7?c_VpVA^e+jake+dQx3aygdgJS1Kv9kr#L2toACw*TmbfYb*a2&J_KF1Sx zP`pngtv++ELY6kx;}AVg@<5x5ZW7OMTBT1)`j?`Ismg}o-w(t>i(f0fydNBue7Gx6 zkM}7W_)Lv6IPcqope~&JIE~qa`zMW{0h%MUNob4E3x%#18WWlniunNfouJjw%Gz!M zRp>bAD0)rOio{Pv;^qhiae*d-DzptWK=*@A!5NY{J0L^<8;Z3g|luN9Qf2VYZO zsOZE_IqU63x<1&4lPH&ZTxkq`8f{~ldMQ;er6vlk7nvC}JM>4IK`;CMO5amDoo^wn zsERU9c~q+eeLPqVy2UpE`|Ca4xylUDHbct(NO{V+QfXACs%^?OvI9A;{5h~uIi+lK z#g$j3Ew9dhXdJ|siRTT9rnu4c6EYlADT!rg;2x)F8RhUtf(-NH!;XN~ftGmLfRY3DehXVWfv+Z)Bb(x;tK+*A6DJBoARL!cAr7-$`x z0G&=FJyGmz8$p|CKIn(23$%@%2EBxigT`^6G>UbTsYw&P3q*fhG=~+|zd&e{!nJRb zbWGAYN$-`kqKa)on}pt@K0$x*KBgX^g!c(apA!Ddl6E*acY@G~j$5F)S<-Q#dmXIp zN=e@%^a-Ia3k^FtccPO^Es%7xleKM<^j@J?3g>P~-y`&Kp{IntB4rhq*etY3XtU6m z(74dOLa!8hx6pfpJ}&eLp{IntEL71%r_d&$zYzM0o2?~}SnlC;Lg*2pj|u-3Nl)}j zuFxYw!@h6O{oX}B=I;~w9p7i@4ezE()i^-<7^gj$?8g3MX& zWcp#D8v}PBU0TYLFRQ#4{CE6p&%V&5Zf+I!J6QW1_&TwEs%V2796zXv)_Fm>eJV{r zj*7EuCFlaQQpIVi3Un7$gYLl{GnH~!DOK8!`Kr=YxF@R8M{th?yAx8CB_4JY!MO7mc8|VU}Z0M(2Qj95thyayFg z=~?F_w6IdlcufW=?F6LGhC;5){n zoSoR04CWcw6%6Jb!;WJxZyxp*gL!XZ=QEgRo_-R7oxm=X&`vzD!6-W$-w3{w z@x|MY@KqJo@G5w#ia0(_#j^tbRA8UL*J}G}+SmQ|^(I`)(JM>oo3xQeD@$pCG6eVm z8lrxeu2!F>2h|5~eGcDaf=4@EqE^Sxk^UX-hVMuv5wilutC*+}*Eq}Rq$ zeY$CLZ4(+#GXb3WeK3Yv7N`4q^h~TXrEhAaCUa*xzTAk%QVinRq>)AG8=0P1wpmZ5MBnadbY4q(yRlVYp=Y~|#Qa1@$8@XG>C~lXJJz%> znayse^Hvy%zLY*6pq1KonpwRk+R}=x%64{6M+Ys9^>yjd=C7g*$KfoE!0t= z-qx$fscCao&q&HH4d148vEGa>)zf+=87DKF(PKR=32M*mY)T}k>9SZdyC!YMHtVhF zW}~M!rDyeoSk__|@k;%&rG3c+o!6F)#kaO+VsU-`){c&a0C+;XB&ny6w>XnAGAne` zjCGwMcV(>S4BREjlz!%%HuT&X3bdF@V#yRLJ-z;BtH;;{$<4`lj7P%hQth#>rmn7x z-t|8Dc`b209m^z*(-q_evU>07nX7d?v&K+9%{eP#JKi@BCY_-KT!RihbKa^Leqn;1 z%ABEGJAPSldi})_dwQPTBDQbmX}O!FbDPo$Oqk+0Ce)7MECZ!DCNRA6!-JYJ(6V|< z8mx3&r*)ZR7IQ!bhmvq+Y&`pfuSSoqBo@nRkPY5B4 z)7z67Bi)0^x)wbq>|%hR77lWTDeTpK>1?t`Z{OLgFN>uUR(VECGDeTh;YrCOQjE+G zPcp$R090B?Z?*?8#U+wS$ut+YC!t*>B1%tZGL4o4BFDw2|zBPnjiB0ZjhN77xwNen=oFB*vFOF&^1j3Y-gL zrcPE@B1^^=<>#@EP}tbfA%4q8L^jC|iIN-~J)=!o%+$_4mNHGfr!%z^6~)-BVh#sD z^lwI@Cpslj%qpbTaJVZVTBLXOb#?J*EAm$MrBVYq`6}C!*;2vN#zs*`Yo}>&Y%X#z z1Q7uA#4^L!TI9CJGU&A>93Cz+G9?+7VR~j+GLg{J#R7|WWc9R(P+4TZzy7BS|G znJsB+sY7Ng^}bT**3HSTzKjIh(`#6yoAFGtmm_sCb6|vCsCUPy{|EVc1$v0y%<+34MwNp^LYWJ#oL%4A|Y&m`W{ z8%vjD*pr>@K;4~Kr?MrvJey>KN;I)j@%%=C7v!ZnA{Z8XjtEv_y9E*N5CW4~EA%0m z(08QunDn$b9XBMw6&Kb`O6FJ4d~JqV8NH}S1Q+E)hq-Vk_NWLnh!H(TCJ(GVj#S)&U6goR5|(m!I@tr~^z{&j z{R`TRG{sE0a8vTjd+9EM%mIkS1`bm0fP6HYMHD8Lc)hYeOHeNSfF? z#=95qi0d*ZY|#?DHQAewrA2Nsjm=#VV)PV2Q>F`h<#Y+>16_Q93F~D)$Mf5cy>_yv zQ_o1!-pEK=)&pLc1Yu^yv3ko&B@BCiYKMP2Am>r3yYoCVpO8aIe*3T@)|(IP*ml`! zI8~~G@x{sBynmM`)7z*uL$ZyqP6<2??d7B|nM&vxEF9U6j!ql245~AY$euw&-yG{p zWzU$$3S|ooxutqGpKNLF!1&WTHw{S(E2!|v<2_?1(qNXX8TBWBs*cG@jYgNZ)Tn33fW+h$Ri&IZwTQ2=qP&24GQjGU@ zQX3kFL#qX4bfNlUP~zxaf;tj~aK%+D+?g#^B4OUL5D_Kc7D;v?%2;c>z(TM$X<<^D zx+KLV5P3|(qHkg>&*?vcngJ(f(HoZgCWe&-|t#WSXK zU}#PRmFj=wb0 z-DFS}*ABchkmR?zC!HyO3hr|@;62YM^`aEsLLK+7G}6WvNNz{HDdwsC5Q1q#;Rc>(iF7PyK(D$7l|J4ZabgcVZ3e(85i3^34-y#Sf||p_s-rx0m@YP6u;8(yBu%)S4QU z^f=r~jVG+CRTQXF)G??`RjQ~;@wpwS(0K1M0?6?2_#D6e4ILIIx} z(pFhFCql6rGzq4n8C9^-MM_O528+R}Qe18{?N;2g4(4uhHzuMz6E{P-r=Y9;H+-KqFN??wT*hLH~n zk-C?)%GK`;lZaRhh`Opnx`JowP&>ND%fMnV4XuJlL%D}Txd%eIFS-eR7u@TDF`>O) z*gD!J9Xgsju_m-P=mjg3I~v?u9SCr}I$SEXO0$szKkglku0P77p=LN-h&pmdEh~{z zMd)O!ve0s_dR28W_hoJlIne4FHl7)5ykx)#54;ZNzG4$Uh+?de&hPQ?9P@{A*ZAF7oOkcTN| zD<jB^aZ{k{fO33lCL>xYH0p1cU3Tf$?)&mBYu^3MN1waxvdedU zz3Rcmzipp7{<+-uzcOpK@zI~{`25X%t?!IJe_qeTr|$gglXq`9r93hB4`=`K<~Lo> zto!Sy5BP3=d)7vC)?ZsIchsIg^VUgcZ}`@q?s(vZU;XgsWmPxyU9<4%-+yuF)=w|n z`Skc5cbjj{n{!q3_b1M7{ods3#|*vVW|#p36((#Qj|+)V8Um13!xO9|E~xmmv=$uV z5iWv)Qw!y8XL5+iK@EJ2K!+A;U_BhPe8Lhovv{s?=^XcEehfOa(SD~E%w5amCX^nI zZy&hO57(=js%j7j<&Jo{sEjCvpA}6!9wEP+Ip3_b1@hhQ;V{7MDGMuOFT`-;H20lf zL!cUiIKv~N#z$(6Wv{>79)N7TzYITXu=zD!L|!WmmxVm&Xh`5WUOu*YI9hvxL-1Tm z@t_=%ArC?Y1kmavCNDy!H|z*)3-x)>G?e$0haH&Ax5Iz%o(rQece~I-LJwm75znzK zhb{~)ghbTafJdg1M@PghOb` zZJ3le;!*Itl0Rd3%C)OQ*JWb8D~)vF{sN8|*lH_~<4J($;|dLru3X&Sj62dzy}kAJ zJ*9cuXGa^Lz(1sLXVQN5$fqa|mk2{*C|+u5?>73d7hi{)mu9#n9mg&S?>o71Lr;(4 z7BJ!ePMT1-PZ$37{o&IJgr_w$&L)a0bgA{UEQ~wvd^R-0xMdl(?n8y;NFKHYcyk<1 z^3yNAS0Z)yeCu{em=8PX=rI0&vxMH8(Q&5I6ZK&@44o40!xs|y69mNY*at@~^c_aV0vQ=D z9zhJ{nL4vR^P4rpCXWBs+8h6|z3o{2f$pn^{dnfPx3`U(^Sy5y^rhZge|Y)sy4GhV zj5vD1hWlDCUOemMPk;K7cEL)2_0D(Rd)vF~!oPp^lF{47P5a}#im7XsJbYX0lB;f? zyYBw8+W)!##a)kHv;Ccl=CP^Frw(m-{efR~)Gm1OhInS*U%&BmBc1^xWoJ zwxO+O^f6Latm4u85qwvr@LkC{)`#Oe{~q*ge1D9*AD85@guD#E3H!6UZBd)|fw%T- zI`LG?wa3=3IrjR;wy}=pxf|A)I3I85>D9OPWzsu0n7E}K*EeLilQ&2=TC}7aHw^B< z4Myjd4fagfkk+%9GN;KzdlQ}1wybH|IWx(&eBbb!Jg2wF2ir>M`S(>3Wp!jb)2#hJK+zjv?8lOA&WryJ^dKYl}m8MQCTi8@Q!Je+^+al9|c3XclaHxb2=tZ0lHr+7Zvu9MR-A8W&dH1PRa$FVmI9X+^mJM;AwTXZJ9d^Wd^ z%cdNkyP+uy4j*Ijiz3)lw17|Th~)Sz!nvaMr(Nzcu;r|89onD4 zdx_jK_I{kt^SC<@gpRx~7onteA0mm`^XGonRqBIMzeVMZCGlr-L*Cy5 Uo2>tjqJ7@`i~LW{|Gysi-|U_ziU0rr literal 20480 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 I|6K(BFKP%utpET3 diff --git a/_testdata/Sample/gauge_bin/IntegrationTestSample.deps.json b/_testdata/Sample/gauge_bin/IntegrationTestSample.deps.json index 6d92b42..348e61a 100644 --- a/_testdata/Sample/gauge_bin/IntegrationTestSample.deps.json +++ b/_testdata/Sample/gauge_bin/IntegrationTestSample.deps.json @@ -1,24 +1,24 @@ { "runtimeTarget": { - "name": ".NETCoreApp,Version=v3.0", + "name": ".NETCoreApp,Version=v8.0", "signature": "" }, "compilationOptions": {}, "targets": { - ".NETCoreApp,Version=v3.0": { + ".NETCoreApp,Version=v8.0": { "IntegrationTestSample/1.0.0": { "dependencies": { - "Gauge.CSharp.Lib": "0.7.6" + "Gauge.CSharp.Lib": "0.11.1" }, "runtime": { "IntegrationTestSample.dll": {} } }, - "Gauge.CSharp.Lib/0.7.6": { + "Gauge.CSharp.Lib/0.11.1": { "runtime": { - "lib/netstandard2.0/Gauge.CSharp.Lib.dll": { - "assemblyVersion": "0.7.6.0", - "fileVersion": "0.7.6.0" + "lib/net8.0/Gauge.CSharp.Lib.dll": { + "assemblyVersion": "0.11.1.0", + "fileVersion": "0.11.1.0" } } } @@ -30,12 +30,12 @@ "serviceable": false, "sha512": "" }, - "Gauge.CSharp.Lib/0.7.6": { + "Gauge.CSharp.Lib/0.11.1": { "type": "package", "serviceable": true, - "sha512": "sha512-VPkNe57TqAXTxA0+UHe35+cpJT2DkqWt1hmWi3eOxTJZy3widdC8GIhRERM34V5G5mQrfM2z4+AvPAbj0nv0+A==", - "path": "gauge.csharp.lib/0.7.6", - "hashPath": "gauge.csharp.lib.0.7.6.nupkg.sha512" + "sha512": "sha512-QEgfnNnhgPkW+BuXcz4bKN4DsjFWEepIN7gcIs68/STVlejB6LaMYDmrDFdakSVV6G21xWz4U8egSurZsN4RaA==", + "path": "gauge.csharp.lib/0.11.1", + "hashPath": "gauge.csharp.lib.0.11.1.nupkg.sha512" } } } \ No newline at end of file diff --git a/_testdata/Sample/gauge_bin/IntegrationTestSample.dll b/_testdata/Sample/gauge_bin/IntegrationTestSample.dll index cb96ec35aabf2d2cf72a8c6f10ae1be3532c54c5..d3e34e713da30c368193666e16750c4265f29c3c 100644 GIT binary patch literal 9216 zcmeHMYiu0Xbv}1@c1W(QHAR}VqUTT)Wm>e>r1%i!$}%aEl2*|xTuQPW#?g@dL) zTp^MBojbF;!-pg|zltK4oHOTj&pqed$DExx@Yo+wn20o7@4rvcD0q7?2XSou z>oIz*?uRYk68nGHGB%ZUjG}F2Y%_19%|gL)jg&O(Qo+a;jNwB`BX3R0`10k^jlSu_ zBSiZ}n6|w4&gJrG*Jy*WOmq^h0Y~?^k3EFDfolL4QN6-Lp5M%1|5cj<1fN@&PCU=5 z{9nEMB(u;WuzQG+0ivICA{Mq2M0bIwZ6_LAD7zhP5Y-0cwV?L~=(sD-xS&t00)R}# z>iZ2!H3Qu?PcfW@RBPMPxappox&e{X0?;ayZh~9Db$kUhS3kO{)J^viBeY2jl2ZK2B^}Z@-U4_B8Y1 z%B}f?_#*T;;tL@@TKOWp#{jc6DxP~c&0gEvmO~R*oW8j8o2MnDYrnAfHk6(Vt>C8&QTA=99UL^4Yqa15=2ZEyu!=U@X|s$$h(ozgv0lpYDlw#=ASayKr9NbfX;LO3Zxg zEYUgKuOWigq-$pj8HY6{?Y7f&Ls4(z+{WrC1pai4@1~ z4b|4cb-E$Csafqq!gNp!7qc;a>d1vzLZ%6`q>e4DQ{^ev3?UM>h1RLD9%7{9;VTiH zzN_F1p^K5b>AO(X>3g9YVV%Ab&S^SrQ1D+ujQ?7}8O8a!!Ut7fOCQyuv?G)ZMQN{s zO%cWo1uy7~Us5n37#~ycJ&o}irPHS1=S7c*(XZ%n5v3pLJwm5Kh&}uTjbijwf=AI{ zU#C`WwXV}YYRowhVa?Ag&9{{1r{GlseOu}O7}6+>C~NmXU#CX!o9VLH49owFu{alP z3VQQePj~5WiC$!m|LW6l%g^cl7W8pRP<&0;29Tzg3>tuLiFEQ;q&o76H9Zp zf*-;PW$91QSCFaTdBvG8T}Ch9Tss#Lc!cnZ`4C`~?gy;LImmFkf`bYs6#R&S#}zaI z1$`V)rx^vGQ}6`^FDm$11^-mRFDv*>1^-gP?*P`*b%p;=h0{bI66YeT>3+Z#$|`=B zxFI$X!w&j8x*mBLcwcA}X6#(#!*ma=){cRHR5x*6FlVFUY!@@)3=Ikyc@`%=^M&}O z_9uYt+7(KODg7_#C$vxdE9z0w1n{#^b%kzT>Y6+a0$K&N2m1UZ0n^c3LBbQbVU`a{60 z^liXv^l8BB^kX`&{j1`TcnKUKm=hMPV~ERu1L7-ybK+Gx7&@!?F9ZKf=(57!1pY?o zs=}`U|F;l@UZuM50N_L66M$#JbAT7aF9W_FeiQH-;8obX2E0+D@DHd@Gs3UZN40C( zKhc~<5r$joJbjg7VuU_IPhkFEq^tA}X>+{Vg6%Dkc!XD4gLubRSXR+ojb|1s%-7qB zHM@}a+7f!3`O%DXC`>iDYH`)!8G)x9=19ZZ&}ccX7_N`e&&Z^xH~x;D>4}NqtW(UH zGebGkae5{?X~)j(6BE6R3_3G~^vD@mbhB1rXUgX;?6ZwkN2NJAW~OqI)f9cwOuH7B zD+@(zzGtF~`z)=agq{=7TEYo%S-j0N5*U~{yGw=ii7rZv6iRt%vrC``(;Nbj{aMGw zEiiP_oJm@F=}y5_zxP(pNH-5dI}TWrCBy~d5Hh#NEM;VTC^==?#rXbg3hXrPk|!-& zCW|sngC|{SD=azVxH2CfvT`}8hIit7WI@{5G##_Et~?+e$IM8|`}crPm6TC63UWCX zs#q;J7RW%Sq?s>*lPI_nKjS&xG3mHI*Y7r3D!AFa^c>iqEl3)&z$ujEp~7x6n=9Fp z1~VC3W=vO7LAq(gg`d2z%#0nKJ0~WT^W~6B2*i(Bp$pR!A9PW(rb^Hnvhu}jPTDF7 zur^s04a-z1li~QPyo04&Za!zwab!M~n;FZxLB%oC&PaDR-dxCO%RW`LP}bj#QIAU7 zK}Hq}69r6NUZu;--BJr#I+@LsytG!0Ap1%4q;zLSu|k|G-wRb49hEurjKTu)vS){F ztgW5G)$Bi98-cJnL zZP_DcdWyzO=M)_?v+iInxAfAAPeQUsx#cXX{S7Ld8W#n2)Q|(O-qNot%I4vF$GfXKmTL_g=w*JrF`KaHitv$0M1i%EbC4U z=CY;(8IJjMi4TpvmUXH!Eam|RJFLffAyn9bGtC>ZnhiCmdJ>FU(+<*Yy1baM!{|`z z2^@r!l)M74vQ9~_TM|k1=LGAXmw=b~GO_54<8v)|^7*?3Cb5VxEMf8R^N_m6XbN?c zLxvAcU=B|4JQeW^TY^fHMFnz!p8=%Cr>K*jL5*afD(M2&LiAt)6!&4sJxZ|Qq91d( zUmCCoPFC5X#O?GQ=-SXUF@Bbw#69JEvV^6(J#U`&eWA6OL-dyTE5L^-jOS7uV;3kx zw0<`%+R8VBMi%?kl0-i*-br}Aga%UfM#HZ5tzY}x;MX4io7b;D^Y0nb3?XX628jre z6)TvGF}l`+5oSa*0vF|nh^<)@tqC<4O$}MmkgqX_kyxaup~SsHV$Dk6;MAcPGaISa z(`m@-OsgAr)hQ%mYuDhXooJYQL9Y>O8|I#?ZEBdi2>Q9@#IQ`&K#9dXa=$k+e2Kvq zI2Vi6K<~?;SZq~&CR-tmNsngLB(5n%=%pVrCGJbGmYzPnQ!D8_N z|2Tj6bblOg$Hrp!R346gt;fefE%z{>u}V%uE4{1J5viYua{ zPxkfnZQmyQ`+Fv3m+VS)_V-G;{bZ`UyQ^Pz_HOGldppxz+wdZZT}=oY4s2&*&`5hv zIs->!(U_jfrl$-%%^gFk^GHtOGX&RGhCD6p8N(@`(zH>~`k*D$Z;pX~({OP*D04)c z1hoW}x(qx8jU9X_?KE7AF>5C+vbCfVGT9Nd#RsV2!jj?QBvS+P@nh^zbsDTE{V4QJ=SujfTo`gtS`4P(RqKt~75qw?-weU-L%bm0^&ZL?sE)?-~ zLeSbumx58L7c1*iWi*88j;SO~<1vF-Ipf~NcHlFf_aUb#aLjUPb{o$-88o+{aenQ_M|*=ad$%cA9sXZUA<2e(XGE-L5o z30{bkrfZISHTbxddSYDdrg4a|@y3_jb@Ae4ijsQ=xAyjt@5o=59pPZJe|!B4XTR{t z_V4{@^Y3r*KLT+8dl)wuTinVYi#*8$&WYh%?tqysP~PDRU#cR`@ArNi%q&dHVw=C? z{2$5yzhB1p0;0M3PI+&labhpxv)*1@j}8!Bz_X~_E`)o49;GBr0FKZoumrxe9t52L z-0gjJr8l&9Z+g3ncLz7`{)k85O@rF4KIPqpaTBm=qDtXfg)6WGYL}C!W4LWpy~ZFl zReh7gy;4;vjc;iGfsKy0%iwbr#dXhOOW#*Iov7rzzaG?B$N}xgn`?o0QCztd)fh8~ zh$}msYG~{WSArSkL3!jcaJb$}Dow9$|FBpv_J^_p3IK!X{U9 zepLxuU8wasD;N8)3i@TQZFtXBWi_I*gDEeozl{&xJROE@3x1VQv$}z(KG-~cf*wRX^KC86Y&EYP z)Q8CX@D{WW?|iob@5f&cypYH~U%Zm~@x_E|@aX-1^U>4%! z`WKV*y(K^H_`W#!+KS4FqeuRqBYScNlD_o=;XvDQN3MQ&pZ4sc3q|&o#&NSP6L;k5C)yt&CAyOH zii>^IC{Ew$B-*o*NJ#F72MOA;=>G<-Yc&x>yU2s>N>|$=)L!!XAk$-A$O?4l({QJ? zN2g&tVPl1l`C%l;&|M&jhro&%4>DYN#kc_+A9+f+YuS|UuES$#lOZLBzn&!~OSW9a zvuEb|A{}cxkMxR7tMq3!t&Tm@)gjw&C+`59_CXmB+)q9dXmo90kvGkJbaiz;;)&D! zhzG;9g4)i*W7t0zM-ZE~t=@bNqaC|qY=#N8o7gnVk}fQs1Y9_WwGmajv7yG2P%U9} zZIXT>)JXnx&fiUF(8wRAEAq$in)!p3#q(EBWF1lc)h3-L2S=CjBz$5}#_n#L^aMaIp0C7d){(PqmQP4Bvy1Ewu$4Krz5h)3AS zxuB)+4ar?W-bFM{Y$c;%Fzq8_#w_Q)!Nf3Mt`8@O<)SvWyXN#C37+R_BX&;g!q}U@ zjf`|xBX*WVW5?pn-ML?=mC5V;%#L(Vy053NSFYhW6~X%qnsuHd`VF2x#4PB{1)ftb z_z=g4^!D;_AM8AEPj(Qp-+>-P#GU(#?gT62LYl?#)mrlsB$M6~eY8rh zJHpt=eFhQ9IhDc_W(ldLjksZk(7ohgzDgXnaQ#weJ;X?x^)JQ^IxFFs=nY*r40<+Zp!a`_nSh@+Oh|XeS^uYG z#8UJE^bL9kc!K^O`~+>2)>^?|MPCys*nAVc81y6E;Iz;tnSgK@!BK1m%@)E|&1LH8=E8F>+OLQzAoBWO%fMIZC#{2UJt}P)v^1pXo3LWg^@@5L?F`zl zs7K*TGaXUXDM=L+MTotbW)=0kl)a;*c{nSl6nO5ZXE4)De7+|HK3?h;Y$nM9ch=M6H0a`A_{ksyRdI* z^d@GmpeX(=u{h@?=nG0is?k2Fla-t|U_qnjB>rcTAJusYN8iJ=go<&2V}R$<^?(V? z|6;ratAych2{RIACA?e0dnI%L4LU91jD!zM_&Et5lkf=%pO)}hz!rK<;{R6XTt}9~ zSBT$=8;GGve@m~$w*%j%-GI?5#xt~%Ue^zSzt{LU);V)FN=}EUiVEE%4#lVGX32kx zUWt8?-l8}4uhJ`YMgJDWFPkj#?8%o7E(J(#i)emj?4iY<|aBFSl7-M+!qHptXn-;IjCZ&`6|X<_uTM z`SD)L4wb7V+hdnNW%3*Xkb{mN;1TIMXU*i?k{wLJRn>ZXXrzz3p*@G($tvQ)xE`>o z1v@>Eo3gx0`k*tx`J?^zN!PP;6+2IvlY#9?EH~o^b}2pJ7K^s*+D{*_%eLp_>A2?v z_95H%t%6M@^^EvaPZu>Jpn&6`y4AApf{ZlES)~d%*>Ygxr!mJmYWsoWs%9hAa^RHg z(1C+a*`@&(oO0DZQXaOPV%4)LQz&?L!3u0D+d&?2;b$Z)Gei1ai?)gwRJanIpP6(f zKv_6Zh1P&usyId4lkvmQWJ5G)PgDy94z0n<_`Y45D9(&JL6kjec?CNd#?O9x+VxH? z)E`D4$866>=nI9}GRCMR^I{dRs)cl%bPClle+?sH0J8CjU9`?h%x}nR9v}5EQS!k; z0UNN&GYx?n3CRzf38&};QE6jYMCWF0^i|`u3Ins2!V;W@U2n+BPtmC5pQ7WI6J(0T z#ivAi5|RUUFks^uP7fHdD_NdJCA%ER80Ytx!~C_1&I5CW_DMCxX`t!{ZmF(?VI4Y~ z4>u1Qo$}o2Yl!YC`!(xx+J!b7b~4c|iI5Ab8|7Kg15FNt=_$81S@U+;@*G#q*BYhP zEuvNe#?(^5>Nu^kn#+5(UG}HkKrR4}vMS8^{1Ll=y~XyfB2M#eNa?(MsBQ)wt5A0R zz{&fyo@=99TQ!L8jFY#03fBro8`}{`x!}|;0t!Rv7OSQ5VXP0I@)4Ye^|%vEWr~jF zLx$}yz7LZyWq#k+*)r^VCp%+*OQFj&;w_(UFs<08D9do!{9=vPM$?ZS8`;rSvONZIslr(UnV_wL|hzuR~I@zx)ZpB1UoO9?>XtN;=B+Y`2gXUQb1KA|O(Yg#l7=+j~y zcZdgkf?yr36R`y3&~x-;GP$ZnfLT{@bZFpDPsqrUh^z_zr)E|>q&JCV^M!q5pI-6P z#BI&{{_4BpsdsiJ4e54LH&X4*K&4F(H!~r9=J1m;VX1pLZ7EAf;Rh}{M^=+DlTxRf z1*$Q=)^S-ks;xTiS(U?XxxTl_Ez%dzYZ9!tQ&3y_@X+W0j^RwDa|?%)rvufUfCYEJGsD`+sX{>+T2mY#|I ztzu43Ir%9Qr?GF^ax<|f@eZDgAk#i$do!kA+hS>>p!HEpD6)JL|CSkG)k||kn+0`5 zm3mDad*&YAQTCdF%b2?tFMj6PT2u*%*&4OQyPp}rk{Mtdk{xroVeXLy6|CMa=+-|z zzBWOvi~520j-6R_j4jHv%4T)W>4vn`jzxZ5W7ZYT=ouK*+Ae6@2Wg?7NjXql(GhJB zw6@-)Y}O0A`gD^S)iB&inWSl)5g3)T!N=GRe8x#{;jJF0{R6Ye(-qfWocY295{Hhm z)rWBJ!MBe+{EbCjJh@tN--!DMko_PcV-@)sg%Nd);Y^_QK z>!^FtrIM~pPEhWS%=VqTsMde0>K`%o9RA#YzPjn(PrPuv>EfR^tM41^@&?9D#ui?+ z?;xRM42ycOSUhAoWh(hxXxp+TW9j>wU}JtN78?9N$>Fz^A@ulrB=q%uH_|=X6A$Ivn_$!=e4qxGOUr6Bh zFu%i@dkumVuxjC?<@1)Sh%C_WAYJP=#;-D S?TGA?AAuMD-{nV?f&T@H+9|gH diff --git a/_testdata/Sample/gauge_bin/IntegrationTestSample.pdb b/_testdata/Sample/gauge_bin/IntegrationTestSample.pdb index fa95a68b1fa86e141db61cde35b7f1262f25148d..047994c8a63b6bce076ed3b5acd1854d25d5823c 100644 GIT binary patch literal 13200 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ð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 + - net6.0 + net8.0 - + diff --git a/_testdata/SampleDllReference/Properties/PublishProfiles/FolderProfile.pubxml b/_testdata/SampleDllReference/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 0000000..d04ae58 --- /dev/null +++ b/_testdata/SampleDllReference/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,13 @@ + + + + + Debug + Any CPU + gauge_bin + FileSystem + <_TargetId>Folder + + \ No newline at end of file diff --git a/_testdata/SampleDllReference/gauge_bin/FluentAssertions.Core.dll b/_testdata/SampleDllReference/gauge_bin/FluentAssertions.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..66f9879001e4450b95e0deaf320c8f1b3b96adc2 GIT binary patch literal 288768 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 z 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 literal 0 HcmV?d00001 diff --git a/_testdata/SampleDllReference/gauge_bin/Gauge.CSharp.Lib.dll b/_testdata/SampleDllReference/gauge_bin/Gauge.CSharp.Lib.dll index c0dd492936d14ce9513624c1a797841c66a81c31..81ababe5081c820a5d1f13b180ed666b60753d61 100755 GIT binary patch literal 22528 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 Uo2>tjqJ7@`i~LW{|Gysi-|U_ziU0rr literal 20480 zcmeHvdwf*Ywg1}Z%qx@3s;TWv2|y>h*+t$kl>`)hCOqh8zEd+oj6R@-0k_g(9pc_e|h zzt891`_Hc@%sTtK*4k^Yz4r6$Im5;)ZX=zDT==~EF45z-^R-6kpC{uG2j_kzNRJjg zU-h`!@O)MGVB87~r_6y=bSM;yCX;45)N6!NBgs%a8EWb13JsZkMkEmMFK|qEwi0bn zI(>KPoo{DK`#H@E6{>ooHgJ44_v3xIhwvH4hp0r-n(a3;*nhd60tNs3FA?gs<3?8H zf4RE@nT4wrb~`vRPV{Ql2s51PFi{bb8)8J=8Qx!W4`p2!Z6EOZynKzd}SiA}K3{qHW*Ck?`P?ZwPP={zXzo!h|CGN{8`bTbJUKcda2>n+GL1iu&`# zCN*+XI6`!^k*GkpIr7ckOz3mG)1{Va;c_Cs7IwqcnmO8Dg|?}gr|DyoXwbrN%wtZ2 zPECVmO~*Zq{^zNIvGRJIARuU#+Io5!nH5l3q)n^w)GX8VFskqQBuvb%S>dR-%o(;Z z+wx2Xki*tu*n(=Q=C3I9l&SD6h&1yoP`ykuXXCy|pH{1Ufq(XU>pY%tB{)ARs3C>^ zqM=94olkzQ}KFjvunlPg4sVht&z{A#Ds9&=W@o`m{A*5@v;-eGAGbV{! z)r8!R_=-GJCO3Zg5|A33ZR^=w ztElmW=d-hO?0#1Bq=kt1t1B$j$zxV?dPZJ)W-dL>RYfnd`&kppK$cQ%uNQ0+P2<;1 zG_t?0Yyv9`R*fEBh?_rO;4xvye~t$RJvD8460??bJge6@fqH^=|6L9eunsb(ZGTJ=Ml33`>7unL1U0ZmUf6Y=0ONq(8g_ z#BVi#R$EJ%rV>y$F@pWo9`iih%w?Q5&j&rnTn_39UjUkoV9FV>`k0TsagAZPy7lKh(TkJK_5&T6SpScS6bG+ti+!p;(MuykC2;e6kYYlD)zumv*(d<=r|8Ce< z$gZ1cTYt^PHqgUsfoxW$&qS0Pv?qf+^=jocFs7yP3 zQ%D{YE#WEjc*89yXI}tT?3mkb2xA|Y#?9oJ=v&glF!qeI)b^5dPqTeoD^-%(hta5> znust=jHq05VyX?dF{5E$F|ukhMP&iHd~MA#TcU?i3L9a)Fv{WiT4wK>HXt|F#!s2sXezPV}N-ALh_p;Wlsz7mzKS(d5F>wkZ5#6ANcW)T1=t zt_>W!0V=!z*oVjcvhm%5xa%7QB*`ytW4G zrH4w;C>UUvU%41_3#2pO^I82Ir37bw$}aN2Q*(8&U?Zxlu_;~D0R({ zY}FOMBfP1o-M0t^Wn!&E;*{qQmwpB8SC6xVcL=p(^+?Uk=Bu7DcTvG!=2_dIc%;-N zmI_XJj&SBH*>y}%wdHP4se9Tf&vr1Z9_C^isP#L+UeW#TyYEhpw`X4jX7k*+mo0MM z>T#BY(OGI!A7}#q@H)4p$Al9rWdG$LdFx>T#Cvq)=-P0{c_5P=u$#W5$7I zY&EaKO(e3u)Lg7tJHZ)a%g*G0Nn!-%cvBbNl}YU8#DBRYfujHGt)AKYOnDRTZCa)W z>PNy-Pi#F|1DjfGPGt`xK2@ap%i1J0Bt^iTzk6SY z&h~2Vb$kc|WD6GH8atPH?y+-NZ`V{kI|L$ywalF}v30gl6S3~#mRV@?GA)zjmWfyg zS%m1Y`XtfaEW*@x8qqy0s>>J6(PbpoEK9XxVCpVeHL^CBVLjkUSXP28w?Fk>*41Q+ zn;SAsxMUCCh;@`p;7K5>{k_@F#Hb&so>8oYhoOC>dS=RijU&~wz`0sDXQhUi6Hajj z*LGdJR`HG*R}ntD8YA_QrS(gfU@ytD55@z%g>F56A0Arq4Avb)x+|TECkHIncoY#$ z>)>tfqABLxMpLw`_92_uY4KMx-SfG~^6 zTD%!|=n|ZiN8@d{W8IPGS7af$Bp=S}!G~pTd{7*&^L%!VJXGyjUFe|~g>Ln7`pfRx z!gAV<3?3@-yy5lG8t=D!9@^_+S}N&}OM1D`%|hQ6`n;QU5<*oVf%Hx8)rEcvse4tB zo}*{HWmKWo1U&Sro27evOh;S^pP$~OdzFU*LALNkV*d9P^IsGGi$YHbt@E<<9psJC z4^bi151JmFr!e)REDs$j;`IGe$`JH}G{5i})a6|%F)Y6MBt0hdWk2iB^6gL+^wFZ) z!U~#EP>X1M&EH>y_~R@HQ1O z(hzfnc5e*YC`bxLsNzg5wlMPYWu=84B0^3p#sNhNm7zFN)XGX|rhF7`V)R1G@4Rg3d3n(UpSkR5scn zXrCjC32Jj+=01dc{epHoRt5xx9nGr*-RxKy5@b2DVL>Y#E0!RigVJ<8>hL=Ujfm_H zrIitI5D%Vq=VRV8#IBHe^1_I;$Gwzv5h&4EQmOEFP2(L8#; zpicCYCY*tMm~#0R(t$iwLm$mUwRBe=s-sVkj=t1HgwJBSPY|Xqpn9}y&gK$&0Ddmi zzoRdq?-jnNdprsCvVQsaCGKB<-mRE+7W_i5qTYgEf?lcp4)g)-kDw=U>{Cu3D0I6@ z>A1fL>0^@C{3YOM?r9Tf6^$0TT~+j(q7dkhi)ukHDOw8pd+kEdF9p`RGNrfbZLZ75 zKU2^K{(h~^wT!ydC9Vp@u@jt^M1QSzCDLJS2WXj4n^Uec=S9WzEus1PtjX45LI;Ho z2~ENNCule5mHipds%1w4}!1gR##^TL8O~zzTxNbx?RxqzKY;|E=Bzg zst$ez$P{#wZ+l=NM)S2cq9a}fbc=(E1OLmV(eW&L%%#&;9CSiG>2lH69rU>Zg&FHb zL3dDb;3Pa;P(`>Hec$DyK?j{sue$tn+(Dl!c*_-_Hv}E@9mSd+q(bZphz|O$5me)# z?+9wQ5k2PeLUV_MZV|NGL9YqAP0;Q1lq!VggU=9riw!8C@t}5xczI&lizDOGtEexFhTZe%Y6o%Y^XWPVap~3cAwhQO)pUm-yYy;$ z$kAk*)pR0@hTZ4T*B!(*&!rzah;1&UR|MHM7t*f<*)|uF7dvCSM~*?W&PMdzz?i#+ z-gMA2g{$4Q^tOY3QFId!VJD4z^nB3)AfJPNUHA#0Zb8oyPCZl|@jjb1FZNBRI=axf|*FEK=BG+?+)vKnJqun0pz0B8wEAPY+B$pUa{W z$R5q2WA5ejL>4LRRQ@50N`StVMaSGL=!aRP=tBBg7L@?Ko<+ypE9tjcq-YhrlSL&! z8k*3q?J@UiD$F8uHvQe&9Vzt*0sn{kyIMEp*T?1vT0Tb@(yz-Izs+HqhrC zO}4UuzT}_>G3#%jCmqxdD;wxp2VE!VTQ-8tm)#racUh$H{pB>Ad}aLXph^dE2_3Y+ zLF`!v)d{lW(m~5@nY2*{tr4^z&sM*2chI^Cnq3n#-#bCGcYv@`rZZBjz2^Z6^isgHKY+-8wf0KAo z5%Uk}8LCl4IKP5a5r3z0It#Y`nLPY|DyG8eK2m+MF*+dX8xRcc&i{ zPaX@D;PCjXh?Sx`@nJ9&Fx?a*n#JlMtC;cJs5~O3kRiL~-Zc}~q4UV`-J zi%Muz6%>?1dLVEXXk|dr)vCz#SiId2U60 zqSFWd7AfmW#T-Rxc<^m=>LDh4x7#+0Vl&Eq3});-}ROQeq!H z=zSb^uJAnx4wrka=p0iUgU_j3#O5))3h*lOa*G^OcLnBY$JBomHE4G_(q9BRwXN_W zrrjf)t&j%PQAc`L!FABDcYjJd4$G_PxWxIm#QC_`eALmbcYhytEQxB3Zz0;N*!O$n z;`&}7QC%tN1wyx~^1z?86ZD^m+X=K_q0Z%&=srAMJPkUHo&}vr-vI3s&Y*At>S;XD z?nOF+a}uWI)ai*}N4*tvKJ5XmrRzbL(pNz*q!&P&=@rmRsK^_kE*b`XFYN=3(IcQc zghcL+Xvn{x3Vc+|B_0;KqlDArLJtdlN@%E*`D=vk5IQdO z=R&EBr6Hk*Q+KM9%A;wRfnAtMeRxi-e>4QF`;pe68GLk$9;^T5;4 z`*E6s8kd9arRkt!IPKEVUuS{dfH9)cjW~DI@ce=2Jj~%$pdUm&jXs12V4Qa#0vg?l z6Gx41qgv40X%Vciplvt{KS+<#Q}h$6Q!CXa>N2%Q?N=XG533i|dM&Q)(w@*xYUqgL zSdg5PXob{VoE+Mx)Xe9rLSKTlZ!)hRtJ!4UGg$K`^VVQ>o6LLPY4X}9xYcOobI{i3 z;uFSaA>vkpbIe*qsSYi@2%iW(ixDrris>qL8gaAlBhLN(&ixMDE67sE=m+XS`jdJX z_ebz~Oz_p(({xyS2I+6p8yd{4Tzx@LPh(F#t?V}K?+sS>It-R9V@V{IHdD-Y&;+{VGSRaOdX`Yz zNHVr#3AMK-M}~}4v^QY@bq}VDXx|1i7ER>I;5g9ws5RJSq>OCN*T#?OFWj2o5^Tu6zp7x26}q>&D2md-E1ThlJi=})>5uK zt=wq#jU@%b0VC4fH5g3|M>fQJkt0TH4Hz`KhK(3C z^{0)Lq@3J{O~MdAtjIbeX{6#Y>Q0R|_4QG^wQ(eoj;E#aMju^j>|Qq#@1vDn>1b?c zcPbh)R`2ZTSqp%#gxcap0t8c)Fb)PkDr zAaY&e{qb0oLpfEeJ37!bFpx3^&LGcNi5X~zxH;88Mj>qsPZh$tHI<9%Ajqeeb>kJ$ zsX1~zVT!CN*+&CLx+fQNva;c)X7tOn(Vhe=88c{0DxNl+;7hLj)*vIVX=uo9B5F<; z(NuFZHfT^c_jbZ~X-)2mr_AIK`sn3|im-Fzf!cXUnwGG+>7*oXKS^X7lPq|h1+bb; z_dCr^F&USVGs)SVF1cwWnT`WCn?t?vB<=~*GP+{sFf`K9RN79qMAOkO3_+uN6oNh@ zmVm3t0YMTlbd0PHMr1r4k0#>R$S}z9MRNpE%dzrQCkjN@=_sdFpCYr^KOXVvcyh$( zNOET$VNP^7&38MH26aYLmO+`0YGej17w?Q%NlqTzk)|}hjqM#_Ez2^7dK04?jdZjR zk;zFA#bE?IC4(ECr7tJSrZ)3v%_3?sdPfEZxP5cHOaa~TbUwSI*D@1EI!_VJjNWhb ztvAh`x$NE16vEercgT(1W-3q6x+iTUEsWiqZl);iFqa#t(+k^^_9V#@XyS}o2z`Hi zU?e4@e`*OWh80W2hk5GA2`5e&YmLF^uDCgp$|=|p6_cBcM0Ag&teiaKe`g94bu2wq z&}XGudoe+#^Q7EOW!a!uW&z@4MuVR$tiujFOeXuM!XpE+$49_Z^zmvbBrYHsRQ+l z4-rpQwAMtwj3&i&W)9C^D#)6E*y6;7=lW+xB>G3ThDN`$UeYFWH%D<}+`?iV8*JSZ zGo&jysyWOvq0C&|X$jpThRHX_aF%Ch_HYJ#2C-uq|1&%*laNhOX7=A09nMS~Sgaf~ zoXR)B_=@;&rZyYm$*ZX&Wv>F%-aLXCYp5%hGB73w&Gb5KfO?G-Z88S1w=q&@lE==F z52I_6rS?fKCo%D)FyZt^vDG-OY>HE|$er0IM?BdjhwYSHX;x0K(ZssM3iej6B_16}npQd< zvofsAh{{akT}EnG9R0_cq%p#<9R!qd;}i^Jq?;0nP9xdJ3ieWOQPf@};;f#pFv&gX zFuW>@8l1)E*@i8dHP^DY8YpA!XgXg{rWi{sU^r#UktBCRdvOq$ooFl`X>cwD(uMxn zf+Z}Tu&~X^rF(cPL!C3_XIG7EoSc|qq*~N7h}}9Cj!X>m!WwZ#A7!Umdu2j#aIYyf zfVNGh;WzK2b8(T1$o>d}9tEU%ag-ziX|qx+;LUwBO>MG&r;gsMu(hTxgJ%p5IcC1T zO+4|_mS{W;t=2v9H0G=9b}N6ZX1vddm6|9 znR75B^OFiCm~1q68JF_Umbi6zb4ooNcS*JGF=8XUHX^(HvWcF0$`h(g8>4%i zsa#eNv4bZb+4Mx?NsH4v@yRTTqLAC~O4##YwuRfGJd{T95OV2ABGHj*9U4xL;+b;% z{uYYjkT8m)tTdT;NzB0StfDx~ve77okd9Ike9AI7l#HXGG*CY(vF=8m1I}V@3+3k^r z4tK)Tq!p?;ag$oxY-xH(ed)1cD&aAhlLFz8{%_(wg{%i6WdO6d7?ud4KgG_9OU%9S<;wl!5w<*L~0nqIb1 zO)t9)iumUtO;wg?{v6X4!YLIjv4V?~sx0>EIVns9yjmXiahavl%6#yl97UkuAhHFS zXu-maX4#dMUbcxlyoXzEQk7*_!Y!oB74+ibl*r-I%mP%2nb7oV!O|fd-jxoaWgcqZ~m64&o3Do?Yqn z>cO+!r9&JRBwT(qhY%avx5~-_&LO!Fpr|VAF7)bU-P23QZ{$WG9gbBNpb%zo5Ji9j zd?*s(A)ni;%Elipz_)Vj&>YhJieof>GeQbqf-_4rq#!{lEEmxn93=bvj>c>+ibh?W zLd(VGHRLp$Fjii4CLoTIt@tX2W5?6+f9gm{fnx+cW7H8_7eY;$$>OjY^Lw&497g&(wK zbl_9a$DRezsU0TwQH359JUi(7!bLsTmHv}|#rR>IsFQ1)=uQkCoMhuPoM=;5(-K18 z;TQ5||L5-A+rRwjFW#~F)W3Z6+Xr`Fv-d0IkF>tty?EZY$DjMs`OD3Z{_i~x9T@5O z)7clT8d~tRLvKBM|5Y!kXIA{?+?Nl$&!skvy`oz>@V z`|7{l{op_S;yXVpEWdT+=C$8=(pItxtjd^?Sx87NG!A;H2Em+?1^@SgqQ*qq^ zxB&+h6ZVc9l80-7+<6FT_tmZIg9|7`S{yud^CG-qm~AS7N(M-kdCo+7XpPaxkH4s(8EIS!Q?8Tals;nDi3c= zB1)CvmuR4k=u&69aq^#0g5wxX>^SRUF13eNu+X+6YEos6Go%vWAZm=s2fAkmr9cGT zo||uh7YIC04)!cq7;-^X#u8MK#(40f3Jyz5%M^^+gM)|Bf>JPk(E5c8ow(z@FK5=r zHw}2xv&`oXOWm0smh?Sd)`2TP@Iem~er`lTys(cq18~jZ!O^W%Y)M6jFEx|d2WT8W zU~{dY$K91^m7fsJ8LEXuYv4+IWFsoL9f3acQi7d34#*CC0Mz>X-MQ zfBv$i4UNVH%NnETOn9f=b}8?x0lG+0V3UEPTz&=}-JD9)WlP7Y|445nW)3aJgMs*B zd$cHK@mC9r68LI?niZ|af#aar7jhnhLioQT`i$X}fu|s&uP%hTBA%fUe4vqeaIo+{ zM<5u{K7_qrQFQXApRFX#P{K?O7^x7x+KBf>&;sB#b+(6g#}kPVzLYR`hoZ?)wv+Jx zMlqECeMQK~Jinlrop|xNGv~}14i&O~*`>w#44@xhbFf2+_)a4+8cLh;zh4+bcyQ|D zGW$pPC^zJE9SdclpRSR9I;betHQ@|76piuO4?4(%Kt)2E5uu5y_%qo1@-^*ZCUDMF%GG%FsmnQf`YTJCtZkPzg?pwF ziGF@!q)ETJqV4hLUU+)R;U{0ar)t)%4foXk@i*7*I`rIkHqN_wbj=Hm7k_NdPcL>= z|MZK$TKS`dtM7+LzHzj(;P{)RC%lKh`@VXcGNN+0p zO-KLsHwr%zZRl>j@tvPuIkKmBcl+kc4!$(w!v|MBcXD;?cjfJ0ec#XUt0|(77hU)| zsg0dH`QWEebU21jD@*K)7gGGB58tw43hTqC&E{t)|1K*3+SJw3^=*POPyzanj zZ+WyA9=)7xtXr{-&&Idmh=TvK6>FO{y31H3gKwMAyur6^@@U>>_FlEk>4e*oMj8{{ z6rIR$UoUm7Z)!Mi895F-mT>@;9Q@MrMFn>s>b~&xuHOb$mz__zCiO9c4WOoVrdXndl1UTX=@fK&Ob zw;rGOjN|=N7bE++$<>I&?*-1Gtz!C?0gW}aNx^A!7)9OVp4Ju~IyYIHige8ym(Ay{&zFbGR& zaQNANG5&Ig6%o`T#YZBzTJW|;O(89t;=C61#7u>tVfAU&>|7%!+9>o z+bK$V1II1}zoLj+t`>i(+z3uw_!NY%tMI-Lzp;()s>KSo_%MDG$34c50k`>NUI_1c zhW?6Jg;2kG_>YYtu1(^1hhv-j4EvqwlZ?3KG4CUl={u*3TfYBmr7b#P(?qRC&_e0F zNc?46?AHzOQPD&jlUpLc9cuCJ=y~w59^Nj)y%BHC^3mFPQrAXW3NQLm=P0C0QG3>6 z*>Z5t#~*VWkjp^6Ww=M-!wTsKO=x>QmK~ClD?YmYbAE82_}leYL|}*gd+vL9y8hes I|6K(BFKP%utpET3 diff --git a/_testdata/SampleDllReference/gauge_bin/IntegrationTestSample.deps.json b/_testdata/SampleDllReference/gauge_bin/IntegrationTestSample.deps.json deleted file mode 100644 index 43bdb39..0000000 --- a/_testdata/SampleDllReference/gauge_bin/IntegrationTestSample.deps.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v3.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v3.0": { - "IntegrationTestSample/1.0.0": { - "dependencies": { - "Gauge.CSharp.Lib": "0.7.6", - "ReferenceDll": "1.0.0.0" - }, - "runtime": { - "IntegrationTestSample.dll": {} - } - }, - "Gauge.CSharp.Lib/0.7.6": { - "runtime": { - "lib/netstandard2.0/Gauge.CSharp.Lib.dll": { - "assemblyVersion": "0.7.6.0", - "fileVersion": "0.7.6.0" - } - } - }, - "ReferenceDll/1.0.0.0": { - "runtime": { - "ReferenceDll.dll": { - "assemblyVersion": "1.0.0.0", - "fileVersion": "1.0.0.0" - } - } - } - } - }, - "libraries": { - "IntegrationTestSample/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Gauge.CSharp.Lib/0.7.6": { - "type": "package", - "serviceable": true, - "sha512": "sha512-VPkNe57TqAXTxA0+UHe35+cpJT2DkqWt1hmWi3eOxTJZy3widdC8GIhRERM34V5G5mQrfM2z4+AvPAbj0nv0+A==", - "path": "gauge.csharp.lib/0.7.6", - "hashPath": "gauge.csharp.lib.0.7.6.nupkg.sha512" - }, - "ReferenceDll/1.0.0.0": { - "type": "reference", - "serviceable": false, - "sha512": "" - } - } -} \ No newline at end of file diff --git a/_testdata/SampleDllReference/gauge_bin/IntegrationTestSample.dll b/_testdata/SampleDllReference/gauge_bin/IntegrationTestSample.dll deleted file mode 100644 index 6a81c8451b9fa8bedcbf99221536313ae367639e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8704 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 F{sv4%%C-Oi diff --git a/_testdata/SampleDllReference/gauge_bin/IntegrationTestSampleDllReference.deps.json b/_testdata/SampleDllReference/gauge_bin/IntegrationTestSampleDllReference.deps.json new file mode 100644 index 0000000..9c77aa6 --- /dev/null +++ b/_testdata/SampleDllReference/gauge_bin/IntegrationTestSampleDllReference.deps.json @@ -0,0 +1,81 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "IntegrationTestSampleDllReference/1.0.0": { + "dependencies": { + "Gauge.CSharp.Lib": "0.11.1", + "ReferenceDll": "1.0.0.0" + }, + "runtime": { + "IntegrationTestSampleDllReference.dll": {} + } + }, + "Gauge.CSharp.Lib/0.11.1": { + "runtime": { + "lib/net8.0/Gauge.CSharp.Lib.dll": { + "assemblyVersion": "0.11.1.0", + "fileVersion": "0.11.1.0" + } + } + }, + "ReferenceDll/1.0.0.0": { + "runtime": { + "ReferenceDll.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "FluentAssertions/4.19.4.0": { + "runtime": { + "FluentAssertions.dll": { + "assemblyVersion": "4.19.4.0", + "fileVersion": "4.19.4.0" + } + } + }, + "FluentAssertions.Core/4.19.4.0": { + "runtime": { + "FluentAssertions.Core.dll": { + "assemblyVersion": "4.19.4.0", + "fileVersion": "4.19.4.0" + } + } + } + } + }, + "libraries": { + "IntegrationTestSampleDllReference/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Gauge.CSharp.Lib/0.11.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QEgfnNnhgPkW+BuXcz4bKN4DsjFWEepIN7gcIs68/STVlejB6LaMYDmrDFdakSVV6G21xWz4U8egSurZsN4RaA==", + "path": "gauge.csharp.lib/0.11.1", + "hashPath": "gauge.csharp.lib.0.11.1.nupkg.sha512" + }, + "ReferenceDll/1.0.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + }, + "FluentAssertions/4.19.4.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + }, + "FluentAssertions.Core/4.19.4.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/_testdata/SampleDllReference/gauge_bin/IntegrationTestSampleDllReference.dll b/_testdata/SampleDllReference/gauge_bin/IntegrationTestSampleDllReference.dll new file mode 100644 index 0000000000000000000000000000000000000000..451173ec1d79d34c422fe6358d1521021ced7b7b GIT binary patch literal 9728 zcmeHMYiu0Xbv}1?cSx?JHAPyoYD?5m5@|}5)};6lY0EMxl9Fjt4{Iqawh5EN<>hk4 z-JR9UtRzY?Lr1pJpjJ`k;WV&O_*Jw<(%6L^_?gzR>;^?FG=J9_TBks6e6N9o{v8!dI4`PJqms@m;*bu z{-qc_S9PKO1u=A?et0VF7w<11D~H~Fd$ z4iF8A5Iz6Zk)IW>Ehv>9^}QSLHt_V|A*xn&&GVZH?7u2=fS_{;(b)Yg z%KzoJk1`469P}RGN)ORkNeL7DGDfr<)sxo~4Hs#@&D$usuB0o0-yCQccjZYJ_y^Yj zfT#NE`wdJL11`mF$4&xMzV)D@FjQG`C&Nc7-pBB7}Ne-NcDpYXpyYr>d9pp$G^$TzK90^3D)8+f5`6Z#3+g*er= zgy=9_gNBukfsjN=4_WIWd=Ex2te<8$3vRe!TW#Z&mvqQPoqB+VIi^}0SZ~NeSEI`+ z^h-Kex`SXvtp?_7xs02S&v#6Dx#sK&IMT2>^mxNn;m4aARr~E^??n$-rGDyeazNFa zu4R^eg6Xh-c{-tg5xN`w)6hR!a~9siz-)!;&sB}H$bj%AeKY&q1f30Y%xMB1g%7is zFX(njY)e^;Ii6TlZvx#LC)g>*GsN-SiU#F)M$tw;&2ToN6fcY?Qy0Z^8ygM8^AtJF zu;+!K2^ONkn3Tg^ihJC_(Cc#uK)B59w7=)21=L5&WY7QI=m!@~4Swj79*2-~9b3ha zH_xJPURYS?B^}A4JFVb0%rU14)Mh^!w`idz^7oaP5zUQ<6ZGUt zZynvZ_wZmpc+Ua<5dyMtcg7lLVH5;a9JxxXtb*(Gp=cw2UBReO3=fkrmQ;fWY6+1h z44YcZVOr4;L_$wk7fLG3a_A$S30^eY9Q)hhKX=mv=D^q<-UJ*{uu8#3 z1)osx#~O2|RonOUuZ5#DsokStaw_;>gzH~du&#pZTNNA>Tpw1@QruYuA5rk{MZ1X6 zf6?6{N~bH@g-(C2v4`)|*I?^v!B!ffU#ETHFN59{Vft|7X}|*&PlNk5Tpx(Sca< zUp4(gc-V4!hJNRzv??V^+FMK^j|pc@gFl)eY` zB7Gm~tLZkthZTIOBy-S!8hQXDs>92KkJ$>l-Nzn8tOVWRV_#R;h>z7(FmKeywkmAg z#|GhtAn9Yn3Y+pVOKF+*u~~)XJZ#NJ3OnKR#+1(ceXLtyU-7XI=`JDY2_IV?z6&R# z=X~rLVTuT?swb2Olun)MJdCEHMW?Mkb`{#`blAsM!FnZ)``CxbnMyk4V~vPQC4JS$ zb}PwCKIR}xD=EA|*`t?Xy^^Glg0Xl;4P!qecqjv70ak*W3ji@IN7W#VKrg}Z7yNebOp65>^`8^4@v-ypvzpEY+SSk_KJOOz>8)Qs!TO`oH1b_gu>M1_ zG-W&J8ucmeeOT@U{RkQaO+tf4j-vdv;?9>`M&}UGk0Jt_4`6nsj-zg6%>1-}PaO+Q!l|1D8g(Pr^c z%U&HRflE=h<=>J4J{d$k~8>)hQ zwSqOmpd^iI*V0{dAsojZevgP#Ej<8u4gDqHM*22jGkpNqMzva;ZlF5AK57QMRnZfG zJv0qHW8?tN(P_X(=?vhj^e2Gl>1Duo=_`Ogr?=>}@V_exiHAWEf+-=vGKP2put$6o za85i+6WSR?e-!m^Yfq^9tEj)FomcgDQU6dQ?O9qM>H$0$8Uy^(&>Y}jg&qa`Vdz!B z{{cJ?o$sQ)IZUA+&`{V2Jxj;JJ%A5|jmW>!E8!jmw_~;Z7OfQnbQ>K-UYw=x(?tr; zaV`eS3{V^jO2rT>G!I!;lH814kZJSfo>~^19>Z+leLX}Kcq;K! zVc&`3S%zmho)vgvcuefIl47iK=dR@FXn)$tXUv(tjOjS-qb(qIkB)Y5rPrCsB?nH* zyqmUiyT*O$!Ztft^pG?shRyMeWHE(Lnn~BbKtRDQROfv~!;| zQ9!?d96;>$nuU~%_a&xGJ0BlPkAs|~-Ez{hWg;(=)H~@)Th$UXjw`eAJ}Z-v%DfZb zD|6CLCuuO}O8oR^pN6I5Cd_O;Bl|NMxFv0wOG-Lor(L;EI*yr=l=a^MuS-FtazDxC z-creK&ar?78hLh>wq9&@sE~8hS>J)7bWT#A1xl_U59Ick=}f@}#mu|>?oFj^nKE5T zIq4=50sL4;PnfW?W!LDa>O?U(1$4-dj;byUWW3kK33|K$sXi;4PiLg9!Ub&;Wmdl& zFQii3&oXU)A(NR;>2(~L9nZ`Rr`@37uxY2Hy9akJ@`Pnimo*gS_rU7y(snQ|i<6ZhAbONxMOAc`^oP#DcVl`~AjTA@2td?Xm0uGdV@W zrZY`P%(UB^$#BwniHxLPI^TlX9-n~JUg`EpyuI{=c9|dKX_1vVS4Cx^D+x>`Gm}0w zpD8E(*+zW@$F;I0DWuH6$)vZI(eRXQo%jUS;ha;{KChjpv#h5#xIz*lOeLi}xjAJh z&EUk8Rh$S(nKSLQ<eLo$V> zPTH4Y$9Zw4cv8K5GyQ2Zm9rc-opg$p{hYxf=FLd-?sz&W9rETO(g3R?P&JwTW)@!ib27N}7D-8Oy238<3a%3Jkf?Q-rf?E;$nc?wnuFaYOL^QjNMK2_C`T^p zCjqJUG_}w@IQ1DgRkfm4PjuZNFmA(;TNI$fMLVW&yCh&9l(f=CgP$btK-Pw&3Hxa} zh4;Ac$r75b@VxoF?+dNNprf_KUk*M@!Jdm7i#)It(fU2mXe-|g8d&UCeFE*g{!YO2 zB_wckd9v=;|L}L`f6@QacYbnl;Mliv6gGsY3>hRMsH|McXpF1tJQ!g@But>&WTGV7K4B|>GvZ|)Qtu(QA4eFp&p%oKrsnV0F$?A-&7dO>O6R~w`@q<^? z%$?IK#JZZfdn;Gf%zXp+y(@@e5vza@v)OW&XE}t^Bm9ZMA2=9`RY3MTS}b;TwWgu^ zT~P<~{DOmE)KQ%XN5O~O3|hrjR|^nJA~PXK;4c(q*EJab(#pBBp$ZYJeCDRnFRXk! zdVS?hUw&FV`hG`DR~?Ck^qRGms48_#L$5(=uR_)91ji$$qF5tQhgFViO%}mMjkv$U zKgrhd<;k$N`iO1j_glHrLaEkUM?kJZ@HzEHL2Kgs2ZsA_Xz0!7xBA=4jmNv%n58e!nw?>wKGkJ0)loaDWb>Hi$2+ z`+*Mv?(x35(s#obFL^f&JW^b|_e~yx-}NeUe9U|G<0YWg#BR%bE}tX@u?J6LKjyMY zwHgN3RQq%W@6zc&Njwvt;2jD+xsXb${d=*d9wpO)6N&fNj7Pu4Q6G&d! zm_d*Dgo1g9!oKi{CZ#+mS{??4&n*ch>79T2;X8g+fHR4QPZl|KnjuixM$xB!)t1j5 z>EKD{GqTl!U9N2FcIAl!OMEip(uy-qOX*?X8X;for41=QO_d{13~n?5oMo>@ng&zozK!YFAomFrUics7&$i( zh0i7rzDU=h|MP7u9HH{~G*c%c)rq^%PU@x|sCVJ79o|WdB0rqLUHI0*XV`9J-8k+! z+d%IE-U9j#v^4QQihxvo z6;Uh*_O4g4V!dKV|1+Ci2m$Z;&X?n`JG1k9+RQxjOp)g6Mk6641pahD@@CK|QI=E- ztN>9*R)Civkj8j(Ltxo$kglqL{3-+~P(_dt@SCqx%oBu3;PN~!AmN9 zclLK>fMj zLDdL=$NtikV;JfE5P@ZsTx8yQ$q%VG!`UVC=!rA+)N#50;v_Gk06n$ z>c~KlY(a7aNeET$_ESUFVP$Ga8u-2qq=O(;f^@N4U3KIUD0>6aSFBte`AsDuDnLuQ ziJ;BMN_iEfysA=OO)0Ogl-E$oYbxcnl=9k2c^zOWLO$3=x=Q)J3i*EEdq1Uoe}%k1 z_&xx%Hq;pYAiaSK`H3JuNFfi$g1$n2FvuGyFVz=0<+X>r zYxvxCeaG_zPNl``jymbJ|E`u&(+}QT%Gl`C&+0(s@oRI`^e(0CwD-tw8+T~C?Xbma zZNE=k-H_mxdDkf+fj56MO zhBqbX+3gySwAIUhzE(?M9=>XOdC%DAHbJd{85a&rYJOrhOOqKXlEwg(P8TY61Lfn^ zpqr=j<{UrWu$KOQ;psSo)Mcz)@6T$_y}qvG-m*vax)_YkXGdp1ktMk$*99}q3%G-5U zf^boQXY!G>q8TR&GgfSCysIJ%S**rDLu6seE7F4Py(~m9`qmCkx=^W6yfa;7W z_`y*kK_f%>F^*C&8HUI}Qvz-Sx(pt7F0L`|YTPZ#*L`=E<|I!Z_hibS>?e9tz3nZ& zR0OX1G9cUFQ9@BvXr2m3&jzg z8ca0$o3=)#l+Nl5o-p9p=&FZx7LzwP+lfcXOw6z=Vx6 zUpc#8cVG5u?CVhzTw7jGeJdR;RU52%wm8Md#M^9GV^TEbpoC*4-mlZ={`5qoBKtk_`aU6{(6*vOl- z(%{OjD}Its{{0sez2Coom44;PMP*k1Zs@3)f4P9B?P#0wG`k>J|L|7r&Fo#0wvp9* z-CO&LercCI`A0kZNLfQr%HiUw8j>sh(V2&al0)vCH>fGCv~U00YK+UWmb=!y3;5t2$=@Ny%rkRyY`Oky;3xeW=B)Qc+zlLhzxj9ju3Ptft1P-Mw$~e z%@v)e`DApm&EzR|sJ*=n7qvt!LoDoVQFKaZh_$t)J!)ZVH<@i~!LhV6H!(8(|CdnC zQY02ih5xVOf}w?>aB(rLImg=G0tJ#;+S_ui?X9?MTiXzOOVo;EJJ~kWj%#ZZ%H?t` zr%VCTu3Q;EAWH6O5Gw>2Km?`$u^CZhLj{A)%#LbhZEI&mwVY%ZVrM(W-jWk)9m2J> zvIw!CjB;#Hu7w54v9z7cu@B+c*rPUR2*PIz!es0)6rqnn z70IM#5j+7GVZ;d7kvuT*@?%&$K?KTW@j}FGaSS390cXNnh7E9p3mv7Ih%b{Mz#~XQ zh2luWQ4m8H$q=#J>vWUa#?HnDEHnr?I=@+3fl@9S$`hc7pN}J*Y06;I{GCmK=Y`2W z*aAN2UOr4mZ*TZ&8*CBmeg~HH2Yz90d^-Jv z_{5d@9z2d%C=rHA35dLUsF+-W#3D#|b5+##HK*P8R?Z)^cVrU1tNI+CM8@XR*b*Lx z3THl?4?EKQ7(yW-=L$Uw!b|GhGNk{sY#uvO+B;CrEOtrSGsq12xWD?}syvrcS%R;& z#>R_Xn7KTGwH4J{3_6vR7X{`}IZ*ExYd-`s2TZ)&zTl0^;o+APUPUh?DFc1bFrGvz zj=^DS$BSPhI}zmGKj$>cUb;BdB+s9@@^hYkq=X|B^E*w39=-P!s`8$9>CT_mXPveQ z7p4Xqy(s}xzC_9vaM@xmPH^$;_9o;M38^fvQF)T}m{I)v`tQMu-iCLEX$(FeuNtv< zR09Wnwnk*DVf`mPGoPK)=RyG*3X2IshZLB!k^|wdONj{8MrVIIaC?Ek%Cg8}#AciCu zjTgPV42|OBlap2Uxx{(X#S76P&dZ~F!OD%FX2)^^?a(on#&!sG33*KCq) z5z2XRN_NZ*-2o2eTjRq9tR2$Y3)WYJa(HY$Zy8E7lygw!HV9s17u4MUNh7WDkNc{$ zcj9H8;7E~B0BqtRTAgNStTDHD8giu@zK#9?G3K`##N5GUXC%A-dZkRZ$cN#s$TECRo|6zm1 z_BZYGa$nlIvTHL^6I1khhx^5dP|(G|Y$Qd+c*`yRlehtSOhW8e4zm(2?(0?NeXS|@ zvGIdW3W88xm`olO;*bd`g$0OF={e^4PU7k ztb_Y2Ye|=OhSU=#4=Zblt z8)F1mU?PG32p1wLEPEG}e&>~(q?F7GkA1n@Pd{3{xKD3{ghDfv~(kfmH!B z7cjPuac`S_p;Wau7!=O{E7h3G_@NAUpu7At=J)WFS%sui-Tlx);gKqs(^&Hl0S)@n$;5mtN?n^WX(Ley+ zMe+8)mzXd6--zmc!a`kUBIVTC3X1j=rOG{=iFeHTdf0a7il(r1U4Ob&3$q%@$@jJr zIC)&zxhR!OmJ^tK4H}Jeq&~>;Z7nOOy)ec5x@A2MasqKB8w?0XiNF$9c+l?Fdr)Cb z`&GyKeLv%{C-(kS8`49e5&|rAaX?pZlM|xpfE2Rcf+0xfVi}C2gk;T5;3! zu#939S22EVuaF*|Wm?w9br22a{QDu zAbeHueqRP1Jqf{w=bdj9CLC}oSo`1sv*YLNUco(vk-GHyH;7)LwfbJD$}*2y$@0_A zB|C}!4LX2=x^vl5PI#x|axzO#flx~5e#6bWQbwM~EHn3nklZfDu3&0~J50V{yA7-d z@s49w>D>s2l=IM8s+5a5j4c;xNKGwoD!XtVXrxdazgH%|m=_tq>2rVrZ$v0ld79Lo+(MqZ-bzOp1Y!p(MKeMcAYur@e=*QUeW3%DQCq7eulJKq;M>D1$l)lo)`79qv00 z-i|ncV?ankl8X+9HS6pYpfYl05OL=Jxp9jk8(JiYZIQC^zaCdkt>eV54jxn4f_20oJn`m z^gWs7i|pQS)&CWW*Y!k+MZ!yirPySB>{)rjMu!=W$!zrdg!74M3KdR_vt1cxBQM_a2O^B$vAZT`veBgAXTKHh2hE8C2cD}e)-6YNJd*n2PUd*}Y z88I<}m8+BYbFli0O}#_qeQiUE`e~@0{-0FJ3ylw6JHH=38l>6SOklu{ELctx=366r z84Ed#YR@wMdVZ~YfqUGs@t-S~Dc7C@4iSW%v5w8R;SXWhzsIcZpZ3L`tgJQl=YCkx z7U3wbkj0?7d=)JhO6|ayL?{&b!9Nj@1vnX?yep4(K|ipu&R#I8`ZHP$O+J z7H4{V*SK>hGRghG+Xip(^;!Ns(Qgit9vFwOmKy8Q;tDN- zr<(YF{tE>bFDzUdjl#dU2s`yIVvV77ne?l6EsI|EO<`;DLyv}!?gb^sdtg&N0pFp1 z3)|WBxU%)T=A-wFqt|bppIm82xC`j@;c={lDqr;BOgY{SZIG$nWwW);SB|-*-S8eU z*z7Ga!w{!uFy00skJuN*{F;R7FOaZ9iP-7fjsN|ILUqT-1ASm;uWR~U^ z*4}%y*-_S9V#!Cy-J@wf*zEZLnP@CDdlnf$qor89kI$<}s#0R&0=7ZBB0O0ZZz}}N z9pH1-p5MZVeHd$WXHXI083|_a@J}ohb=pWSY3rs5Ti_n**lCY^t~{RXmc^7f?9Z9s z*?)24D1+VDQEXq1m?t8JQ1aW0H({R~<~;ambz7iwwpV!kd+U=#(D64R@baEB_r=HI z*!InuvjKpLXO`$62|RM+5>1I=cc^@!4cd@U z)!b@s2Q>M;ON|v17q__Xn((iInQ#5i|D>W2^qm?uzaC2AJ4HLH*1v_edk*E4YH6Of9^+imOU%WYU`p=o=MZ8-YtKcxtWB%;Fpb0uxqj5hr%J$kT> z^FbP|;uo#a5{GxjHoYxRw4B0|U<;@gmy-7;(wK*=g2rFtu$q;z;L-#ylCYXjl1Bps zZ8|n{MrvjlEjPD%b@EXjy$47fBLWBhVzwwehU&-<1D7A9;hj`IxtJwEtrr?xwQXI! zhnZX&d(`!`{hR-!LhsxXYNOmKgK)>~0Vfwt5jdUvHtvH3jXLAM;SwUk=RVK*0^#Wf zk`?!hEm>7x_U}@8*h;J-JB>zH)ImPpH_j=0g*cFr+Kd^a{Wn&76n_=1)XC*jh}XgAH2PHCE94*WUmC<60*|x}n-4~RVlGk3fzvD8jUH>lk}kaly4JTuM^;#_w>< z-%?MEJ4?C4Og&H&{-Dm&^t>{+^n^fjtBM4VPAE2a z%7aG`N#m&6w7d=|uyt8`!<+FVoDS(cou8l^&ghQnzC}DgW(L-~|A?Q+mMzkz?XvRO zb@A4~92^6;cB!3RiVn_vyuqFTp`ne=wB3-Qe{2rP)%clP&A@vFw5C@?&*%=8H%7+Z zm;XWtN898^PQPGQQroBGy~$0)*;IE(k2&{G)_Uw1)cj@JPt7QA&-6_jzdjOOu|Xiw`nIiA1d7= z))PY>6A~Pl%J^(?&&`V)zb8F{PD>}Wa*)NmB_8`%2(;$Ud_Ww?_=SUw6l{Rf!`T7> z+PUF9Yj{o#v`o!}t+@fFW8ISZ8Z9%AvxwH~!pRLe=*7l-$R@D=?(Od1NG>V!?(>?B zo=hiH>SW^uPMG-ERukS$icS<`JB4G`zKx3Cpw6fj{;WIlX@-6eq#wK}NQH+sp?qO9 zj?P@U9XlnzbA0-cgsU8{**1_H+1EXq&aDpmq`3;l6!B0dIC_DG~W}*+wq1(%w+3^))Q0T*}#+DHBd`s=1O~ z+J}lP?#Uf98m{Q(+5e`)K4Y@9YL7lWn_2kpa<}A;ti->dyusN8jx=P|q(NzS1h}s6 zYdF|7b=&O3OS@t(_C$i~WJJ(C_|+P0U)HTDCqW?KFm@)^&+K5R4I)5dHi(n4OKQaE zdp`BaIml-Dvw49gsy|#xv%Fm%#MgFq7)1mN-u=YIQ&s!i3KhHE(4mgxH9E%{B<=J3 z{;eJ7G>6TXp?)%O`wy>w?w#8<$Y;1_;+VUKDwv6$CdZfUOs>G|ca5^05Bp;4D^C4= zb^rdC=^O7ae_40tL8C%Nxb@{Pf>v(o>(f_L4$H zgIzqOq{Fu@h`6r43AW(Eni=CTkw>x8`2D~eou`ZA=Lb+=Tf>l z`qGf0e#CVEC`|WwOg#nBLe_B_Io$9JTEa`A36K6<}6G%#+f;(@q!|Y8rhm`X(7>qsi5d}wfKOh!CIEaw2 zvmZ(#y}%7r%fSy^IyA@Gt@Zoz!_JFS5u@CJux^EiwAtf^Q{6WZ$NQP-_K z%MR7wT-`P)0bbN5_16OT+{s`mqkN~Q^Dd?esmKo0Vg=(A3XI_0a&RMl5-2k!Yw93l$lxkD*s{f<^T$B>FMNyWS6%IHILj37j{CL=?k z0$3xA0j0KNO-vAIY)@z~PcniPSSl3ggPZasU}{xWvZg;WNE_UX2Q|bo5t=VaYVNgCFD-z;Qw(Elo2me0>iXd+|@X659L>*M% zS`2|wY0RIl30RE5_`rgJiw0_e0$FE)ZrEg4!(3jV3ZOz=u)R;#grzay0zW3{Gztls Zf~aEe)4}^xL=|vB3_az{JcfYG{{bS$65ap+ literal 0 HcmV?d00001 diff --git a/_testdata/SampleDllReference/libs/FluentAssertions.Core.dll b/_testdata/SampleDllReference/libs/FluentAssertions.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..66f9879001e4450b95e0deaf320c8f1b3b96adc2 GIT binary patch literal 288768 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 z zR$qG#-s}~9ZF^cWDSHG`6V<1)TV*++v-{PUd74|il0Bc#s#${SYb@1)Z2Jv#$BKl{ zoJI~`o~~f6MX20PxMm%wsdGTXTKGts6mQ?RCe3huj&LARU$WBlGCz03aXRQ6= zztOwV_WzW~KkDr+GT(mZg&IQtpbZG>R}5ntPNl~TY%%&tY(_MU zuE$}FxjXUJTI{FOJb>3nFc6v;zxY-c%j|Lqt*%*D zEil~ml($Wo8%k+017lkUFnSj==oHwKNQiHoBQSu#L~LNvQMn1k>s{HP^#9-H`PAR$ z8S805t|aI~c}~VJ@{H4`YUbJh>1*W~Cs+OJJf{(_HP3#c9{MWu7C|l?7KQZniVXZh zjZFG6E3)w8+ZoP+7VZXRFDE)W5qmlD%W}Zi0NDVR1>zh)%cLilsB(drC~|@LBE**F z5zL2!@+ok0NqXWlHRw1KMy?u{egVTGLLmjvQ$T5FIBLcDN7PZQIOE6{s|H<(^;uMe z@Jga=D7_A@&*+&1I?mAe`1w3CCasJ`X%h;Yg5`6qIKSyHpL@W$e;vi z*MaM>CFfnBz#|sE66a@6KY`Usv7c-`5J6;Qd^9et>wf(H1jcoDMD}tb^Ind}uy|?L zYS_VmmTV0ns;sO;k%nu&qef-KXEu^c(tUP2hWQG_F@Wyf4x(IRx1&a0@%^DCuLmfv z_-K*yIugG=qpELSiR_!#Q3$bAqS1hsyxvGunOCCxOixvr7dvAzPw5v$zUA<8xK z+N7)(Y)QL^So@)qENVRT;0=3Ah-b~wc?K1Uzfc+vx%}zO1b8sAd_@FquXcW~HVF38 zy;t+_(WUC0IQL~Zcx&w})l0v+` zwQM+K$PXJv2#R))?;L!!4d+kzspDUE38LlYn03nZonneVe{2$M;|&hEpI~=5e+Dx@ zvwKI}+F)+H0_Mc4G%{KAQM6F#S$%flLnoR7^E|CPe(8^v{_jH6vKQgVJaLVcB5FQm z#|GbLAQwJz;r42$_vKkHnybD95$};3=3QOI_{s-BLhonoke#1_XJF$*roA=w8%SPcBMTF0YwXSol*m z^xZET_q?}Qe3Vi}Ny#{WL7j2$R=C%!zrQLXt8O{`C_k>EPml%>fp1@ z+TcZ>$99z%(xEl?0T`zbdh1P;k0EjTx3}J0RT!w%bzefQZUske%azW86;%0<*LfZW zu?85-!NJ&1hzGUC7S~M>=BcVQ15g#z?^?{wcl$EC=khX@(%I0UcJv5GX*oQyT}$2k zOXna&ZX;X#-sfa@rLRT;?wTZ@oMdgnNm(@WSGvj5?_=+_9)0h&vRwQBL`?21?-rmk zz5v@}%nou@Knt21&BZT z2x;qB3`pG2s30-7ti+G2KfU;qgkr;%evMA%B9wHOoRnO%#weRStB0&0>*008jr5B# zrwX!5=fjan8eBfE1qi?kdDe|*V&wfyj8gPXK0gDyUUBy;hVxgdaI$8h$N8NoYH5M; z66;&P$L;Z|Y$;yZHP|tUUx+v|&%Z$~9w@oSPPRLf0Yf^(`?QwJkmjx|G9NGi#Cq3M zd>{X}zUocg%P-fUtdIZhE{gl8a^L>J_o+PMHLpZN*3cR~sN24akg*uw$gf%=d)2Yl zb5(x6C9;@GM2>fuLHs{26K|Dtq8a_CA{q1ge^(^_d%Xtq+Tibsgx(d7M4qv4iFdkI zzzSTa=@)hS78nMb!Bng5bS7bdYblw^*Luq+C<>D;$xqKtvVXw3H`ncz&`6G%h7(;i z)$QN$gSy@Hjeo4$OF?!w$7|GWX~*SA-g!~lk;KMKpl6O6^}5x*|IUc-f#03-KN%6r zD%`)25_}k5fNKSr12&M)nRt02$aJkl7+&AT301ejM+e5?Rv_pqZB_YC?V;CxuOF(!6G)IA@XI&5IP}GlTFg*4rUT>W8O2@xLz1wFfNusF?+`8oLiO<7v{D2Kp1z@nP#@6|H|=Ot)};-;ArD)G33|5%BQx4g+;U5V%7 zxH$Rjb|*Yn?03O+t)Z|=qR^#a(L5m3@^jJ&!{YCnbJ@DQu*&}@?DvQ5U>eJ0otR zQL)sh5*lQ?Mk5%eAr$3;6 zJOu6Febo+J@A}S^|GRcD53$|N@alGeO7$SjT%%H<8{kT{5>}`B|IpPeXavL(bCW|= zx;8$wp`hA3?R3w>qYE5dndEfZJwdg-=hY7ffBDoKgKNY!<`LJZE$g|qknOO{@eg%n zAJTI-&zi*${ttBp2h37m`HywQ{ru)B^X2b*GgmV)pE7S!*8MORathpuQ1yf~x=5Q+ zRc(XY9oI3{O4!fUl$eWsnMp>}Cf_j6!^>3yXz^$RWssK#9;Ude?M=h4Tp!qoQ1vdT zyZA;zZTIq^S|4yXv?g}Ee$KVxsucm_1Fu~?s|qz10v;h1s65xI^l2U70Yr4K1F$x} z6Vc!!7P;Pa0OC|VntL69mAmE=z!Q++t|0i>nWADY{x?eitR&k>6YcPOnENP-G#%R^ zbY?ZaJEpraqogR=t%C~(K^xQYos@=exDCD{5k1}}$}*;da+%23;10S5>!Vk*au7;! zGf1)&w-6KepL0EBxD{dlz6^<*pIH9q1!>vUmVNode^Z{U*}p1J;;d1gUPb>!p>q7c zEmVubzEiWu$ecJR(nR}qY8V!+dvJdku>pERl-Lu*g$XJpA|ER0)2IMULQz2iT-y)~ zF1<$d53lj6vPa0Bs4tu-KCiuYqTByfqWF^3C;Goj6kp-`#G*F&49f5W)OFX>NSGEN zp24robFA<5rsP9!leCu;oA>F`QjRjNWN_vpzcs}8zI3Mw&?-;$I$U^4*cJN@BS=zoO9SJ$%$!?sfCbNJQmmKXGP5i{kL-Y!JZVeUc6)>yi*X3yP8VCB)0 zGu#r3l@Hl|lw!OL;U$LT;9`As!(L8oK63%KvJB@c6XRR+d|%q|RGF*9_*R*heKPE|@xQ7w zuOKqlnGMJz7Gi>2dk{kH<5m2sJo;++hsAjIa$@t2Tb5cRb}vImed@ak%yyTf0-ZGz64yDp1y=}ngm--- zMEfp>FFWe3bV^C9S~AF)LN)w#D8u%|=UoDCrv{Zp9;0ixx!)eA$Fef}ak@>+eUU+S*r8x=+yvQ z>6;)0;6|R(gYaO~w3ogGkMnJc@n7&CBK{ntM>|8h>3oMU&aZlxe(C%w_8mv z;2po1h6Zh-%V7R+o95iXi2gn$a+nf~GN#kAH1_2X`~d|YxhnWW3jU}@@EFfQ7~xPu zcYX|d1uD2aS4|f?Q2%)jUQYA?dtqG|TgQKM{HNi+5B_h$|5E&K#Q!V!$D7*%0|j0^ z5+V-&Mfe|sf1Cx>sDjgRVV-ZVh@d1xI0UDJxJkcyNTD@Jcpg--8rLM{c}PualJF&? ziq*6x2`j;h)T}0{tB2IQCJ7(bsaP#)lD_i9YUy8-h8=Yktz|$>+V9?YwQAD7_tI+D zq@DEA>iE)vsjiZRqnfxrL8;D0ThT?dEFPS3Lgmo%N@A#9PQ}dypI8eA$#eMxMEeE1 zdeU7#upO4u=Vuw9l>XPY8$nqiBnI`Ef9W#|B5}c#i)J ze%I#|5Kuwkb{PZFPXLu76Vzr-;ivKo@&`~gK27jTNjgJ*jB99sMk#E}zuyo}G5E4Q zlV5p8tO?Ylk}2Cbfo~n!5M3j@7QZ;lpx7wI9!x;>EO%={JBo9iCD~t-OgEjH5;sDo ze?#*aiL*wcx$8#sX_R0VCD_8?qfep=aFryEKn`%?;1Akb1=B2I!l^4b z2gGQZ!XFURd{7rHU@tT!oVCiAZs55MABjt~?QXTHsiO`ARQ~X{O8iLVb3{fSYGJ7G zzB<9_FQD{0Q~FUxsU37uE6Q+|ifXd&9y2eX1_!x)c-BKUie%S_Q|6(D zJf)&c2F28OllpdCs3^9CTsXw1s zP7hI~3+SM7Kb)+`S9tS<=QS^Z$B9ZfH}JEDYI}Brb$iyYp}ddW7TmxdogHKgvaf4^ z=jCx#go2L8;gnz+18_9?2hqp8-m##?6rC?NK{NlH@4oo>%Tx2G2I#JP4+#0eBJ z1=VE=)hdG$M8zNgj@O7|D*35Gx!fGoh-Mq5coYh7;-raa?xghcX+)>fmbewZNpYuB z++chwY*1ei%BLcbQZADcN-#=o_${?tfD@C@Xc$FOI0?L}h>J%x>J5nDiVPB-O!DJs6uX9durRr7)el zNI$lUHLwE}@7?rE?VdddxW^s99vme}oMdzK+Xla*cAUmJ=kJg+eG6I+9tnPfpAMYm zz-YU@bO9_VW4e9?4H{p@Pvu%p)F}Of!cblmkA6uOMj6I>`TgLM{oOEk&;tl!stotA zHbFiWt6ts|Kre3wxBO02>rx!$tkzTwepjaDBNS-k!zDXFmBJ;6www67^H5RTNf~%O8fUU_QbMFJ|FuIxPL-2;_i@jR;3B z_3}sH!3TFyhHI;Ae)Vx8M&%|V(^-iP(C>amx=zQJr&!XA1*^Su3$YeMR%^)8%Qu5t zo-EfNVf#RIf*Z#sZvg?x#<`l1(5)mCb(d&SO$_=z8>ALQdP0(1sN+-!uFmQ=Mg8LZ z7Zgg_6qrgce;Uk&Ja)FIY;Vn=k!3wUBd#{A8je6lOFBfel#yjGUYkJs@tu%Q`YY@I zx#h#g@^D1Q^BE>_@RYYB2WKuLC=}Z%ja6_YLgZ^%&O9=VkG!MTl84Bc^RY~CWRE;= zGE&|*Ws^>LmEwJz@+eQ5ZdIa5IUM}#qsqv#ZxB^4$ARJjE61~v{OAn3$04Y)Jsg}F z74{@$kDheF*NquYv`ClV{6QgAuN~*}iZ-VbfH2H2poE%O)BlYbV3ru<3GS0Iq$2fp~@+}G*MjRCOHisSZgi${v z!`|^yZXj-K(a64~0;P#Z#R{A|&Fg&*QH65Fsyg0f#jcvXuea=k3(D<7wFqcfO}8L; zk8E_`BWkan3Ax^IKHd>^!TU0Gb*Os|d+qZaC!n6wsn>WtzMPc8If(qr>sZJLY3NFX zQ<`L9ile*70xEG91a-gi1bpukA{qqxIDSG*g%{^2$va=<^C3|K>@6?HnfAts0pc@1 z-I<1n@D6DpIJ5^x4hV(5`AZa&2|4e?_SN%P5|D~;OX&EenxGAfSs4mgIVEg|xo;Y>9A(jU4@{$~RN zk8vx;30tl_qOp!L4gvK1kqX`uo^p`SgH*WQ=Rr1oKy-s(zCsPJ{;_fRA~k+C%p+kh z8>mxsm5N?YH>vQoAj*r?6T~@Ap;O?cyR~TKzJXdVMihP`DL@!ah*0Oq8?~&gI~p`D zjR0L<1u_~@k;Ewk$R2fB*`5E1CC)XL5;;wYB$WNeT?DP&MLmE!77!@sN#5h`_42PM zy)&>XpD7zPUoZcfLcZd|o6k}d?-c?xf#DJ$tL33~na*q)5JRBTJkse`Fwii$h4jS3(^L4Rj6%)( zAWM1gS6+9Zms`vs}zHC%xU^M_YZ_{>!tMY$|90>VbKV! zmnhB<9>4{i*%d@n-{7b-QdU{~DXJEpgS~Xi!CqvR7}(Bde$02bkWP7|5dLJAND(@# zYwn-EiY)RfLKLM49sA{0MWpk-WW+dEAxu z18t-y5zwhe^W#$>q35R!)5`~f$Gtc<2!3hjfC>t?OG_8&{Lzyv zBY7Gp;?w%IMb7mWIfE^7C|t?O(aT4YuI|Us*Yxtaq!_*4Azv!tmpSmP=o{cEmpIoD zNUOXPoac&G>2G4_AJ1ho(jKck|HB7xPe=B451OG!k5r zm&US!K1BtZz#xXd+W4Q56c-K zbrHwj4>i&E6vF!T5uwlPA`oG1y7aq_=GIQay@3lRm5wB4{9y@O8}Q(UXn$IO`$J0< z!3cnN9scp4Cz8PME(X(H{(_&GU;^5#nZ$v=`^^=oKK&q>q{yApV5p0P$wdsEKy*a^;R* zcJXc|x!Ik_jYuVTTRypUdXw8No8mr=ShzzjghE8{>Q;7fqzULWUruzDR=`ELQY=bylz#8vN?4`r?i>3NL2<5zR^F zkwH6pH4$Tb-aMm;czYm){OsJ(tFGA2X|)6NYan-a5xAV(en{Oe?qVGlFZ%@ib2vxG*HsXREaPOH{p_4IH1 z*A=<2c7!H{#0g%X-2~*#qrDx8v##hM z5vLGHHz1+2DxGedJzmro`HWs>6v`-29wRYzk%-M+_n_hECu?Fhmk#0us- zkW8G(bn`Dbw{dOFP^h6otC^O{@iOS%QE-N_B{JxCPM|v#C*Ju0nyk=WjMlOxGU%Nr z&@ON}WYKMJKr>nEEV_>is6i*nUl!fo1T>U$n?>Jj0>v>cTdZeP!8yvIZE4VUvSzt- z>ORmj950{V*#)w*o(1AbMhR@|0y_H_w010|Ks?2$jzUi}TB+haBWWW^vjThUswBF^hXutuCK6s;MfdJ45;)JLHhMz^?9TokVZUMvh0 z{pX~(>H{TcRY1i}Q(VD7DU5=EngC@pXFfPv1LZTaO^{NG7(D=5A?}gv&u9uz6k7Xm zMxo5vO-yF=B6D^Z(-|!&PjMySoWV*)$H$YD9%3V-TbQ$0Ji+L*^0Q$Xq9@)@Agv?k zoDC~PpYZ~t%8;{RIik0CRYN@xU(Y@pCPZJ%-iY(Da(#LsP&K0|jQWWW8T~ScX#K@y zMny~;Ai{Num%wO&INQk*2oM|s9T02Icur6~&6r)Xw7RzW9 zr!ZHk@$W z&LFfzjOKW?`x9C!CNk<0OlY|%WzNGKZ-pr1y!Yxvv=!oJ<~+xoE5uCB?M86YP4M#= z?QSX&w!4sC>IjOrN-Q*JlzDLFN7s+X2(XelznO4P72PJhl4brj;-0EPpw)(kJR}Sw zv`(yJ&eNdLeV-ec^SfJ!cCXmPDLfw%yu1+O!4^h$Eg-aB>}1Y1!Gt!57Z`11^oV$w zId2<9v`58jj3$gHv{~$9)REB^f$bjTVd+q!Z55wDGa+uiE_nHPj1FJQ6mB5e(+a(< z(6`K)T11>riyxSC$uQ#F2}CkSkCo^=)9N4(BkAl|lj`o;*}==l0Qs3z>$(9I0y&s= zWT`{}CYAJ5rtKANnRXM)+$)?WrEqXa@bd1)J`u~bW~|wMk-(^mb=fcS&Go3QyO27a zz;YdIl7^5ek3!&kr2D=o*1TXKU?H3c7Rt#N;R?6sjoJ3O? zbyX=$WpqW+T#V+x))a4=S&2NHLLR0W`^7BI(FNA}fWYDeX#E$GB@PJe;sC`*6M9Q5 zWAxxiLWjgE&TaDngx(c*u%3M?sZ^@PTIOto^t$6qkhRR2%~m=h9$@q_r*}lGH>;3B zbFKwP#70JfYuyp?1al7KcwdOm8O>4X6r*(to#oPOK8tkuLj1tA7deG5#LtX2DD)d! zq6zA!0Ov)frE+ckLf}ml=rT0ESN}rsrO>ew5h!LWWM|ZDyrf|Z6Er{2_84abw%&mr zZ%?$ZL=dAhKzod@1@_NDTgR{r?pV7Zu5(912a*AdV&Cn!@<9LQP zm}y%T8ftq8Enwq~KcfdTv{5!{50$ABjb^lSvP3sB>NY{5@hrumQkcMczJ_>|-eg8) z;3QPaocAlvsho#-qa>}2Id>xULNxtp%$dlX4y~Ngmq@)(IJ7y8=CIavwZ)A3D71p} zzB8Kg9;iKIquQF;G3 z)vp}85f&&iTM=rep})|t`kjKZ|*7#+gHa-nFWb>|c=Vo|M7gljz+ zh2ychP&l;#meixPL5%t`Em|AQQa)rUvDz?3^%%9+Mlh0^bL zx@2fmESy=Ii_`m^)63CjSZKN0Oh%hoN`W?q(Tj{aY4a?cowfOlnzEGZw8a)$H*G1S zH5{*4Tfyi-MkU%RMlyxo+8wORP%KPfhO4b%^nrs=KkXh1XMb%S(++Za1GW3@25P}A z*AwR;?Lp?0cDY`Am{D&|?*?rPqgxq`)Sj?#j@GtY&;;!{P63xBK;{(fWeaVp_A1k; zw$-gz=A5Y_n1@Gvw7MF7Af*p%%2d2Hv=yvTKy5T@E49gUl z&1kv@T^`hIjHG4{X?_;Y4Vpir)99%R#lu=H zM$&>CafPq9{XL@9^Yga2OyEw`z?o=n1X4Mds658%9~I=QCOa zqlt`mYLSc@v*n-DVi*l!vBJqnEWri!OV# z6bpJyOXqmff_t?rMzT)4q2*XO_i4FIlX*X&6M+Fh2pF>k&!IvZ?wr4+IL#1MauWuRHk*oT%l0>s7+&3AG;TY;+!^v(Md)> zYqJ=oaDRPXn`4pkt2UQu3%JBCYqv1!&YXW~OBwZL%`|;EqxZQc8~O@HEdwY$Q@_n3 z)26Rxnrt~u_05c=X3g}ijJmRB&Gp9_b>LRjLf^({IHOkjQ;b$}iM7^uFe>2wC0yUd z$l$)tslUXih;@n5UtuKcON{=SMYA}4FVmi8&JOwkM$LKTO3)87I>;zdf1A;0?z58g zcl_wRluxk;+ek~+tNp@6M(bl*m>Agl1l)1#pUM8~*dGbMCW_i@#*5=8Taz2j{%6~f z-)MI_SQAgQCik;8t0FYfwq3*ankZ-&3fJqm+Z(saZqUE-rG*XK_pi*WB=_Oo(Dh2zJeR`0%QW?=cSbULGTq{V-X&2o-OceExhs@ZyA^76vi%H4w z7e$aet~3Yks}bbB?ur1lx?LCWKQq3kaw(*5`wrr{>-}nX5bNPm$T09%w;RLm6mZtA zm<@MT`aHNlxfa3=SwP`aduP@s>gubgV-%I-tbxD7;D=b+G1Qjoc8?(B&*+C#cw0!@ z>}V^Fgl%@1;?VU!2KTDGuLqUdZEeXW*Ry*!?BlKj(Y>F9RSzv8cghNKPjJW$aKpsH zrDQQ@s~zooRsP(Q?%P;dhi|H|SM45^e|a;=Dt!z$v(4;``+v z!EN8_7&sdbrgBM|aXL6iymHHr&}8!>azF1!^3M(+-EK$S4imrJbP}dn@rgeo zq-z+3Z(ej1?m+g3ET9skSYe_Y^N{2)F=fUt(C6DOn;q`l&F+1Hau<66(zaJ!B7I^n zH_^ni^X+&UsuXo2OmrGn3;qT3NHLUzTs2G0{C+rcd!76Zw3BS>Z;x1cZBeTeJot8m?V&Poky z(ZBN5L18W2AxjIpB4lhr*A|rb4v^-*ECtejMTV$=V4KJzDgt{JuE5L6}JIO4<$_(h+XQp;JCcb}VZ+3rPI0n>LhfaiRy8dV$Ce}=? zgS>=t%ew8luoi7aQ5of;yff+ZQXg`A7IlT>w%y1dGKJhGlc;3ppv8rWAJI-VQ8KCr z{C!7Efo{LC{`bbaVj($(%0iZoESG?o=}6rgl3sNZwef0Oc}pZr?Cwr-#Eq|Z-r^FaMBbs?3=tyH()i(cxn!_-!Hzz)$FQLH{225LA-tA zJ&+JO;(oYPC&R?bd0QZ@>56CKgM&kQ?&+Me5r+-AKGczVtyUEf9OYvF3*leQo{xToEWrIyOHiBnjUCwt8RjoTZiPQeNWa-3SX|agt9gM^s{yr0+u~Xza~%9rP3fNn z|7=@vExWiQ3Vji~#PfhBJO{d=4Ptzx@UYs!Vt7C(+=k{vxPC$8|Jo5+o2b*^zo1e0 zSM?@x$QJnT*QMVdTFtiYz$i94h};)K$(`7Y+`F6aXipOA{s$hM%+{qr2jUC?XRl_> zI^ca1gy1%~!plu4JRIRsq8R!I){BC_UT8Ypy3LB=mNq9hxCObtwHU^7rocbjHXRbE zXSRz`mGj`gA7g}9=8p~VUWRrGA=KMYD#Z=ShPe&BA=?o$+qMzz3!y(+!kaXrQls$S zIeh4{f<}0cBdnwm$+;WUM)jA#?bY~WxbvHR+z5U0$_r@w-FQy&T3eZ~TcGFl`mJ!2 z0@uJD5&97Hd}uk9+LOJudi(_w>>+j$HRCAqLL-`8)LuqBrxrd59vAvXN_Ph&3^Y2l zAqkgphRY`|nXl&&KGl2~?h^Zcwof&49)UaCb`ox5$M4=&SQkHUye#e{jbD?2|v8iOA=CB zP#vav(hc=LSd{toiS_mmF8F2t5H({W`uWB6sfRxrGBegL;)ixaPQ7W7v}ow_PGCIT zs?dCoCU+*2&SygUvd)7*-6$p_?}O1-QyC3oPSQMT#wfV%@Nw`{DkOO_Vof#65Hc%~ zq?IR7+rsETA&A_<`t2Ymt|Fqf zUF;8-SlccNS=wW+E~qnmEosRRa!H>9tx@{*UV@t%dKvCivqPI;ksCA+ZezzLxF>W9 z85u~f)1Ta5gUC(eSUD}o|41N77{mUU##>{9MRgE`v}pM>{I|6r$yFRawmyY-UF5h)34Rs2SO?-fvfhY~h@4YrYjFYxN%v zb2zD7F1MpxkBKC!_JfJuyH@*^Tt-iQyK` zKrz9CRwZDrqv93LZ;g*amZ*5W=VPT`tX8y3u54UAxK_~ur>#k7C^kqM+pLjz%!Ae> zG!ieUcvWH9c$xDx6>nwO8nk0;jzYv+o_MJuM0~2^jZYe{hl*1w-i)MF5h}j*aN;=! z^K-YY?@eed{_>#p2~C85xSRH9LQ~OFB1ezuPbM@M?HE-#hE2a0C|=PXn7$*Sg-BDh zZPV8S_PZQiL8M>vPg*(XOxr^-COHX;s+(=`|g35$5=}`T3k?^U-oIOM~lA{I^QP{=O8#D zxWpXuV}CGWM4&>qVS_71G*)Qyg4TMh2vg{p1%Y_4%9=u)h>|q6S)52$ob^$!+lzcg zRgUJU*X^;^;I1LqxfFveoE^jn3ugzcadVi&Lpwc!kH}ATR4-& zRtsl}c;3R9ij@yaPwJT}4q7jk$biSBi;VcldESw!hm4&mTPi{MjWuAD?Cv*~PRlK~EJqdV!Ld6@D z@;s2WmUk9gJ@NJ>bQaI6cpH-sC3F$5s(8;P?*p>N>-v9$4ti2QoX}OAP^pi`m{TOq zs??`o%qbE-DOySLc)gprsA$8JQ}OnhRkQB@h|o3RPu9rpxMGlzV^~IOy@zPbsLC-Z zBM@(jDu*?qr0R`;8$_@|?FODo7%ti<^iHo&6Gn&>MpS;Qb-ZgQ zk>h!Mk2G48cxc}Tj225g=x4t%Vh^L$!nN?PsBxlwlq~m5%tptHEQQ{mPpA{4)uFq` z|ClgdlrmZ)PE`H^RIbq0ZdZWlgmq}`=w4Afae}y0#&e9Qs1I}>Bhs^R;zaQnqchr< zX&SzE+2x@TqT?-uIHSEbu2teBaf;DN?cs5epnW4bMZ>V(EhdTc3SAf(4bGdQDc)jn z-x8uNQD{;s(f&~AXlJ6ei;{^Bf?i^01Z+o7U(81 zN}<8sGZLqW$qGGJl95;@ZdT~%vW&!OqDrB*i5ZDA#BzlmSdo!9Q{1Ic#L|q!+2TQk zz8ap9I7e(%=ntT|Vy8ks0ac1U3Vj4LU%aJ|V}3#6LUGB1iW3)$=6DUB>XKvr;Kb#k zP@y+ljZ0i5iWQpFb6nzTF+icR)TxQLixCPn95prZPON)LDW7$%NL(Y9D|DpWio|=w zMi06-ajn?HXtgNr_eA145s26BDfOqF&nMn1LOp0t;(a3AgZ3xhFJe9DaN+|Z!-I|` zJ}3%2=$picM3D#mlDJ;<_8>E9gSg&<>LooaMtV?q(nc}OgW{4N5l?tfR?;T1(}RkW z@XnkE4NTfB4tmhoq%Gnj51O8|RebJ2OOhTF-+9pONso*39<)B`38A%jTjH^#ZNlG! zUPyXU1bfilr0t@G2OUm&3fG6a;~h_WS|obVcS+BPJP-OUX@}_QLAKldG zvZ(f;QOU1~^mv(vMnfu-_lwaUv^x1MaX_KOi93?3#W{uAu6Qx|Ju$k2jMsL>2gx6b zk3H!7=zMQHOCssPfpRSJFHYi^3E-LFvQqPZzHZL31N zT@R$#wdWLSHu=#MKkXF{dNReKy{*vRDZ5hqwGTXKPfCDxQX#$f11Yt%uNhH){bovS z?RQ3Zh+$)@Q|f4e$&~lk1M;qKt=H9>GurF8Ybl|&j1~(~{836>ZJI)td;E|RsO|O8 z=J?gu;!{YVp|#%S@310yQ;+f(DTn99|} z9jH>$V8KUIwC!)UdbGUk`m zG-b1eT$j?dI{02+&P}hRrfbb4LVC8e46RI|2V-q%S=x3FYLJ$romJ>Q(DJpU9H~oN zppM!S4{DHBsO?cG479FV?Oe$@XK>rJB5j5TC8hPyZe>Iz-7&4F_7Wpm(k0rPjATid zXw@xx zvNU^ZMuGj8lMCJD|&~uDr`3=@ymhspUgSA5v ziNlfG(uQcKJ!p5@Fl|6bnZnA!+tNm8lRRj5+9>U9Myth>iw>oY(K>gMoYjyrP8;Gu zyVE9Uk1HgKx1~+i%tE);N772QDGGI8v^%X#JK;gw(xz+Y6}k?zo3*i>WxVSaZA+W2 z%~5Diuia^Lw68p9TiQJBl0utqJC|0a-Pc9N+jN_mzDV1l(8ITdq%Y9|yGq)CRT1gS zwMq|4O}|aMN1?u;-LBQTPIC5Lm72arYo*ZE$S&z?wGAFLEd2rPC50XZZG)CyB;!3A zIV}BAZJ7&eO}?f8u=(x23ZC{z@=KK*I!C55^~KA--q)~dVYTsGmI^cS=W zg|O+R6zOF5iNc^(wCVj7V zmqMTS3e4E69a1QB5g}W#Og*reP@X~)qC$Ww6{-MwL)*=W+Cz(secHQ>WP8}BeIz+K z^?lkIi5&0GcV_I@eqdDP_-y{r)cxA;l7_LWL&gEEvZqX46z63e)asTHqIx|zsjXGHm%nDMSwB9UmmY@8(ddY@|dC`2h7(`xr|r?(*E zGwmKmGQAVpc}YVG@wOA1(U&>-N%5psOQFo}MdGB^fRWVfq}GhlK5c2tu8fn~eUeiY z4BD4*THB=1uoZ;1E6##JeQKZ9Ug}3F?9+y==u`WQme*gRt&nn7!=pI<7K^0R_cFfK z1~RI0d^5jD{Ge@Qv|23dR$coC?TAGD^!cMku^`jdJo%f9AGP146y)ea#yQP4kZ6lx zGcEHctqvn9=?fV@X`zxP4yFZU{;VxgXkB4I=6UURg$_rCX8xw#G>D}@X1mObT7^WA znV9*9wulkQYzMST($JsfWd5neT+i`DHP999PK90{+%r?tHx8DxJwP^n*AR*Nq~>J$ z>w|_$R0336AFa?0K=pLTFi9H%R9|nXkTEJJvyr}2ApsPs?@_2OP*Z*M4KiLWpceWR zg-VBy$PCk44VSb@KyCGEgMboPNA`#Mr5Yz58Wtfqk*#Yk}(p6MUKeK)#K zQC zPSmI0BvA>_O?st5Hvmo5+m=e&5TI##yh6sPUovmj-&05c&DM`8R2Qg1ubd*|)dH&2 z>9{&7htlD}Sqt>6sS-^BTC9Jk(Cfv)Sxfc%$|P+M(5-rRmqdq`1!vu+Us9+V=yv__ zX_6K+F*xfkeaLi)>H^)P*PbEK*iOM&_v$YxG#cmuebUX678V(twO(&FQ=%3?8}+vp z@?RL9^{75)mZaH%w(2pnC5r5wlJ$h1rO;bTQnI$`-4*J)A|>ldeTYJzfpfb)Nui-Y zPw8_Mik$dM=F@sixs(|Jv{T=wP@^unS-bR4Jg86B^ZHL7G&1W2-JB!iHR^J6)^2?u zqeZAMtF!j#t12X|3?;T#-#k~MhA4;q`kr}&h;vicLH+kiNh?F^e@73TFHu9Z>G$+@ z3mAd(#jFqX6p2s=_h%i^a~M$_d=aRtq>0lj-_QC`-=)w=ppW&?g;M6>$P-zg>S-SI zW7cu~A%&_Vf6O|e(+BpbAxKYTf1!sm+UxjwP;33HUc{)%u_Y~AoYjX*npln(sn6;! zc;a2iIIHiKNF44|JNs+hzF4MyrlfZEw|byL)u4T^k5=ew(0ccXS>Yb^$!&7aHqKJi+cDHcY1Nzf9mlHRfBd}U#QU6C2`q* z>8lhv9GR7^86itK9%LTNG>ujgArHN?ZN^lE&Xn}d_A}-vR1KQHQLWI|pw%*tx#L9+ z&#q&PTIQDdVpgCrNg~LcksV}gQ|L^|jO+%+E`_Q=Yh=`3F7xm;XdyP1!At^9ogi7G`w4)h%;Vb{nIwLWd)FWQQ9^C4$Vg zHmC8OhjuVK(#TjL<5fo<%#JZ;D&*JolkE1!l9iHX0^#JX+X%_|M6xl1QI!~Be4Xt@ z%S=KGm_}oGkw`X{Gg^q6yjo8-?vym~bxD&pDaIv*&H$wueOJl!nos;8JHx0}s0mQE z5w}{>0+KIh=NZF2=#_c}#%~JwCI668XoTJ_IsKAfsn^9=qR`60m$QqEW_L*1%E7PH z>u$WOPLxvhJ1f<^ruWE-CbQ@yMLjM*4k{wgu=;V}?TY7LClg+jvHyC6Kw! zIHyn=IPW*A@0anCfgUoZJs{ELg(GtwHu^p&(Nx6SWL#3{!`>rvwiuHhlC+JWJ#HLR zXg_FA8YSx`Z9QmD8ygs{7BAhrI%lV`SJ6(dT$i)UXu3gio&(4(JWzeMYNA-<|^l_Zz1f$@X`^_*QbFY(@3~ zgANQqZ58)NWs5_`Ifb6Y9^WBj<|C3uefc5dtVG=FA2OP3BAV>=4;k@{C6h1O27V>AK6g;R7ja(lYw{bku`njBsjQgY%9=VPhSm?(e z_CC93i=zgec?~4emZj7`YHU@==}M`8%-G9F=JvP|xs^B4p#&x`_vcBQRJ_{`|0&~#}1xzR_V+p)X)xiLf{=(#87gi)qw)6l=1GGYfqS|5%qXyR|4 zRj3-Y+Gf_1?z|T?sb{WI=s@Sjx%JKO6uJedq1ko2qz3409l(#g4n@O-s!*7b;rqQcYx<+ZEcxwCbHCWwi*7otK;GlX{lfl>6v9Z z6{7UAeK_;Y-WJY$bGU`Gz=yN5xy-`Z*}TWX*~N#moB5iBvzz&`g|oZqze{SpJz;Tf zi5aO-+w{e`z06{T$|fz&?d>D8k16{QY56|p5av9iQI7hWCsn*}`>n_wXqwN<6!uNK zJ$I0KOrg8SJdiuY%zHu7W|usXJKQIQ5oUL$$rMJI0~MkaM*47$G3Q%2$C#@uoMU}B zCz>xUWu07S6lOt`^QUKAh`Jl1OV-ly@&8nfIFCSfo5?p0h}K$VbXX^MZwQqiOCTnX-O9 z;={ScY^!LL-WD_7!nxIlbDMd+g>##EqlNQHAI@jYG7IN3W`%`whY#m2bBl#@m$}2j z`MlZbRe`_NqG{E~xx3AU3Y{AIMefVyX@%Ya+GCcyCOQ8Edd-}vP`zPaeQYZ{) zpLsx`cjM3H9x%UAX!xRwxo`StcF?rG6Lrx1i#e;%n;Lls&4kw}J=wRuW!~gLf#NN5 zA)^K049I)iH1-nb8pnoP>gT;I$o_f9&6x@fSuhxA2_yL~&Sz%mKF*)0 zb=%0i&&+5y>Q#|`ahcwDbz5`$p6Ls-Gc)1&zp|7 zh_ecB7d6PgU=CrlSdf)|Hy@XXN8gL)D;^Y(chNi|k)x`2%e+6$vkE1l+}&u6qw~Th z`G1<{Jn=F^E}8bXSu@0|Zg9n{%ZNC`@^Q@!BWa1h%oY-HZvS%A*e=2rt!QKyVYAK> zG+Qjw);MNeUq4T?WicWv-Q7U5-7Jx)J+QK#X9qEY%SjQp-ku^mTQp{BT{4L^diTFQU?{p`_`l`HgI+75Zy#ZhnX@{vArbN(2l}so&VP zN}*eq&2==fy{*s>y;ABovt3fCQ_pUJ&28E5%6LyXUWjes(KD%gs%Ys!zl`Xd-^zpN z&9N|B4~|D#_s9>k&0=)Mf6e@!qK$2pl*v3iZ=rr%{)=9RtG6hGUdE4`o zY>#?42ZtuxK45glKXBFa`5CrjinHyioX`y0mx@NKMwzzn6^&MnGHt&p+LQf?M3(J} zqP@~@wVq}3J4}k6@&7Xo?_b;MDdd-qbDeCV3SFH3N`8*5l|ueA3PW>jF^ujIZ!I0% zIM-IrXt9{KU~hh&?N)`lj(ID;z;=ldcH=AG%kO9#{sE=8*ipV9TXeLomWZv}(YDcp zB4Rt*97mWFwBz}OwiArbX!BQopWoSb+lNGxU+Z+S-OY$sE&AC`D73y0q3;!PU6%q*+}z7D z6N|Ed{63MWUN_=wsE{^=P?$oFNrd7g(!NL;Kw1S^%w18J5A5K{4!JRZt2!^Ed7J6LF0 z`UEj)7FMQKK3QRsX^(ca(!%=R_r306W+Z)k-sk7A}#tmpQL3@yW>X43>Z0#ZTg$)T3*;+aKtnj<19PKIg zb-V@EN!GTruc7B;%S3G#`-0$qcP46YurCh&uP0Y~n|&_u-Q>Eh-b)#S;cj);h4Vt;`>ouen&gFl6SyJN?cpcWW<@PmY(nwKJ@+%;|oS1==g0 zVhu8~KzoZ7M$XbYev1Qmf%t1M>#n?^otrt%iKq^Th+_ zYIRZ>?eI!k;rnb8Ca;*lPVIOvMQS` z)Qmdx6^Vf>Hx4Y;;#u`vwr1c1TKRG5`)*0az{T3=6H?`*zc_HI_5v$w>F$9mw2w$( zI~B1?`^X{V%5JU4jnz%uP3s|rwm(?aU8OnCA&_}IYJ@GtaIId0oKaE*2& ztNEjT9Jp2+EEUzTR?8=~PAu-NB(BwpNx?I~I7i|`+A^QWhqbMwaJwGBtY|wsU z-|HjRYa6uR*@v_6W19XYZLNW`@MBtYQYTHEg*R%g*@v_6MlFJUg-iO2$F*!$cyv6j zm2xB=9gk~&V;>$J<=PvpwvOsA%C)yy{bSU+9_890R+gNB12<`(unNp+k+?~#mrA*> zYgpnFTHHx&=Sd|hBQkNbwtdd=Cq(4 z+Eb*;#DSrsgLZ14kit@?CBCfvi_~5*I%!1kD_Zk2m~XGqqW5IWt6Dgz8vEdhvlG4Q zR#GwKlgI6=+DKAm;;uX2wC~pLU>_dEd$hUi%PyXmSfw3e^XhO9_@OZ$%1yrQ*ZMu)iQsS`Ie1ZoOn#D zWM#rk^qE%ADjBx@b4@)bBPWbF)uT=eXZ7RK`o!aY^_|c#4zGprip8t&8pW&ds>G}C z2=FRA0=x>3fcnNV@d#*C8eSKC+33S_@ySMo=VGtI^Q~9m`PQrOeCt&>V|o>yeZ30L z;a-L3Vz0t;u~*@_*sJjD+o&`=GkX=DeZTUwTEo3^+M@z-);QCsu$R0F`^BqpF7PUx ziM$Grcdx?Z-K+3;KigOX9`B7x!z26~k59v+|65WjJuj%Re8+09(mWRKFdLOU_H5#h zjY`CxPyCq_j0p{o;$Iro{po)sp7*H0J@fmE29MGX%@1^Wm2rd9^@qn7h*uXv_lz@~ zue}OqXs^Oq(W`JC6#CsXcJbSmSeMY}liF+Ge`zWDGFCm|f6Em8VHpYkj~?ez^k<}x z{yW{GA7+LB^{wjlq~tNC>W-hVZ71nkLxcBip(+!r@4V4v=x?xc#kyRk{vE4k%U0YJ zpu2vSk#Ei(>T>A2S@p>n>T0I@-rol4ZGXW?oa;uqg7j`u8H?|{)fJ-WNhL-;&|ie; zI~pU0B!uYoq~w3Yhw9DGV<|=AmE>GkOFfa)UV&TGN}tFI|BtBd@|y=TSAy@$BSPxD6h)SHrVf7p`4?#~!2CQ+;@yrHB~)-rul7 z^sQE7^gRuzj+>icj*Qh0u<8hNWUPLK)tfN8#p<83Iy3!hP+zj@4)bTMewNkkFn`AC zKe6fy^JlDnk=2EiexS6Avc4m!7#YZF-`%KMvU+zas&-N-TVYm=)d!PWBvS596b^iTRGQ8baz6tLFwgV!P@WSryJt71!xk z{f^tPNIXocFRS;`o^)NOC$lOjOcmYqk*t=Hn#AgxJJDCbs$m$aVvlcz0%{ejqUop} zX7yfL=~dnIO^qtPeRuuoMwJ-bLw7f-RqcD~2Uv|wOBHeYm#iGOIb!4V-&u78)k|;x zhuos%9;u?Y9?RKuf>!s@_p$Gu z>q@WcqkqD_16||WU$1}XiM(}H`@XsrR{y}`4`-AcbX=Pa<_QzejW_7^QqjHI4f+LE zc#QS)JH~F(BP^7UB5%?Mv%<&(y@FI3d{_Ri%cUDCMwW>ky^pw(^o6WO-SVkxkYAa} z`eWpiM|iUS0xK*tMSs{TOBuDY-j%MqS>1TsIaj7W8rE4BqF4-`uO{8>SLO))1@ggv zvQBN0G(xXp^-5BUq*3}IRtex6qn}{434CMy=B4radGg6K$pl^4WLrM(*)D0KUwxBw zcuf-aC-uuDzaG5ZFLH`!?$M@og%vv*RanN=NmCmY?xTGDX)Y5Z^YxclVdS0qDN;q^ zG(5e#OCJC$sCoA7-Fg}+IqTo8Pa;($RzSbrtrwCyY2w-bZoOD41<&?(>$nb^r<56f zt)AhRZ-)N7Pre!Y5ubeb_~pAtKSn-mOKj3T`oCm8s(qGz-lvpVdZ6j8eU2VR3iAbt zIeH8!w>UUIF6ll!&nI%8KC3Y@C25{tJLl^g$aj*qZ@zxmCts0%vN2zfDB}IT*T8;R zs5g*L*0)d}1Z(4X`sD$AG%0LZO40+K@j_d)NG~LxtZ$Lt23FhiFIX+cZ%iKL1|Md!4jW%?3Uk3WzWv|N9IRGBzG=$51vdacX{wPz=-)Zt&`pcHvO zy-FWINY`n%*S6JZNR2W`;L z$TCIo#NHu~>D>cq`xLzX+^8p#k~7%je&g(MJ(YaeyNg|q>tlTKmFxLF`8Ih*2$i`> zpX1|u!mrFH^uoq6gTxd1DxWep`?b14uO(j*wR(#l+|0Y*|E@=olH=v?`e3Py&2Y!? zq@Ky@xh3m*JgJW%b&^{4ls=1;+}f@B1{n$4HzjGS{tQRr75vls9-qkP^jaU^bNc+| z*p@PJ?~3V3FY3!l$ucYbwzg7VO}>)~mRYH9^ND=LFY*<=l6>n#{Lnc`ujrXUSOb1D zxhCl~eH1C&+DAa$CY4ck?WUyNdKs(j*FFiVoK%sR4!%8lP%xIV$asBuN6Q{PjnzMw z2Z=p;HmTL3+r;OR{-LjJR4*sJuGcoIs-!ACJ%rjKek#t=s`W9A>aCS9{&kas*Pu*K52LA8zQp#}YY)S5mnA2o7Hs#j^x4a)>Ioa?KO$Qg7% z|CZJ8f;$GitB1hqZ`hXL%$z~*>rPVe%_P)*&~J}@pkK>AEb{|D-yyvx`PPX8V;3hL z($iTT8gzs8h`yebT!Z0=zJ(O-TSXkvcQvY_K}YmDQZVyDPkg8kZY}$BTJD2`KGLVN z%IrSrhNJp}q~QO#mXC`3r(VTsB&jyA(kpIJ$IOQZ{Zo%4wN897=-VEj=x(WuHGLi* z^ojmHt7rOb0rfGf2S=<)I;Q{1>gh4t1|5UNJ+aJn#-1@dKs94Ea?0z2KGnlm8POlyGnV#OLJ{VM|Z(#Ln(IKYuLhmbTfxe%m~U#rw}Z~=ajf3y z|MQ@4^x=)lp8TC&z^c>GuLk{~7d5JH2mPq8BvmG+6tqh|r*CLfU6Oy&pXbP%#`RAA zS^t{Vdxih(abCZ`DyZn&LBHw&;j%43MgQ#an;t=GwTQVhKKY_Pn|%j*f6?O)y^K_u zSUl~E9>P}6zJFw=CM&ioR_h)dk!-a&+sQJQbj(h+*%q;yI)7@i-R5SMJZ*MzfXxLf z9b!*(&R>!oXsaMqCjMBqB)OUG6;`d5uSsrht7X-Fd3kb>?fnjzuT0>|CLy+uS!Lh3 zHnD}Rj#aO_*CdD9zGgLR>XPJ^wsWjjO?r4xD_cZ_tbJAVE6J^Gx3C%!y)QY;b~~$C z(T9`U+3sOAA^Owg4z?mz<9gI5N7|ONn)Kk==rdZF!^?!GBSNMO|yVz9U91630Qs+NxN63+g&sk0|Lo1FE|%la*_BSX57&(=@=Ikr=*&J=|Vo@=Y?A$|K`YYT1t;-q?X=(?z4 z+c{PbgIZ*(=p}vIhW6}IYHQOQRf(84^z}~5Z4Z-LB(4Wvna$Bh`trcH#LRZm~ITkm?$UeA3p3 z)FQDA_TN@pdZT*1`7^et8!>W`_$}_6-p|>tZ&a^0f5FzgANu64zhAPoA|;=dyku)n zsz|&p9_sj#tsAQvQ+IlO)5zzEj8ZYuqfXg;RWCcLbSeeUPTjPZY$K!+Q*ycwuC(3J zsImsXY}?$ZUcLHN+jds-Ao3qJccaQ0Ty6WKQN4P#+ZNPc_RF@VXRdzBR?lkDgWaw< zVCy%4dID;9Y46)Ir4o5drVKu4JJqNb3_fgIbCc||`js08e`ISDFV%5SM{P@3{gCnE z;7@D~3DWm1sLyPF43uidviAlbx5Xw(RaaCuxZW1usM>Y@(ssQ|`tDwKZtyAF>#RP7 z$bZ=mH>!4>&)D8dl991V_LOgJ7g@bh&@tr)ThJisd!=Ak=O1n1q>4mR`pnKh+ai+D zS0v(!Pj|jx8%%1E=#tbsmRTgmTOW&VYjkIIZSZ5!Va8ZeIF^>CTxCp?3if7MO1SY|qbg77U_6{5 zOSx;wH)==Y9a1=-?Mmrr{LE?}s7^*?CT#*&-G#<@n-KXsJRY&7{`+iy?3#b_;+_#tCj>R98tMl~;WoH3A9w{g=_#~ZgasuiiX z8k1PPlQS(f$C%fsR-{femazJ8*u2z9#>0)OJoPr?Emr%6m8VWI&PxStN$7l+VT_@c z8K1fyvP?6ANEI1pTo<}bGkl-EYsJ1+z8`FIv@AYfhy@n?;U+JyiYs~YBoZ}Zc$0+48 zXQ=&+IYt?)kAkv|`;7IhmbRI1+;2STQ_4KQQs%)gC1g)*w2n9D8E>*G)5n|hjiWyK z7Wm~`V0_7uCB}GjfpNhnvd}NG(9p)q8fKZ}%|fFMDcMU!evw6nlOs<+?f$-nMhyFY z4IFPSH2V9LQtVesv5~@&_gP*|EjEU;+Gx$Rml*SX@;%^}?*U^eM?R`$+8;0;^NC#K z7rDsT%8}djO#32Zk5A-czsSYLevTYzWZD-Shgq#QGwn-^&wcWh`sFJ%{>72QM5eve z_}M3NsbA#M#{F(nvyG*V`@J-1zOl@(+=@Lf`+9|6z7<9@@)e7XYOZC45#bZL(l2tQ z5yO!YTCQcKG0Z3OLBGfcjaxbLQHb>StupRs-+6nkWtCsPGGitCf&+3bWyUi;HT=yl z@^8k=99axC`1@8HZ?JC(l(O15L`ptcSYw=&idJJGEQz^XN+&C{4{CaATW3A!H z_V(F&zuMOuZOB(FCfmC>)*GEzwYM&CJYw`>6&&2f@u-o^>PMrCV}p@HO74fp{K|Z+ zu@uF!!10)IC+GVft}Zqj3w`oE?w9XzV_t6~-Y}1>pw={M|Uls=VF70Z$oUl9Jo-v|kNR`_=HYUk%&*YIx4C zh8O&5c+s!SO5=O3{euuoOr`OMr!8&wrtUCoIo^G=(=Xr7#`*J>@V%-2zL$*_l&@GE zhcaLG%lC@mWZwwKc=Ht_(Wi!8ev!M3433Nwxt3kV2v%Xu7xj77n82!So7&XZj5}Dh z3I8;8k8uyHIqg18{fDuTRYdzwQ(re8VkJ6!omyo)PD=K5wO{Sk#xorGy>=nh-}i>` z68mlscs2G7zkD^ufkvN5t1&+Dsln|R>2BPD+h+u`FQ>(aq5F(TRxR3H2z|@wK}v4>e!nvJ8v{79jlL^%f8(A$ z*ycj$+kTPn7=t)+5!CRGF_P8wP(!V8yH5=V{PGXx=&wLEB4vRW4YRm%^IYEn37*%J;K zpGjp*Sk}?

dK_k#YO7An~E`E&CpHWr&ZAU)Z!j>6h;lV=DXJ3aoAQ ziJ$M7F`s?!+G|@K^YeXbtYhClAm68czR!%U?1O*ww|sVq&&|Hfz^l^yeV-fM^LW$+ zbWHo)FJGN8kbNIG9!aS4^Bp&`*tgx$I_$WSM@sh67k-gn7}GfNeYJI%zwda$Q|lUX{U@+tUl5Pr=2#wWA%`cmG-r9p4B}2EouMqE9HzKCdvMc4d@+m#%RIn z<&fSXXZ<3-F|KA`Dnx!`+{DTak>C17erJqkUr4jwA>SEKv3jdT?~w2PB7eA|I?ws) z0^yfxevv<3qI%vYx1n`d?~osjbW(EPp7V=5XN=~^2ZDQtoHHi)ME>L#`4iu-6pI2K z-Zo}Ty+Y({F7q|LW14>{KO6JeH@sP{=32_C4gdGwoMD-*3hz?7JbLwe>eYUxV>2`(nY@V5qmt{(L#4we_OWjug&W z^V|P!#7QN3PpxtZvzpb?VUAc~o+KrEUNL>|gcZ0ikY!$P&9!*d2)N3#m_JayVlme? zK2|kqty((1M|uIM$JrTh4+n``2u{Wgim9Bh3|tj^KDYc&DR#qO4Cf=yGXAO z?;pphFQi6k3Z9_Bqi&!`{lEnRUG-O=pEwk3os9`@2SA2(*peR zIn1Bfw+4I;KVP8PYO35vm@m-J*UTKiKFrt5OeZB<*4!_$xjC96@3W=_`TK&*T=t!G zY+;tO?_>M+v=-(|teyCo{@dQ zmogA)k7@J`Zr?gAw$b-|(4mf98-3Hjcbz$d^ZhgUP{(ej=L)`e+sbC$&GqbC-`If-I#9(Hf*WaAQzC8ir>i*_@R!*p)zhC4{=34e`gvguB za#k8d-sBgVV1B^9=i46Ym|&h{IB3?|#bXgMO3$xKOW2x72T_3bmM|&-QboZv0^zf!z z_@pN+L_4BII19WnvX)09y_WJgZ@T0jOdlb{w1v|$m&Cskv+MzHneijM>0f=e)VEBT z?nQ0>&(ps@=&kW`Y2SYHP0#4<&HH&TZ+b5DxkXI#vB-8NySy>dGUhI{_?9X6V64wx zlabF2^5&H>PgCufR>WULiaqlLA;P~$G)YT~d!o0-)RCC}97dW&%+LPcl76Z$ zw&y5~WSNdC6ham23W9>H;*8OT}oGv$8_uzM7h16j|d7 zt7uCt_t>$Y`wqr_Mz3~>_utQj?-$1&ei8aX6+aBSwB-Mt-YL{4a*TaKBMs3aLQAj@ z*U?;x=&|7VR0N{O@?H^I5IvR^F!ns@nwjWDw7@%w|12%N_!esP%6UNUS>Lqu=F|So zA0HH?&|b5^Uh_?32?P2D1zE_e@;+^9DVTU^%*N|6@15g(OS@beBO7}8mf#zSUU~kK z?Uy|uEzRjnC)3V5F|sVlH?MCRy-iy_7RD;Pt(@{!U$Gzjx6!v`-!ztX`AGD(?{lRs z&0mEvzFR71`}d~#)^fQt=6!FPEWtMhEk`1+RPS|ut-^SCeHn}~%;g;$Xg_qta+>zA zyXTeay|TAF?n-&v)3wc#9+%E7Xz?GhO)c)8xOIOe@4p|3^VKsmFP*ROoNghz|NQAG z|KH0M*Za>)!+I~>_CJrjTzmXWxODG7L-UXS2**(&k4iZsdFQ1|k4KDbIznV#Ip*cr z+VlTyOw-z%TAKEu=gto2x)IQye?DV0Jr*t(c{w|l zAjg33?D`u#PxGH$eZ5WRUSBWH$)4vc8&o%N=)3x1#CT@V8v4uBN5^_biv|fy>Pj{xd4> z&88ObzP5-sc%r3>+(Nt`e+-^!c=j^JT;406kNxN6T)CFZd3~Qh%k*Dq$sa>;i*Orp zdp%of5#8V^pDNP8Ze{!SzuXU(YvEsM&;P!>c#R zymuH++asmuvr(%g2&E-+jnd$?-3@!nd9Bno!2e zdOw4$vxr*S#wXz12jgT8mL}7(&9~E-^yXECv^0(Roz9-Y)EL(JUcR_Rscg?BSQ_cL>sQFSK0txs^t&r=M{g{+S)OQ5DWO>;dn-@Eqx>)Jt+a zjHYjU<&^{0;wf3?k|RyF!FQ}mi;VI1r+gX@-*WcG{*ikJ)1IgFn3hMJjPamv374zO zTf3FUp61sN-fgtdoas5HunqD^_lzsKMQ3TY#64vZ1+owYs z65pUXM}9B4oO&D4B7!rp2hgjCFX$U#S=WBp_;c6X}R< zO|t>+JO91bw4J~C>{*$Xdq?&U-T`@zVwuLXq(uy)7RqgrTOsR`_1>O}x#DTQO`U;h z{5_H)WDDgl2QD|RWD6g?-Md}Va=HB|OKUn-<#8(asXRjE-1{iC5zHeRKB_B*Ei_q%WZU=PE%rM>@G(!P0R z+INfO(YL0T1;*IH#xd#NX5aXOU2q#OhfPOpQ;Y2LruH^;1WEf?7=bF!v2w39jko`s z@o%SN%O9a@Bwv(v*)!Pl{@0?u$GA-Ip>mqGr)kUOQ6pzsd0gCa9hNWC5@n2U`UsUT zw_4UHy>dM7zsy{5IlDZ@(W{8d#o(J=EuvR6_W3}%#ydm5BJPiflZV2msW@6#;;ze9)bLkZkb1w19GA*JUei^8WM;pBsaX(yL`&;nW zgC5J(be(oJeN&T5bD+n9Tjxz%#Bu5YY4Ntovn_H?mTgO-^5t&>u4M7F8RI=^Y^^7a zdr+nJdn~fdIvTyQdH+d{0xzbDbsG;dQ2mgE0@8TPhk9>9I=e<#>9 z-a8B7Jb7vS`?q0fO@ARN?RcJr`+bU$>7OqXFYUfDt>I|(e=6et%=5}#tXKX<^mm_c zJ>(M=-!UUCzr&Mr3yckKpL^`y-uw6S$};ij{%jOp=iu1T_^FPp5iKfP!d7CN{YN`m ziu}GE^WAFS^q=Q#I%b-d|7S-Tmew@yAv%vVwg2@pn?`!i!vATF-aRFM)!=#V-{%F)}j$Na|wmL})(%gx?+Z2Hdt z|9NE7R(%G)pSOq~;mQG@$X!}vQ%lqBJw_!2(7C`r{?c*o@5LHDeI@(W+b2!idAZT< zZ^toXz!jWY5d=M(RU3#w1F+ zOv^Kc#BR4@pLC)7Uu=nmk0akb>znpoBYB=Z; za{@l~@Hr{gs9%YA^%Q(g!{=Y{ISZd}p{(zKzZWj`2l)I5pL6i}2|hoIe(EpqIS(JJ zBCMKXSPi8?ZLioxd!-aU&ET^FKClkBavyw3;WG<9E8tTkOo3}n2LrAimz^lZ5N*@Ib62~bW3~xh?7TuL+ zC-)JG@+GWx*Opef3l~o;PK9)RFDpkhAePemIug{b3!^RLlslk=amu|= zLY|TW={zMG(z~d%EcM=TV=ZIUgydX6+pzv(jQYwT#L2K){}{EjC#H`_Bjy#|1(vAM zn0_~_z~X@aK0K!6Q~UE3eMz0-fHKQ0`3kOfSOE44%Ur67Vt(`d2_m&vGfP^ zuyUVfu^xsR9e}tR;xVrA$&zcVZlxwU*fL#xde{%@9QC6vH-KfslEKz3=7&Y_5JE&WDK zQJNPb&M!c`Eg$XAPJRL+pPjtTnnm$h6rV-$S<2VNFN6Kr$$KE?kIwG^_FMQ7U})q= zRtJqGhb497DM+_2KBhPE7L8-C8=UKSQcyJ0M~1IfLpYDN*7RiE~QH-y`0i(D7}Hw z6_nma=}JoPrnH;VwSZ-o!p_7o+1mfe=3yqO;ixR5Y3vOT1i7NDhVA>!VmVB0SB)tT4WoOEP`tN2deT?)P* z$|+{2CD_7Me4k#K<;29Hwld45!p6)WH@v#;Kd=2+hWAp(vFrm5fAU!z;Rv! z7R;5SKE2`{+b+w92S2nqp;bTFVyJDq6nr;T4Aq#R1}xN#gUZAOt&BKzw0aHT&JH~Q zas9}C5MN=5Q{N351r}UG(#4jdHU(h8btKctlA|8$yTV9NM?CnH5l1Dv2#3=ajZ?90 z!)aUcs10SxS=h#EvAR3Fe}*j80$Wu8X+_NCGM`&<-YDU8T%S(na<#3I3b?bwa6nvR za*cYcnF_eGLp~s`C3#SZE4ar@rfL>I$%|R|5M?wz#R} zS}N@@;W70-t-t*kv@IDB*N?1Mm+1WgcXpTni0ed-qjsL5TF$9mM1T7^@Gb|$H69zN zoIGk(p1`q@M|;+4#c`NN`#nMJz49e{wfF^k@3fk=Y?r+)jM&%hN7Zb2pJR@?d-egl z1LDuxacul#52bWCp_9sqvHrL;J|NCIS{(|wv%@GrT>r73b-HzEKtHhD0f_57x~%tU zLjzo3nFEOHImTFVZX8bb;b7kwFx-l(Fpi^=^8gi*XB_~&ooB@r7z=1y3TRtO#S`#W zw0wx^rWMe3eXkUc{UYFdC80zSr3$9xjLq!WiI8KOSwwK*D$tA#IDY%VlL$> z5ij3ja}-#!?QH;ec8CPTwHW6@$rY9oE3V*JA_k7R8SvH>H#?SFe^I6a?(9$ih$}3v zp-4PlR)FQJ=IF(>7B^TQvrGlt*^NB4%!CxGE23(a@Nm|bh0EUy;tgi z=`{0Hk~cvq151JunRFfCz>#r*Da!Nt@qu`jae?LW{8Ydk^6t&R$YX?A!!R93xO40T zNNZE^OfklV*diM7s=l)WbJXf3^DtNEwSg{bn~PeK1ugk|;BIO|7PR5-fmzUo_W%cu zJPi1FejQ*AS@ve2_ZVT;Figi0?i~9Qq_N&CsyB=3O@WddU@OW1v#1Sj>YrLbI0ITk zBhT91*7U3`kgMOqlxBFgn%*pi+7?4?o34y_a9y+MP|l;x4pR%KLurqK1+R!o>HUof z>WZPenjIsrlg>f)ls-e~BFi~S$56VK%5NY`Em@Y+*jr9xZ@E1BG~8bfKsYlJhHH+| zh0UFu9y@e>^KfnK&=;G>i1)8Kro;$)uh*N$fcGpMr#FqB40EpyE#m(4$8F!kF&-r1 zG#okoG#oj#v~?-U&aw6&7vw6lq$qoe@GQR)&hja+b$x^2+>wF3cMNa?wQvKqa09h4 zopL3pWiT@wv`kBXiROeL0hS@K$JK(NX+em)nkA_Fk~1NFaph>h*Rt>oQr$TR(ko}7 zH(=pZNbjDV7KG)@0gUds5G(__%r_EXe8TmK>T@5&|J>jGWkN# z1?9+nU4lzAyb?>WbY3_B(s(_*T*K?+1j}bVGJ+8o2OWg#w-LcP>JGRbTLUFjST+#m zsL!of6kI{+ZG>ADJO?GH<4Pk;kXyF04p_|MYEI`IHpSJ-I}|#-Ln@sc2hj|WO4}hYFdz+TT-=ja!4(; z|FCR7Z2P8=QmD6gNO!7tJ++}Pr8lYXu6#LUllmH=EdtZnLd4x6IqKP%cSDX*$=EaJ zLryDibdlSow8(+l16tJ6R-ED5!%DBQo}(6?(>@urz;RBaYgCFk*VyLaEw)0v*?_MR z+9EKG^&;+uE!vknsYMZ4N}+#RK%Yb=VbA0cE*kN&HANXYYXRlz9fFY^Er`9L&3l*3 zrYrL$EgGQShgw*5+?x&^_hzVGH0=Er;ra^Y3&5Qnz6Hd!N1ZzE%@`ezxEOux(6G=r zuqg0G#Gi-sZxN^C8l?U7>DHS<`$4XufVkGEi*r3TYoMkJY7cOTBP}G!5W9_ueSLXB5`%m0p@b40R}Y=5p5Fy=BOf zmK9LiLx8wu=r*!fQa@DaS#3WCJFXtOo8uRTqXkzGt)#Y9YIrx{rXH@P9zLv3Se7ad z>kq<;^v5VyJ>eO`9QD@~qg&;uGvNq22f1q12Flf-<2rihbQ&`{9t&0*_P^CuzU(Q( zYQuFq&p`=_aM+%D;FDGk+vv#pR-v|2qY%@2e%mVChW8GkHoVJlQeLO6%dAgYIc)={ z=&hYLT-`GU>@d69a25@<^)cGCjw6c$@W$5tpoA@IiuJ_OjMfJ&1G>N!EX+kgVhqgN z6&AEiXq}*zr`-y+HJtgF-*H`H z!?#(N*or%+0pb~<#8%M>ahCHbqr^7hnoO`iJ9%uI<+c%7XYFgKv>Y|8bhe83s@GUI z*l-^$w{0wVs!auZpB}cm%{EFe2UJ9*4bLFEZL9iz-)6Thb>wetaLzH??zY`|%TsWL ze{I)}ZObgVtF8sym)WPSoBFWC_D<>8wzae^hv7Xn^V%M^P3rnvn`2aRJ>eO`bA)p& zhl_&4=2+6RT8DL4aUPyyEy%brtO2~x8Pm0EVfI}q_6 z3K%OK6Lh6XKoV`0zEx;i9?W8>q)BsF$`GBa$8m zJ6<(yBP_MF>G~Fwwz2a;z2$GM2PEOfiS4R}WJpTDob+$bQUt zHwM#qWE~^#8L(Ga&Qbh&1>bJmK#}#rI`h|dRulWMUaXrQ*xn7-IhbxUzjgb1@nA|M zAog|)^c&je&b+$4!wiKx6ooC*cZpC5ZdZG1V_s#XK z>c#zo5HnH-Lut-5Ot+qf7?xk(s)1VTR{Kd>?Kov`rJCW|vu0+s9aO z6m6p?MfJ3Q>jl1_xSsZSz4&GZwh-S#TuykoGhC?~?+cy|Ew}2hqm>UDv zy7*M8U9Wk84F=9FRujDq)MHi?&&zIjN>gTOpq_M^ctki&oQJI@_H7JVV#rbp&k14F z(euMNviE};D=aR;bV9r?!ntL{gR48Vwa$QRo;lVpdOqEuTG*HM7sEN`%&>qK<0zd+ zm=D-Z%crfV)Ubal=}HW*4DtH#{`A<0GHY^Sf3e<**O^Dv7QGT93ZR8Ii@DU25)-cy zmz(%RXgQQtW?63H9ne8>_WII@gGwj3%RZ}xn+%sbI5wj9Se8C zUG}Z9;qA6srxe&C4=U|5vCZ={`it#!jBiz%N4ARGKz&#NsE7&^kJAe1$+PyY$`ifg zBk?)m;K*t*4zAh8s44J{!V7dpyI}dITaefQ{k8?Jlm^VdBhrMc!H$+~R9b@i(!`Dy ztapCoQMGznStOpXXG71A%YQktl45ofx~bk;Lbus<-qjrsQ~I!3=z`~F=Dn~N^66Q` zG1^o0RHNJ6XP@eDo4DR+Ke}$LHIK)nLtgBGS`+7lqw3&Q<2$Zbroj`Wqv{_E=5{X0^bSNk7DBNxFV;EYZcG;4E77gN^oOMy@R7<-3_N2_Snb2ycmqps=N$sA|Dz2s+S z1H3m(bZVft#x;m}m^LQ{;Wpx`r#b512KN9TQ*Hkh4FOyhc~dG?dDGTQ*cilO=3hPXcWcFIu)7YD%I!FNSlI~9QaEc64u z`)w|jHrKv*_IXHSFU_^%ilTGvxRPjtz<0ovP)vzkWS)mK#+2A`EzuG?t|7Xdyvyxf zX7#^%x&8gyE`}|)+3%!DH9{SByaHct z$CX7l@HiRJ9=8bBb=?5D);Hf}*_V9F)fH4%1=Uqy{~7A4;JWZ#ZVl#^ARK$R{%eID z*CGWklwV=TwMQGw+o()j54Hi`JokF@ZB*Je`_`VTu5J+c{@!h{d&G8{nOEuQ#uxT$P*)-xJqh-X4OvaE;hXJFZaLU{+EtTp891^G`QzH;n>WbQRj#Kbh zi-DMg&dvaQvzawu-ZJ!l3SMUbzLPC30KYNm2Qfd`oB{aGHfzAfg3rN=?`Vqy`&qjS zu$$%zz+)sG(iN8Bly(N}fcS9%zlssj;{tYexD623STQ|76jmNT@Zj*!p?vXht)(o1MrP%&H#LqnloS@SVF0P<_2K@%niW)DS>jzETIa% z_c2t#_aTN;%yNoZPBGyM&K2PbzKb$k!8akUq1wY0JQl(geE(s%f@6LI*cGuM;7H^# zWkUe2`&t2(A8gwIyJ_13@SGSSms%K479VGRvUnAs|~IAEcv6$8rtf^RM%nXd585FrH?^6$68P6dPvW=PF4>^Tz&0+y2?5e zfZqq53BWtGa{+k2(-2S|a`Uwf0r+mKa5zI%fCax5vO4gd&f&oRaX9e%mrzQFLVBhi z2TwK>aa8FD&wInk9uD^5rjyc6Navd|4typbN0vCSB-{H@x*wz`*jmsoprhPy2*epgaJTUS6a1rSrT0xd=WZ4Fm z7eXt^vYRZs!4lTe?ZCTxw*&9)YoW(h1|0_PS^F`HIR-HgwLI*&dFexz!;V*H!BOwP zd+IX|ye~fEztas=Z2RA?aHb2$R>ekz<1?~j~;c;6Hgi1$Hpfw;fo0`WemU!d)N_%=B(b>#0c z{Q_~#eiwMJj;$B(r6tBX=qe)Ayx6yYi%|2M2t-_2-(k+M-3(q_oj)Do;a=Wc6ar5G z%vTrBj14tEX?-sszSk|(#1-|2L(EzG@W3LNTgCya*OtkGsJvA}_AL-C!n?9oO5=3&gWhejuL3@+n;qh-a$;N;lBkN*e^e zr4-KoxBUc&?;+i0f3DrrfVkdtC8aCvxT5qpIz|kUF7|Xa;0H`^01g-X07r{jz;WUr zU>@1;Aj~K4H1Q$WtHdXOZnD2c_F7Q~mXFDPjO=w}uc!E@6fAAGg1M>`tjn!nU2iE^ zTCIXLeoWp|glEX!$%66GgnbG712z+bEnk8?lPtq6SXvdO-IT7S^!t!*CKOc&Lj*1xD{3_ zZiQj}4e)xaxUQM#YsL6}Rt?e#ly+IEMl025#Tti@eK^@igS{C%^}%*dBD{xi9^nIo zWrXVqs|oiL9w9tU_&wo8LQTWc0twp^MiRyn_9Dz897C8xIGu1F;RA$agqsMTCEP(+ zO?ZIt2;p(U(}X_}UL*|Eu_bK@I}!FGOd!l698Wl%u!wLi;TFOjgw=!x36B$=CH#p{ zvtccfgt3H4ghL2N5KbnXPB@3KlyD2-cEbIH2MIqV{GRY4pdn1d4*N6^cD*6mQo0?a zn~7+`UW5sRLkPzZP9mI6IFGQDa4q2`!eZYSJBxS#L{;c>#Vgck@kJJuUa*p4uouoqzh;SjwE2Vphg0m7q%#|h68ULaHgu|0u=EeRtDqX~NvCJ+uG98Wlja5~{U!cxMugqsMT z1vJF2KpY!;$Z~-2Q^M1PKM}$Y&#(=IZ3#OOb|>slm_j&$Fo*C?!a0Nw5S9@>M!1!5 z2Vphg0m9>irwM-|yhx}ur#29_BwSCpg>XCJ9>V>EM+mmI@)!ZN~5gwGQ00t^ucf^fD!2pA%cQ~FCvU!=4WjP_taL$suH zCrU?Cx-X^sQ+f=g$5XnD(rYQbh0Af+1_FkN zc9f0;w20`C=GTRYSh92{?+{97Q96gxlPG-;rRPw(l+r6G{TQV;QF=S2cToCGO7Exi zQA&SG>9dsnp3-JZY|qg)*pl^EHHXo-<*Hz4Pxo*`%kJ->r+58<1H2MCW4eo6Qf zq0$cHg9+OaMiX`?Od=dXIG%7a;dH`zgewTw5^f^gO1OjYO~QkOpAw!Xyg;b6r`ieI z5k?dCCrlw6Pk1Nc3c@Xf+X;6OzDan5@HpZ3gck|T4p>WD!W6<0gyRV(5l$zZM_5X@ zo^T7{4#H}}gM^OBR6@=>vw-W9k+)sFf@Jqt) z2^ILyB&dZjk}#IAFX0fv5rjE}^9WY}hKR=^am;KYe3o!KAh_Vo$Ez~B0tdkLC~^xi zatQKOVghlLm`{AISWMhgJV|_`c$YX)941Z^Ul89cqK9JsvFy)fo+?~qpDD%;O#naE zn+SYA)SC^w3^<4Fxoj_FdlB1<*Ex`yjrZ!sA79H+iTc<92o04LHdb|)4)%F zRupMhfme$sGE88!M*w4cBH15B{%10xfgb^TJo^*apGf}73>PrwPhrjmrtJd8`g4I- zi#-{IY%gMaG1>QKz)zqk|0cF?Ci{CCTiIUC_8PK(oZ)7B9Wd5&oc$-r|3e1+(4FiG zFxIaEuNJ>$Sb?#fCh$_Y(})13?FGiTDB#t?nu$CEo^3mUF+Lg?tf(X!CuOGGwT}Qe=22}CxBOry&3huSiY*FelNoWMjZi6?O}T~+vC}u zNcKlEQ`nwMdT&M{`-@4xmr=_8a<=203YNQ>{F^hkvcH<`HDuqDxgQv}>p0s_u>CaK z6}WrAa#Ud0ubCz=#z(L{k~xa~(d>_BJKpbL{zUet0ONM&usxUUMXZZSf0S9ydK2?z zvhU5P0LJ`VnXA}e&0GV#T6~nbpZ#@gKhAuD{IEaRf0`Nop_AIFFss10-y&H@k^U&t z35@k4PlS8RXx0h9w4K1KMO|hJ+q2o8!<5nqqz}TKTwx1yT-V6bELA2k1u|KT97#BtQbY>#)o(vb;b6Mlv7UnA^4f}!hX3{@o zR+cz<9W`7myYUUcU$7H#Ishw;;&U}LWy|Uo4m)ff^tH3xvSb;HLB-^9NJ|HWR z*~R{B_UDqlS5_hGV$#;k&1|n`dkyJ5nJ1W4xTnJ7%Lv#w#TWBUo#0`9nIyP2bavAlTJiLA3(=P(yB7qh>d^=8&ptWU5O za94%(sK8i$1nVf)iOe}{FJvxaE@po@YrLPMer9_O^9g3S%#!s1Q+=$XSm!bqvb~sf zIqS`=YnbsK4eL9>T7^3+EH{cdkvW$c@2Y+SepUDH{czDohk7X08EVEt0e9SRZGGe_5jP6lN7T0NNkHI-a?l zxr$k|#&%XQ z*D)Ul#{L)Z-@WKpfKf-Vj%Uth&S8Hc>mt_WtT(Z)Wv+})tX;rZZZ_Ksnai20nCqD9fiYgdoha5D!5q(=$ehhw$Xo)9`N~;WG1oB*xVNP8 zn4Q2FAJ00QxsVy}T5*3?v94zA2F84KY(LI+0e6*Hz5-0+fORD6c-Gm>h0Nv5Rm^qF zc*jcP3+^VV-ON$U@yyxGh0Mjw<;zG9Zm(Lu}oXwoeT*zF`T*X|&T*oXT zxjg15=6L38=3M4N=3?e@<|^ho<`clrK>yYQ)A;Bp>rsKx9>F?_wG){3FWa-33z z?RBhAu&xKjIMIpQ2Tc9NI*N5X>qOSstaDixvMy#_&U!QJD%Lfu>sX&)Ew1MJfwBH5 zW+yPVFOhXFa~|7^S#M^pVRo}$y@tzUPGrty&I88si&<}Gu3&o&>l4gsXWoCnm@kTT zBD0I_xvYzsOW3}dbq(_g=6d$4(cE5UCopY4>s;ny<`VXAX6;$Ir zSm!bqGncTxob_hrD&`tyH!zlSg0*@b*Td`trg~WCGUu_qnDu7n8fG{9Pq0?IaX$lN zc~PtrnRA(onM;5%ZZqo|<`c~I>{q*UdzllNUBH+>mvu4oX671ZH!#MXV6DPRbu>>f zJAu)k$U2v~n0YgE1u(`PXRY+)?FB}A1v9SKi`vcX>Lqm*FxKm4UB}wloAWa}`$(M) zjPZrcC2V&yyRMgU&c2dMm?LhG`Qn*fz}TJ=W;b&k`^AkiJ`b3-gSnnLuOHi)>zQ5s z+0L9dfHkxACf3YVz_>ki%+`46FJZPONS(**W_AwbIOck0S0b0sY;|#dW;e4lN!km6 zvHlX)<*e&jy9RN2%+_QskJ-)a94zf69!`P5b`6obf>{ieaaLfAi(s9{+Rg0Dkp2?pdS+K9m&a_)k~)vs&Fmb;`I+mP zT{m-nX6tay&+KM)j^O+r9w~JdFpUf5dbW#Eyj{SwU96p~<5_1jm$1E_**#k3bB^J9 zfTn+lr$6U|s94qZ5%=OH!ankM@&wge%v-MUkkGX=mp4l~l^D(=bt=XK9+0AUt zk#-kz33I*2K9S2~#`k(-KUs6RJZ3kuHIK_<%YJtPWBcM+=dpG(JEw4d<|<&kKdNIEQ>C^7Q#q_%tg~4cGM6(~u)m76 zHDBh>V|Fv++k>&(5@zdNteGpAt#@;N<|<$uS8mqMX`GL_p4l~>^8r5sziTQ7#(WiQ zceC9(gX5SBfibR}+0Az6Os#uKZ4l_O#6d%HggHvowKDskJ-&^y;s^@%q7fj=Ir}rJ%!BW%vH>F%&eF&gb?qmjh#YRm^U-*Rd80q~8Th{mWd>>@4K+m_-qfTVRaO z2FCL9SQoM`XRcy)v%ikDSjgMS>;$HMXPwQQ$M!HvHex7>zKtB86UwM&z#L%$n5+(x05;k zDVZ;uSv)P<2M;sk^B(4S=4|Fd=5ppL=7?=FU;ML@vzZH-Bc5aX^OCDxkX*+Mi&DvY znd6zWnG2cAnX8!Vn8k~npE;hnoVkj*jv1B`qx#~R3z^HAtC;JUMJ1Qd9KS>AZ017d za^@=LI%ctx^E1aY*X@@3LG0oE$Q;j{&0OfQzrp*BxsbV>xr#Y{AICA*?U&z=i?=1m zGiNgwGM6(~F^j|8F6OGwq^@HYpR=F2uYJx2405q1M5Q8Zq{|I#lK{n6&R1J2-g3Hxi5jQyQ=cPZ%NuDZPR^U z(uM8~UFgDAP202$Gz~N<6#>KRdoSsu$$R0wq;2Rx3uP4%D{dn?6)eJl2%?Cns0cHT z3px%eqT({(xR0Zb^ViXl|Mz>(y}vz6+mxB)^SjHr_ji|b&pqedbMNoI*Bk#z<7Z6z zapNa{CHZeO{(-1x5;f75>n{8{7A`+p{%@sod)c*gjz*!X{&_l%$Xv&1(U|G4p! ze=+YH|3>4#V*E}2W73WPtnugl)s$!aWW`@#o<-Gv?12|G4p!BLqIr_&3`4NP!>?ws*jI&a>RE>{A$FXM@$)c@yNE3caMB>Zzj_j&2`a8a-yr#4(qT z**)e@V=Bf@9XoUEoUx5#-#hmHu@8-XWbDVrK0Ef8V;77&e_X@3%f?+bZr`{g<32R* z;c;h-fAe@XVd;e5PdGC1EfYUH@$re5PAX2ib<(4gJ~`>-Nk5fnKgCR^|RhT>*KRtp7py~f1FiTGq2{nnhR=fsJXl5{+f@~ zJXy19_Bpe+&rZ+oo_+i5_s@QC_P@;jx7oYq{gM}!9A5g7r57%{VOa%EQpQvQ|4CJ* zDseoc3P&DBstRlbSE_0?LXAOeEMnu-Xf+X`DF{tdLRsFU94)=4z(O# zm#k1%;H@{|tybI#dL`aWsdLnBb)HJA^(v!Yr?RR}wW|$kkJ_kmDDf(k*r6I!r@BDp z)rIP6m<)=lQ5{fCsu!hSgOU#_e4CB$Sguu3_Nx0(`iD^Z11SArRZt&64UeFPM^(4_sOnLVp@vVO^iQf=)o0Zm z>I>>l^$$1;^G{I8zKl}7iroK<9RH%8P|vH+sBagTkk@|1-W89kgimHtLOpS{DN{x>FT1|-kJMQ}Y zjanP~t=b;@9q#x9JH~GpeeOb~9^3XT+(-8_TzoUbXRc-V=|v3xa>bY69$87ZOuLud z!0`C)=it75Hr;oh^$ocDd%g|#OFiEUgpb_B{400T{p~ionxR2d(4cyK94#VB9Y2)Sm%?LlY z?5%Kb+Clg_4Zmr}dk~h?XWq!SB>dnF_aeMXQ`&F51eih+cul_dN^NK%$o4D@Z;1)JB^}c4h`y2iPkhK^5 z7u<0d5>nPhcSHx>P3gY?KI013IJ1$p%-2*gUeo*)+PzknCgq27Rv%%Hp5IB=+s+$r zW%=H6zOajsF)7wKX$`4&+wOQH&I@X{|6Y508t$F6P5LMp=&PrFwNrZGZQ;|`v9;m; zdV3@@Zmph)4|fhnU!GgTx5B-XoC25p-oC#_Xnxpy4dX_d(kK<3b zavbk(;5fed0>Td#=-#}Su8gC!xqr9+9?83p>9Kq4mXYYu<4eZD{lQyE8!O*D1>v6` zngjPA*Div)@2WF(cs1O+b~69dm!7NPv`l;Xz<+Ea=UHNc^A|$P@C?I$9MZW0?nub#IHdAOxKkjfW01hr2v3K+jzI#CL3lPK zbqtbs9KvTnTH}|H;Km_)Cn3BLZXDZ=PFT;&P1}{MP0=RLQ;};>^1UC-pz69YNaO04} z%MfmX8&^9~a|{ysOoT6mhlrqgd0~~Xen-vhKpaAgVqp(w5~(=2wEM3+~0`s&CniV>K3?h z^=9ZKF|6*kApBPJCI(5~fbhGaRm9YL;Nt5OXcqY0HMntT3rz@r0B#&w!^H^S3pWmp zp&8*1!No5)qL=tpZ@6)oKz1Sg5ZpL4iAxdw2;4Yyfy>}NgC65Iw9w-?G=daTzXTV* za2!j+T^-B9Jtx)<_uNg`poBNT1rB5T;qHy~ z!tID1gj*0Pdb_DK6VmAT)2;8`OGIk5xPseTpI<>k z;XV_)1Mai2JK=scb`;3_&adp>aVePBm64dxLS&v*<)%MT=Xk` zH{8|n_rvAw>}Y5F9;99gH?BJ4AB5Y5+uC{e_k9SzFMdDVd*Xi&_ulwJaB){M-238> zzl_~URt5q|>jJ^?qbJ{f-!;V0q7)u-a0M)=cku}@h<@hsj|1JIxaHk}`2zPVhOGw=U7dTIR1#Uy)IY2Iei*;yLZ8j;}-ZIBm7Rdadmg%Ww^%^KY@E+ z;-_%$Py8II55NWeBz}qTLvZ8j!?-IxrXGfi@xq<)7%#YS^(gL*#|`XofsMrP5&jt5 zxOxKj#{&#W0$Q1l;EmWpKZi7zX$2i3+&? zoT!5Pjl@W}&nK$kelIa57E|Ac8&@wS#v%LzxcJqm!~}$Y1Q)*xl9+_>zrqDp6H^d= z1#VpZAu$c%|AHG=|1U8E;XlHStE%KIgh#*yuS?EGcof{Ys!q;Dcr;x6@@Vo5gvY|g z@82XBAUqy!Tun$WLUcG7UGK%)-qi+u>%DIn>w&H?G=~dlB9PH?FQucEasW7U1?IuZFuXS%SMi*#q}L zazET_lD%*bCJ(~BHF+)EJCldtzBhS2+`E%U;Jz<;6Wk9aZ-IM%@;0~+ByWfN_sKip zKA5}{?jy;ga34+H1^1)Lcfx%v`EIx$Oa3j~k0LGpgM@v^^%TVD1M+^VvN;f^hP1n$JLkHVc=_A$6~%N|D`=fQXJ4)@x!Zy?Wga50O^o`-w5>|20b4>zuED0>0nBXHyD zCuJ|f9aH{2xaX9=1o*jdK^5gcgxga7W4IqEe;M$5;Nq9p%YTCK|AUKPdM^Jd!heDr zSN~o9bGW;P{Sxk_!+srWQSXZ_gDm_|d>N$R&)~MHHzbxpmedYgh85$|ie*?$zNzBg z;XhDURvd@ByW&x}nTij?ZL9bY+&vW!z`d&CLAV_iAAy^%cnoe=#mC_mD?S0YyW&&B zXU0A-Vg=Tg_l{Tv_xOm_a6dF+E!+o2oDKKE5$D4F@Q7vV>evILR=|C5)GD|i8MP7a zqodZseQea(a6dk(9_}YbEmN~0>FXfna;k)t_$@d`eYd(FtK(0pr`2;<;r>kh4lCVP z)wtNS*xcBX*t%F9e$8Q9tR;3uEE_Atu8X}Zc5m#_*r#I8#-5M;CRP!jA72&U62B$> zzW9Uj&&0nQpO82^(UmxoxIOXS#50L+C;ph2nXFH?BzGk{lD8y(l>BY7x@>aUtg?k= z=ajv%Y+u=-vbUH0UD=~$PnLb5>`P_;T=qiQ56XU0_N%hrm;HBHtbBO+nDQ;(gcU9eA z_4%rAR*fF9e8l<@sS!7gI5y&$5igGzJ@V0!b4JyUx^L9eqh1{Khf!my*HyPvr>ncF z4^$tm{#x}b)xWJCGkU}5caJ_c`op6?KKkj=zZ$)I%;qtT9rGeSjeY&tE63h8 z_UPCjj$JnHtZ}a&cjve##yvIe*>T?;7au=r{F&p|j!%z&$N2Y+|HAm^#=kWF-^N!? z7&~F^gmn|r6Rw-^kqMuf@Z|{;C(fC8=ESuVH&1Mu_}+;hocQd-=O_Mj;(t#3%f!)> z=1$r&>A<8zlkT1L)TDo$^unaclNV23GdVZ;@Z`Up{PD@pPyXKIpHJQ~WzUqJDes>0 z(J5b<^1~@Br|y~BGxhPQPfh*W)NfAx$<$v>T|8~&v~#9iIPKDD*=g^Z_LpgAPv1Jd zIQ{17cT9ih^arNDG=1ret7rV}jC*H1G~)|1zCYu)Gmw&e_k*{?6=)b7sytbI#g1ubXr0oMUqy zoAdoSKb`ZtIaklUb?ztT{%Y>%d1uc1!MvZ%`^~)8GYV&X;*4LMF=hU$`CI2V&+nRl z^ZXCYe{lX|^XnJ9VZoIPdKTQU;OK()FZibg|FYo41;1Y~ZsFR6cP)Hi;qXPH7foJt z;i5x}9$fU~qRPb+7oV}XZgK14+~R8&zkBh+i=SEioyC<)#xI$vTXO%BN0vOXtAw!ZVXc8@TJ1S&3Bjrq5C6v2etji3C+~nTcms>=IRjXEvTWc;@1n z7kiUBBZglw!m|L+!dOZz!m}8<`Vu@#@hppFR4tw}p}8-Qwc&Sf+SE!stMHtKXEk*B zHF(y>u2SppoQ>xkJm*4}KQGp$&W{~{j(G~(GFyH_>gxd_k2cy{1vj@_?XVh^gFcrJ;31S^F{u}*kY zT^f5#y%Eo4crK59LR}I2lzLO_vsgWRR$YlFg=aUOG@cBeES|R57gT%fS+ytjk17}Y zqPhyt-q<&>%J`1zjD26_@f2c^E_klSQ;hvsmGE@OURFJL_Q9UHKlTfCAofeu3!COO zuxTEQRmJ`$HX?Q{p6l=&!gCnU^>}W;a|F+gcy7XTb8J-X7Cg7&xed>o@!XE*EqLz0 z^Hw}};(1$abnGaex5viD?!xm9JnzKwuGmCQ5YXAwD;Y?tHCHlTuIhEXT(#)@y-K*x_#Q3Mwmu_JEQ>q&0GGJ#j@z0p}H`Ts35dJ#@|DAy+ zV=Qm7DmVUc?JJDymu_JG?Iyn4#M_L&$N1M7{|=MyZ8|<$9gA&!6W_ll_T4sU&+r)^ zjdh;D?~8p>!|yZk`;GsZ*f+QEy>FTFUNrvCjsNS|8*gVne;vDZ6Z8Gvz^BKh|M=Y; z-T#?!!Bb6K^4G*A|6Bu~2cPB4Gx^Uj@CC+SWcW4*O;!GCRB@W0%| zmz(%X6JKfKYvO{3HF4?xy14Xzor#}g{Pm{Z4aVPO{LRMSYWlg=w0m2;OSflxy!jlq ztI7B~jK9;ocZrGbGVwQ<_bxZ^E8};piNDvx-*3u0X6ip~-un=Iz6Xu=Hoo_SNq^G#pEmwyO#aUr|MSNGg7Kd<{y!T3 zpN#)y<3Dfe|3UnlTUg%@;6nLm+`ehy0r zeUC^8-H%8J-H%LsQR88hfsX<_j`v0-{@9ezzPvx$q>nc5jY$aoj5YAF20qTf#~b)~ zQ{H$}-gwiVi6(ubNuOxaC+hU1nv@W_nr!k-Hswz>@u@nVRMSkp=>|UCYGflo( ziA9Ie9aWPs^E)B)dya|EG4Z*H%kE^pdB7L(KhKmm-^Aye_(Bt3Xv$w?+OgQc7aRC8 z4Ns~S#$RpnH6~>KG@1Ct25%|jr;WciA@iow_y>)D$oO|8WWL;K{G-Od%lOC89`@%e zN%6mK{O67TqVex8m-N3k{=>$9#P}aI{^Q1f!uU@b|I@~Qs$AyRQ{_T8&l~t3%4OdC zewftrC*%Lw`2S=4SB-z+aLLy=T*j+$xQy4q;kRjiesK7fdeZ5^;qSbibb4_32Q_~` zWYQ0r^g|~7kV(IzLdN&u3Mv1i#{Y`(@2Q+}8^`^g$|}v*K3yqv@aama|0xrH%EUis z;-53|r%n866Mv?1-fEWjOy#R<;HeiXW#0S*`52#8CGi=?pJn{n#-D5aGmO8$_=}8x zW|hp7hANrw`>O>1`>O>1hpMEWBgVhU_#ZX-K5FtkZsL!d_%kNo7mfc7ll~2p{!$gs z0fQeI|7GL<)c8L){x6NcafGyIi}5cs{@;!ow&o~qIfO+vaSS(t-w*$B^%Q;?@P~feO1>r5lw1h^qC``28=mcW9#_kU9gP)--G#Jw;`w%E6Kpt5u;9Ej z3|8;q$70Lj=Z8NNJ3jn}vGElz$Ih!bs?Mu82LF>N>r;4+sV@V@^qG|}$Ih%gs?MxD z2LHcx+TT^qt7=M)MqM@VFN`lA_A<&mihBPJFxZPm98>E?d=Po>!}CZyJ_2^-5wHM{ zNF?4o^1}F=MpBIjSCl{~7rI0RP)~ zeu41sr)(R(V)E~Xy)^8P!Y5j?!t5Turn*G z%FYBmeRcNZ>Z`Nw!gKequgiVvl76tc4?XB77_s zOH3Oc!#KqfJK@E?hHF3SObM=M_%_JPXhmTgS_>#`}s|8-d0pHZ;a$?2d8v2kibY&w3|b|#)#cxL07gJ&+z$}Cp5VfXJk?C!lCyKzes zb$B-5*@AMmqMU883SNw7C!S02?85T~lzl1uH^RRR{^juB1iux25q=3zH=gSdJB;TB zJU1eK6P}yV&fD<+W~9Ca{vGh&2LCAhwQy;NJuP zUiio1-v|Fg@b8EJ2uk=Uo{!=A1fHi*#%J+-4(<9po~QAA5zklD1?nd_oy6bu{S(sv zjOQ_-pnzgGou3lBQs(!`U1Z-TnYVE33Yd6=O zefIK|bsILUTCUDpe|Br@ish{cZO-L08+%IKh0e`|VrQzmJ6kNR-)&R3WV5|u{TU$5fN?jeP-i;lpQprG3 zvrgWa%5P2OGaXsJp&=Wx^_^Yay-qw>KxC;aRw93TU{nYsD8`s zv5wZ2N;@YYRKoa#rgy3 zY!^$^Z|bzrs{$qBbjXLN&ADtxM$>^LYW%W>_H1|Sj%-(<*qz!fL#JP^wXKY-%Bg9^ zs_0hMA4sLUJM_p)mQZ8$i@Fs$v?1G&Zz^W88Z#@M#8o;(qD>W3omtRwb9d1YrKEXC zwz(&r&bl-!g#>BVEt)Oo+nYO5n#lXBig_{Y8#)Tc}<~H)Y#WJso;JN;3nE7a(W)Sw6HkW=o}1yPkKF z;*6d|L&(>!gEGByOT#!IITxl44LmboG~9GNIuWE&*9J^D zxt%)oyX;Y8syn?0oKzjKL%t*1-BZk8QpjmesFRx7*mCw*M=_W?vZ?f*Y^E`FAlKQ` zxg(qIDVD&&Hi408JnDStF?cQ*`X#wycTcLLF$EQlTb8u74VEitkg7|(Z0jc9eL){zS7-r5FF#L3d68FZxlLZJ-LpIBkf8qyO-qP+Xjl)SL)Y64t`Ohp~1H#FUMLZ@5pu*_G$F# zXkSxXCkE-YAN1+`LLJRLyRU*qpvNI68j(&7Hf+V&b~3KgAyG=g8i}L^-xjDQCU-WT zB}E2AiGczGI+@hsks=z#QQisa@{oFSceYE9q|RWb*M-?$7Zz-iRE}yev_@~@+=7m( zH4>5(;y|j*dlNS!(2(B_p~#r>neNo`HWVnO&E2VDw>N_e*wB&6YrO)cf`Xmt zis%-o7h35<*dwkbqaVQ8?1z|`N3~*!*=}cLV4BMD&;khw1|$q@V@II`(Hlr>DB0Oh zyro&3dCQS=QV;4cbr*ZAE(u^uv6q8g$mfg}Y%;Q*%$6)P-CSBL5p5WBO;*UDdBUb# zd#)QYrK^}NfiYunKv#;jxLtXSk1+>i4+z9t>4qy3S}dY z`CY_-He@)eZD=jJi7psrSXfR5;$ele%0;N3Rj$d0)hR+8!9G^BCZEpcTdA4^EE^H> zOeg`MY5goe&AV7!BIFDrkszQTf7JQ3(y@|naIhoSd!}40-lSZ&3BHw`&Bk2q;NQWO z9l*{M)kU#tEVlsni%kt;B34;QL{FRv2NW3IDwE)TLpYcUj}i|eN}CIvZ>(+;d; zknG^cBdjDPw3;y$>eu>Qg_umMS+;{19b;oxtRcLQNh*oDPivVCDC&p#K+iLEL4iZ4 zFOAP+f`Wojgfe5&b@IUMN@vqeJlixez>%Rbm=d87AQaXe0Nj%Tv&gq$j+5((Lc1E+ zG4nAX&H;8MF(MwxtCQRXH=^hviN-F$ncXjZ0SR`~D`q2-U8%}hhYWp6vWS<%OVH>{ zXm@bcfsCAS;gzaWLO)#F$rGU{A}z>00U{$=vHVIC@|xvfRf_`Ct`-G{Ehh?0%Rv-; zB^HrU@IJtpC6U?t0An!_RXDUr3qEUw4SD-a9uNt~47PALu+oA8MMT5bv^ww=tL&Rj z;4BMSZ38RT*pL%gYa#1wVAa_OZSKjZ;n6Hx1;Q8iWP9jSgyr%*5cY+9Q=3*O0fp3tCdCCgB6V8$BY*~2+a+RljTitz zrxR^~Z)%IDX@Ex;q1=}8pk@@aMTE6li`9?xQG*)nbT2T2ZkkM29Y?TjN46~s^&ssU zWz)S*oo2<2S1k^=Q+3a!og5{kxj5Cf729AY8I9BJpYKIy8R~Li6{;K0 zdFwk{TQTcX9UZ+Z)J|x`t5zCzySx>le$*e6PiOO~HArA{TwA)yxsnA&DGMfj71R4r z0Bl>l3k02?LT5EoJyI1hL5z#;Fu&C=@oh}I$ovtkS7+rrkga@)Hhk0+w5A}5nbt)W z99H#pHeKl1PNBY4HH!1fE)$JXHvLI{)d*=JF|X0>YIv@Rff5Zb^r4X;C8%D~ymVy* z9L9$zFbxPA-qzY$moMadI}1G}PMT=wipabxZON-`V66?TLqIdVm8xM&vCz{6eF7j@ z5VV2wqExPks59jQ({-hiCDDddiNni1EUYi_f|pOAM3=mLxn#-KkZ&vaz=j35>mOh0 zu06T*9^E+4Okc^FuTy-$2Dc0}ssU@~e3qPirJ40B154j<~3)nTfJ%XS@oONZ8~f9Drfp5)X(%c`LI?&$Uomr(kiBS zDOUqX>8qLInXu-Cbp#7mT+~KQ7-r+#bEgR)o<)IgPtl*`pA@zrRO*|=ga>xm!W<+z zQv};sCA7Fo^Vc54nTQ5Ah*P~ecTM*EHBSE!>Sq{CK5%@5`f85NbheYp*BsUmu<|eSs4&a=v+^&a#1vh{ zC_kn3v{I~P`_*}kg$xw3_3AvcPwiMn&}(jiKn!=3)~kl**3EU>n(G;8*|Agm+jnl; z#`yN8mR1Ruwx_nM=H3!^&uSZ*@S!v|r+c!ktxzgDcV|+nL%g&o8=F$yDKsLjn!B=T z7*x`VO@-kGhCJA1^iG`t`68GhCLTmet zw8|ckrflpf(%^$V8*Ex;TJ{vN6VZ@ClRH{lbD)JBjB*ypro)y?MO1Aoz=082*JbE4 zn^7eWglzpHriZ1_Q%q-FSSc9y+3&^*nupL>P27p$r>v1AQ z3xzFIoA$S)io4MrgBoOSfr1T_KSMk7SsU(ggAnW8k|Bg|J#wiI%!iCJ7|~&N&fSmU z_M6($1LwR>Z7W=#qtb|te%yaS>T{#rm|mV}CpRBGaj|c@*|j0VP3JT;3RpB(VQH%|_P-&Ym5wTK@N+L2Z zN?~I;^pY@X>_cmleRLjoF&uvX0vx6y8`YdUoGjD4kHj5?LN`tAc1Xgn`&+juTS^ym za?odhj!=;e7pHgci($C2E15loaQa3tVZAG2_iG#_ycEtX#IrrSe;ba7Y|6En6?#NY zQ>|wO6Y7=SN)o$bC>awso!txz2}KJwazYufMR_6l6Hf6&q_(7rV48g-8bZf*b;O$< zMS!-9h#bOG!Y$IX7w4bCDFz+k1Zid%4hF-G^l$=pFtPp#!&x^B4&el>vBE%SjpuC5 zgwX3B!EhO%?mgJCS9*_5$$qsK!dN1ymSV0G=2{(Z!lA~;9T zNHMP>1QU?Id@usN4Q8MqyVg!EmZ?vqQ^gD$vLUNloc&FWmxhuXN3otoqzjitkE27D zxS!F)sb}}>+^jjCz~bg9meDw=318Pr`&d&EY_~hx%>8s-HAS7?U02}^cMI}wwX3}I z3OIW%gW)p!md!mF-?ok(7z}hRQZA8ziJRW5`I749*&-#p1}9g#Q?Tn93!>W>cj9HC zKyK_!1FH@4v3FD9Cpn_9HCLq#F%GAfm&pl{Y%AxwZEqtc#@g-ljKFV7Y` z!PI1GBSMHqG8B42nwDsNq*E2`FMS{N_CDUt_-aaXcea=-74o`b?9}dQDKzBM9X)7< z#9*D&G2+;4hdGnU#?d*Ac^gMwU%bs65zg?)P){*y^R@Y-p5q}-6?&V}<`3@6k-ThL zr<_it=Ds79Z_i?N(2$pqoL-V}OKL9$pce$j6971$kyT(FCbS{jp39ps7zikW3c8Rs z*9JPq!2E zk_Y0Picwhcn8Nl*0a+A+hRRV?Fm6m#6Q)Rk(b&YA_vX4V!I9f2zp4@Xk+%PC=p{p; z9LM`|sKEn5;W`%<3_44L=wm*ZUY9r-yqbZ#u|Y*I<4?lm2t#$jFbw#zZs-NWqRqhv zE%4y6t(HgtGW4XEhRUpy=Hg(9-C^T7TU&8$TaORAH3v>48?Xu_Kom!nm ztMDhggcTX5a|!&T>Y-nC*>*Lj@qLTCFDX&rjUrzsu?~*Ej5h-$3}eXB2`C`%jq{C$ zk{5!#Q>=Qx3Uq#}!|Dh#YqHcaM;~+2wnLN95irS(;J)n=b0v_I({NZKPs2zkL0H;v zf)GjMS{-yBJyr;#p<~hH1+vN38lm5CBDQA^U`w{!3GX%r3>7k9xjNhcXQdlTT3^!L z%Xz}uqASK)k@6-?ZCUh218Bhs{0?YJ`F00weh3y~Jmtq>W;gZXOiU}fr`|YL7}o5f z+HiDEzXY}3?33%LAVe?sy=A%<8C$9c;&4Y)<^iKRPmGO|bJn`tqCR1-gDt|@o$3Nn zhe7BJSW@u-q?6gTJ-Fr|(?n~O@Fb)iON9rBAvdc)U1~|rGV3ssv@g?32Qi-Bb%BPl zZ*tL|)_7XTL6Vi}ZEh7Vv_l#|-cG2VsairFwhZiKZ<2uaS$8=}HD zMpy4j<^_wawfo!#5e=mU@0j&h3T1^XW0k@59sqtKJCK%9jZ==6MU+ z2zkk*7EXI5N~R8qVAVlgmSa)W1u{m49ax&tXNkr< zql>fQ-C~>6=@dYe&)PS95Qj|70T`7lS>4jHPevuWF!EU}j`3-sEh1e2Cv~G;ZUP2J zQ@OI_ZdSFrVPYrM?KVLzy3(lJY5wx{(2mXST2AF z-MMVag~^@_8;5;6Yw=Yaf6hQ_{dZHg@jOfJ8a;QysYZ?!wNORhGVY7097CGYGSr3c zNL^DX>V63gMx|_n8d0?05V;u~{u_K#j}xMH(u1;bNBw!zDi#;DusesbnVjJUN`)w7XR3fQ7}a2E~P_(oNmk-Pz&9w2I=y z^n#ZPlzan6la8CFsm9r+aN%H6A#S8~R4#I`+RkJK$DSsDUf1o>?=Mh8~WXX6lObnMm6htO+?}OjABQezx%C)^< z3_DB@m+X_rZnEwvl*PJyzCa%5e^s+XZ4+?c&|?krvp=u!jXXd13Y1|^ETJM%``nUj zr#;(0ZlW%5YqkUSRWQv?Z@YG6+p`D2iZF{k9mPB@7TovEhZLeUx?oMz7^!_Z7(ZOF z%rZ0V9o`h(4i5u%SW58aM#wqui@GLZvOc&}1;a7qYN>QdF1x?JSS)zj0vgS=*$))W zT1i_3u@~pf2inJ&(Jt7Fg$IOAcdy=U@MV(PqiCwovaci%KEh42+jQjn6C1ckwTgULfdPW<*?(!e=b4u+j4 zGzQK*sElIe0U2hX#(KLZ2^$Mty~SMn9$ymYBCDqg0TTc|(si^EO{3dVz4&0t1sWpP z91DA6Zh|11MFnA=wg;1ZHT&PyGeVme-IpLJGFJR`^ty06<=F{*yzC~Jb-9M)^DG!V zx;?3Evffler+ABpKZ%N1I3eYr$9#*SwZujo35QCFImTTy6Kke{6bcEx)$gJGUHle3 zgY{byqOvF<=ah>?t+_yAX~*y`aZ{H>sD8S~0JO5~iOQ;7a$-YsdcTGjDa5lA}FzkG4U!PJzNS{e6l?p|Kxmd%+H716mT|K*D9x9cPgwff6Lt(o? zyb^2VDJaKMWq{ao;$~J53=cf*XqO~vUIuYmsfw{~ZO>6stVtcuh12VQNZ&}0<;5q9F zq{&@BUZ6SY#jJIuG`8#+(%U8*da0)vi0oc4O|~f*>X(=`)|pGMOa{!}-xz~-=C z5}jI!oCkfCn)Yu+4?%6zQyt1l2_GK<`zkCo2rKJ-jnJX7db>_PT?0DdlaBkDK;O-Q#LBq2p3{L3+J9RSTpVz9}m@5gqf#&9> zw#~UBHi0b=FYkeH;3g^#95a$BKt@VX_K`G{jimiZN2pUck=+)`ETXM@5AbQp69ER! zgbnHvJDmf6N`hk3)@hJ)6e~K6x9T!iVHex|YF)#-jEW@@c7v_iroZ4)TYEa?STgN4 z21cE(*v$(AY$j*}Cg|BWFp!ei(M=4EFrf~qK#MEi^+GD@ViHJ5ev? z7fJ<1yRr^Qo883--qm+h7}|9cv;>qSRG|+X;i#3Ci4;v!gi{M906V$9qDT%ZNRWerqa=H^ z5aS@|h}&#^$p+9R{%&5mp^9``Ql-79NZTvH1%S?6XR5=@2%LRJ7)rIA)z2|6P3W5WSlLZI8Arg%XdIi1#mRVwp{5)6&U+>M0B z!?0*0Yyq~<;W@1_!$70$~G98jvc%W56d6eT$7=d-@LhHJUxelY@K{0`52PdQxa7U&#gA{aIELWCY z>H~p##p_(37ox^siW?WS$j1(wQ=Lsa^h!%c6BaGaI%wKbT;l71U9{+k;9Lg<3Fx|u zR6pF^veNJzOBERky3BQA;5O;&;W9jegTX^fxJ?6wp#dZx$)KY!hCx>Yc2iWfG?nUW zunZwmZYYXy6x)zj{ANLID8Q&mKiddwl9mG0h7=F&G0_qoQkSn_nv#HRD6&VNE2qERUq6Q5h1425_ zg(zGQSI8?^g3>wK{1l2R><1oT>f;v>u(s-@2~t9o*9%M z^PSAsnDav@)18z1)R6EMIVKRdJV;{bGpV(y%?s=fK{lEFUp*VpV|VA4Gr|)yBMG4> zY?c| z1WY>zEMN`*v(uxLrCkXM0>)T&29)Kvc1X>jBK^gf(6{Hvk|#m- z1VI?wq##vlt;Q^F_~DujUWA>wHte*3gVRiptx#M);iPhl1}U4dN$!DiyUE!Zbu&Br z-7ZK(tsA%32C@VfipFy7AqIU=r<;O<^xm6sMNaxb(m7u)AQDR#w-j5e3z5Ayhu>}F zApkekv`4s^MHGhtrj^2eHy>wz0MzZzk##T`;2fT9Al)hdO2?bZO8QP^v1XLLFKuzo z^LU{d*mTUNN4ip>c(MbhPv%6oo0228Lr@ssBcLgJC^Ui#>C5>d859h&*zr=$DH;l| zf!L&(OhKKdCyR4qyCtB66+OTIw`b>7)@%oPKxsGC%2F)w(Biymku6=l&N4yRE>ufP zf$E6=P6@lNrsn5S?2uLJ!X=)f+3G9w5P>ZcYZ9aWBkpKsUJz9>Hy(BSqdCB*+vD&y z2ym&)2WcqzqWU}q#ky5q+?noV(P}2DbUeY!PIIL-9H6*2+gq!31v5_+eY|&59qg zDb?!%)bsc+RAqgl9VZUDR41MmNMtm6k2jFofwtY^-c`p4PSRVQO%(|Q5uDuXgfs2r8uHZ_CZ^X z4sXPwvZ#9L;DB;bnR&10yi5Rd+6_&Xg|>l;O~6E8IWgbdDlI%b|e%b<)v(qAMZS)_!G?dJW$ zfQs^Mz9a!NZpb^k9NHqRL6ncO&mk}%$+;#`7_Re@xnotJ?t2!D$-v!78*PRvB}F#) zrYyB;KL9$Sp3EqCM^-{wQPoy1F=)cV!%rlNd|4Vxr!(7h z+MakZ=ZmgR>`NS;y{KI40x+NL#P^*=tc>K^FIe;Ro%Y;(*Gna$UNfl_zSJ!8)F-4O zq%S^dvmr1deS5mWFfUS8rWgPkduaelB|ZSMi<$r!iz;)# zK9CSzG6XWff~P+`X=-Z&cL*j5;RT>V&o0)z;@X8`vbd2pXFRb;$9mTswM8C|af2Co zLpz}8VgX;Rv<0Y*es3f$#PZsF1Yna>X?5fpLNGqYK=Y3#PZw#>XGUaNv_c<38C#2`@S zMkIsIfi35Z*{5e7ZxqzvB*|3XWo%xJ>=1B^TDcj8;w9aU%W>I<$h_wJwzGEjln?ihT;IR_JOX{|^v| zER~Ukiba;R9>rkqM+{s+SP3WANW zxm@;GhH1k%%LC1!t|Y1f!xRUIbFYHPZD0_$_n{gvYA_k^xhzKOc9-lN@$9E-_NFh% z(u>wogt@{M{r&GZm@j)zxg4UvUsg`ONj4>;hpt>QFy~y3iNlD4+X66++;>cfrQ;Mc z7p7#z`VtKr7gMgJF`ws#4d9Q9SLeo!k|^sqJKf=f>dgdiwoY$E2$XyK`e$Es8D@2D zL8QBC-Au)G3>B+{9Lpbw?2IL?}e?LW_ z8ZbM#4zb!}bGEoozZy7QLo*Q!s6{7Te=&st3LHNwDXsNqGnl1v6Ru#opBsDhTB*PE zwBC>QOw~Zyx+ysI7rfv{7u;u}k%0C_5IN4^o;xU+4_(kj?nz58%=c|($yQQrzKbVH zV4C`;tw@>t91d0Vb%BO_N~?!aHslSL#D)Y`*oOFFb^t5K9+N?RZura6Ru4aj+Xqmu{lHG6g;Hxdl@@sQno}u< zJ@J>t!SF*g3o$y>snjLfhS4`qr65g3S~+nFGsq59A#>BoRMbe9Rh;2ZCENsnLl90Z zL|aq_N?hD?yA?>V93TjH&nY51l=vR~VI$<6In^NYLVsQz{CyeMdLe~^@Fmc#>&9nk z+_N{#4qPs~AE#&Bs4%?}k3T@nK#eiX(SP@u=Dt{HdGAA0ZGkuu>)0Jiu!T{sdH`sd zC1*cWelyeqV@dK^00x>T0`vz1V9Ca3y5`3kS;hpR)iDSb=P15r$ixMX9{TvQ`As{k zfk6V9o!?sL;CKXqdD8Se%w`NPlGQU5I_F3=TLE<(<|-Vk7KFm&%-h8DmpU4oK7jp9 z!w2l~zGA+OllR$w^O+v+p3~)d-jBb}9Q*n)H(0l;al1n3%qbeaBBt=}GiF0&f=csrs56G3| z`hM^DajhhpkHb6p;_0c@sX8;YONDWn^PJ#j`A!u3@-) znX0@Y0@z(N`Y)!|Cyuy0@%#WK=P}Nz@+O+-A|UWQKSXJc;q{pnh8*v2fvBABh?xUa zT;w;ToDB^J!G_<|*4wWj-4u5+coI2_T>F40K{%eZhItaK%IOxT%W&%pOnUFDvj5>` zwbnay%x>$riLMRLQ-nLEJwWKy*zVGtn0xu=`%kK9Sft@#rK3-I(u9d|Ve0`p^WFzF z>IUwV_JO0!;-0d6KRn@qZ>KHA`)d-OG_ihr0BkvTB|IR5e{SJml)>FWbXY}Oo=3x3 zExzIOAId73y$OAgr=%{xg)2pD9h7R_FH@ZoJY*l%sl16EGme8{qp|At@*Iku;?}5b zlzD&+AN6GGPyaP0xn_Lu-EAs>=*4HMHlkUB@011xABEFw;+!-f4(wrj9Ac8zwKy#Y z7Xt6$K}y=bJzzTraP${n*xM5aSb6v?#lcitn9b#RQA;kj95Dxa((S9}BxXd4Y%|)~ z(I_Bg_mb%?R^(58tlr(=>AyA?_aXgtZp4N`TS>j3YP96`KI1sH2 zU(CAAbqkM3^cEG7ER)Amn8l+V0x{`(GQf}u1Cj?2RP&%b$-w}2N^2d)BBl43^|Hk? z2?R*F8Uh9j_S;=O*`3B1(yoQ#5c;*u@U--l(7*YJGbOS}$oOzQ+)oyPueXmS$n9H= z3mF6Z4TZbp6+^7f;;s=b&{+%`X=&m5SQDgYQ$CPD72al&d9K&4xLK9kyCn!?X@`v? zj}2m{6<2t{XyW{0EDvl#$Aba{E{sn#yh&ENYON0~aW*BP=gZed^1-}d;Uc@WC`y_q zx&;eVHxV&ipa<0Drl#cPI4M%v29X6V3L2%zQ4cVUqo;*V4*-n5U$bJ@`?_*!lAI*njm>(lI0`Up z@kT{`7|>%Xk&S%|c1XbwF3I5+sn-9~XYTH&Xul}hoPcV`ekUyDM6c0wijfK-}g2}mQkYN(%&s-ipA_a0+PICcNwBA#5lgqmIuGaQ!P0>YW2_GsTzU0q9i^IBZ!Z^s zHpFFS#(W4{*G)AV>q7mu5Q|+5VuqNT^bA}Gi0dFNQuQmGE|jnOB`1=$P_{`1T6Kzf z-qHgG1x81h?e*C;O(MEL-AD6^W}-xZiEHb<2^ZuQ`vtas*C=kfEjG*+$S$;ni20HX z#aa+?1XW5a8DDsb>V|k~!QlwKenf-2viONtNLK7Af=}+FmQUT1A1iUMK!~4f0BqH2 zv$xJ&s^jgqz-0zl7eo_LRJ_avru=-k`4R=?gI?wL=yk7z$UTcdB?~>P>$!5fNe9DU5_b|x?z1QveN?2dKY|Ge|ZIi-w@X`deE0yc!8F0H4)t>=r z>ovaofr5skop6YJGwYNLg7Z7IM3Y|QyO28b^`i^nH_mQMe+uYE8?K+tQ`!X zsBuW@*547R27Hx=kBIO|0WbgM=sVJ~8=7V48*Cg+qBRbaPNt6K75WIL!!C$IHv+R~ zQF9S}sI#Y=&9_WM;{uj>G8r>jB#iSc8djg*mn#@)Zp!|H!Jy| zZP1hZF1?DQe1LqeRWdBVN4bdPTlGj%t;51!bH@<8`6z5;ia}NX4h7}Eq_+2|pdg?0v z-^f-in#ths7QQ-Gbv^A+wp2?~kMuz{1dTPBy)tVN>^oRsF5iXBjW}(%9ZPUKW4Ig_ zW@v8_LpbA+%}Ha0m%|7sa8)vpp{fgPVuk!r4T-62ay!y{*km?bEeu_1l~S z_l9YR;ui*Fr$oO!HbddqUVngJ*y{JSaslM=c6F#3UUP#0kODA@)67+`-ocJbxYrF5 zvn_Xkc4~SJIAN@5b3-o%SnoJwGYIPi2z(8JPdb7IWF;Acjd-9BfsE`0Ao`Rqs6%`s z5IVoM_7S28;#whZPRslkM&-dgpDRw8(%=1V4#-0Gcpz zk{S5FAhIbk!rK1ks10TfizI!MA>O~B2acX_4Q+M#UUSM0ziI{w(EIE5QUP9K#a|WB z)){=`XoyrU#6>N<0T6mZ#*+g|U^u%6lyOrpNa2%Q6uLRPyQl-u_rPOt2CduHBs=i| zpb$y`XjJR~)QM7+%x7)k_7@HG6;(Ja#P7pWa$yx%gS|5d<`{mE1`L$!EkF(kGtT@( zEhnFR1&+^O@I@-K(a5F~A69jsoDE@UDwL0Jn-TK8 z8-mFK$;q?Dk%0~mwq17ebQ$ZJ;@`Ok)j?IGimFF-s4PO~<2k67t83L#ggRA9b*r@6 z8@X*H@1@E+ZiTEuG9W^}a&sd=Q7H`2O1d{nF7XBXH-9PC3LsbN3r%o)V^Ys={p*nGCBTiH5o8`w&>btQF< zLH9w$?y1AK*8^X~2pgZ(z2AqTq{-}T0S!zcM;97YK;E1gC89z`u0}0UXR2j7&O#4r zM5WL$c2GukH&8(2n^A)S=aq1L0}vBU50zcIGDff^+P=Qe8Ppc;i=M8w#& zY0L{Ec7s^h$yInC%^M^2F9d`&EK+JxT6eL8PLZUELQ;vUAQ=;;4nG|3lI?~RV{yD2 z71wC`WuZl2$d1Q;jWy1RgG#y*#IPU7LZHO9ZAK0xK>V`?i+f9MUUEHw=Gxa^>t_3! zJCbzYiOzAhsA@rMtr;IRJB)h&G*|V0I#3^ z`!I-{^*u=MKnuxB`kNwBhsCo0ZPYn8+&65|duDo#QVsqVu(n=Ixbz9uj@q__Ya@}7 zoY)Wcs)&+VpJlK37!+|YX2LDn2SU$jmNQs<*b!D+{C#t$)Zp;yjNK&nP0nf34yTyX zlw}2iI{Zu+0UX8-bdl_wvdrb5-cFOt3A>Vs;vdNVx@{3mf@e(y%v_3t_5fO0LrM=r z4N^sf_-i>wjZ~FjMPC}KPEbPi$D}A!PfyoOSI!9cM8p#X8D|;!wrV_C)Qgbv&Opq8 zQn=288Vi)VSqR2%$kt#hsJvJT6EdLgun+k;XhJ-c6l`@6W2p1ssn%%;;w0+cWwGaP zaXZ@DSBt}(G6RCd&*7k_(vs8Nr~X=px>tws*%IJb!4U)YE?PvyeQPGlYxj}qG4j#j6jqR7fmS|@_I zzjlS0v5KjY-j#z&T&7gw3Z>E~ij82sem&ZY5l3NI)n6Tcb}PL{+m>7rV(wndyFCPp zI{f$jRp6H;Qo%rEI?$5L&b<>~EIfZYno6-lk;CaTO| zI8#J4LYd`)j!M6XX)3lXN5pg++LqQSR&?O4Y2kF6st(^Vcr*%>K3&ZM=FWHVZEHILypP$9(VzzIV*C2RW80lSxMe_VWieb<1NAU_-mAN9q_HZz@ z2K3hMe9jCRFjGX-rW11UCxH8b=l`|U`$I)Iq8RL z^rZ|9B%Ro~lUIgL3K55Ii9!Td6e1kfJM&M3FLgbN+x=i2L5}Rzk)O$ zQtkbh$_*f{4#QX)d`+BFY9uvWi{Yp>ri^8OrJnG3HH7JA;94TFbokEGjV2Df)pgv> z8M1yZbW>R9l5sf0w!i=OoLD#Qp5q|u9Tz49b@;9@p2OKVtEf$J&neukf%xtTk9~yl zN>zeepRO7)q||o!Z^LLfu_}oij`p%(&$ z+ctcJlfdfS-ywwPhH`c6CsKPrU}z5|aD4lc%my+d>d!VaEZ8H3@#c)B;QlxD(NYg{p9+!DX&~N`purvL{c%+vw z28E16CptK%-Y!2Mk2J3aN23!{mOBx9UJLq&v}K;I7P%A>u^b3fh#wKBJ{E(bk;B&y zhDe6GX?`+^*uV;7hk~g0wIGp*)#B-CjY}R8%)P%VUnA0pSks-}R{5!7P@;t=s(Co@ z)D+-B&6GijmZ52nOBsU_E#69BBib00Xc^je`Kcqq&J-q2Ip8iQlV1Z0**`c|%4Nt< zw8^ECyHBR#*N9T0cG3nOsZ(#SksNQQ2CExc=w`CSkI3-Gw{FDT$jco4}+gL2DvPd z?aAO-2{C-jQRmZ(-N(b+^<=Pndb=X@YmtPNa3S34@P}7oYO;Gia(d^)2-F?%LFsFI zu~et&@->jggVNWAradka1|^Ay#{MucJ8gp9sSQ?6o~Wmt?So;G2y--V<6aA%A8h3N z2h&LZdh~RfQG(5j*l7ym(BHiO4J;1I;PBckse>52XD|coHtl}{dxM(A-qp=(Nr8i! z#oosKZ(#7)U-rU z$3xx+d>d@>bz(IQ(1Ts!5#{|3JnqYbty^H0<+0kqj)$z2f%E$QPhbwF4wN#e1*>i2 zsmUgX_ow=Ad6>JNSpDeL1kOHwc*<|h?3`08qM$tAc(on_u~gVE)X34*#o@6Fw~nRq zTPt2;AQ@p{)qmK^p2Bi433odgY@9r z{m&DO-CC9wrLgx`D&A{$TS5Iw?yj<<98D>Gx5b?HYwaJGZat(b`4C!0(~BQFjzLVI z&4W6`YiZE!pU~`y^~sAp)I7MOG~TMChUAo*kPddJ|GNxmZ4p%2W%uZ$1yDrk{PcqT9fH!=_CHag=>(YT4ENcuTGZ&%>;A<~UlVG; z=^XKmYTvcV+1$YjodN5PP?&>tw` ztP0Ksf{AKKl;|1C0lTSx&KuPvw;yt4;oxb< z;>In3hA3cTm!E8?*3(pB?{H!(?6R5*WM1~>E`HsmcIdXH^iY-SHEVe5M%!}(*I}3G z(r(+6umM0+K+Cm4z3Dl9HTBcK#uKTPiY!0Y>a!1*o?2=BwDZz|__1H73b(Y+<=7y3 zYE+3Qrgf4xQ{O9L`A0#jk1{m(k1<>83C)Yvp(wMTv55Hez&mTKZbBV7%qMM+TpE&* z@k$~8GMZS%OiT@y0xVM%S=d*75ju8YJrKpG+_`ScJ>hwNb^oK|$K>E^>1Vv6PSyFV z5oMACCKb|J?ha76i_9q`Ij~CMA58nDT*R@CV3RmkZ2yOu?YjdwG))T5jscsP@>8{}*7@l-NyR_1)~qLMX@2x8*S8Iz`<8~j23h6z zGjk%gS^RzROC5jDsBd!sgSb2a{V-VIz_b*sjQX}*C?B4OY5;5C&~)|aiR+-Jx!ae8 zXH#D^5JYF+^T0@{hW>jy*m_7K?+-WAKO!zuUFp$c^(eagnOuF_0Qqe?16Bg#@UT0 zw1lg8ti2rbqqR=liH9VjVqjzk>CgaPOi7x4&BNK#>V_gY{e)N%Eh$&jTZitk{C*u&u%v|9KN2#= z^BSlz0@>k->TaO9tV-D6z|7U(PYyY1joM^!E3tE4syI!kp0*IYy&eBzSe6~6jK1HM zzcNO>wMO-wCkvTKg~Yu{l0S`wUr8yW0beEf;1J@3UK~8*|1#Bx|7EcJWbi{!Th&(N z?!^B&$c?;Hf{pAMObw&_!dqt!_6^AwOPq(A z)+=>(GuleoMD4RyHDQ_L{xI1>w3=GM9!*RcALVBn{$ntAo~M!ZeJLN@g?;djl zCTJUaoyWtzG0%3i#k*4+%9GfE@-{=GAX})_|Ca9Tfmea5GUiYTvX`f|{%S#)D$$5%4(_*?PeC|Ja-kWuSu&%%PGilHY1O1M-k8r# zE*$brECY=%M-3<&KL1ss6VDzz8BmLiJ+1Mo+OC&5SMl!atj6PINzB9Bd4=-qwR)mk zc~@m%T5F@;cSnOPJ6smttGDmjv9j&5rzWhpkWD|9xDeRkP19B%Kq-wUUkU}6JyF3M zUQyb)!P0`dudE+P(HsHUB{j@@My1-N>D*mZlk*9cscQevh^a|@+upgyQU%8fKZYli zV}IpObzY7#7DC57PwhpWy|@$iGK~B(b&dKP{P5v2^+wFtCBO^woTDzsBf0%F5`OD% zkhf&sU4(Zp2YtpW$glXX%CuWS4x_nDnRctmW73-Pxc*Ytul6%T??u2uE_PkZ7l}Ce zp)F1vG6hO(xpI)?C%d&gow6231#X(`$dMT6bSlaC;6-)xVwp0Yt` zGsyP%J8c}&8VsX*F)&0k zE&_Fu_noiRCoTr&=pPvN(*V_9au}k?I|#0rV-Bj5B2vgvUFDVBP84lbK~;#q@2RE{ z2ck^2Yvs!=OI3Ty-3np_`pNF}jj>VE2 z&;T?Ps;F)1$&|@1QE8>Tv(2+U- zA0!9g$$5E1U$WiLVJPmrTvB*cUu@aoaM!2E#QZb&9Pj|YBo$d2{J}619oK+dZ{>hy z5zx^Jg-fV1>LNZnzwh93Gfb1K{@3Y%?xe}Dy3_73=ScT6XgLIYUpskk!%3tRp zbGF0I+`->kX}~qIQTiOoO9;pQA{%?oK_$Bgo6N-TxSFhp8gG!opd3TjDR9M`C|hF2949u~|E?s-|5p#=#*&`BC{O)JqG zm_i74-JuTuHe7g+TSoB&Qj*J(X~|#{yz4^}xNsS24kc5F!D4AnN6MnjrApz3oaU}fkaes~S8Fbi zJuz}mDbMyuumjO-&hZX)`F2m7{j~}M^-y9BwMLwTAi4V6ZpYBJ*~(3;Bt(;B-$K|P z1&KKA9wsvvWv;9zyQ0SBHZ0s|F%fzj!TIHGj61r(46;u5O9Q?kX?jg^_=&+NCEkN!?ZkBMjhIWW{m1=amhIqAvDkr( zRk^!ds)D~}%+{&1Sz`m#YU)hxS=xcHfZmkx%~-vqTst1riB5P~yeg^`?}&xjbkrq; zVG{43dc3xTzH4KTFzVM=$uieJsAQ>Rk{l>+BP|>CvNH;2GF>vki?kMFwHj_nkTiG* zghOUo3t69+ge;m!5+tM^O&CHVOcUKFs!qEKqXJB;gXmVmT*W>tby0u_Gi%d|IMq_G zAdvQ}^BV#!AQSFD%SlEwH}YE`egw%WDY)T}$5YJ)>C~U-+y0*sm!F}JEh78yV!?|m zZUKsQ1w%JLPIo1y76n_@cbWa?^psisCYb#%!;`@l!WBxTsR?t8<&zqkdx>S^O2+|-~#UoeU#0-1RKB+6DUdw<7hry^CS(;mqNGRnTo8$PX33f^8#i5$w zSJYeyD0>K$r5sy#JS8OK=^B=~bnqXNl9DKgf#26P>T+c1>ZeCx@RphL(17gaupaqo zN^Fm>Z9$k^MFgj77w~fzD=utlYL+W7HtTZbO;IU9V~1bz?t%MP9%L-?x_mCkMV4#I zvdoc0#o}bgLv&2HQemh?ut1{GR!io22_Q7?aLw*5*-i^DQ`n@*#WnDd&o_J6t(+II zcKc?ug<V6%FkW7^FU0?dt9M)!75+yP<6p9GGAy&t}q>Wc1Vd%}dC;z+t zUjp^({33;A`AzJ|kh7g!G+S2VA9&Q0j%vG@9Eo391(1YJp)XVZe|uja9MyH@`TD8V z{UoGDY5@jM3%65t1}C5h2QbdyLeghV7^tQy$#hs5AooY)E8 zBo$I))@Ea>oDJS(H+Yj&NUdG5cC8w3m0f`vXVrBNnNsVW-zu!6czW2KI zS~N&x^2dPm-u-^(p09iEx#vA?5X@RZvMvG~#ciuRiX-n-D*RecwyHp(()n?>iy5^u z0%6p-AGQrS2OD}s1;FXvkVD{6Wu(d03LC7;4_8u0!!Wpo^M44GQ%7Exc#+3I+uh>Z z)+LTYN)e@6&Z7l6mP??XcEi&87?*suRqo%1Sz56lL_`P`1+A4J#7b4X^1byF!Q#4G z%@Ddp!lSJ~@4$$#TwTed>SDAKM@+?Tyqu%Nxxp&fWimI)Y;YzI^@2D}L|HU2{%AYq z?liPY3I_^J+kpWoyUy;#ELDt>jfm@;Zo@^X>|n#998U^U!;D4Ro=&HYIUw$7aZ@%d zOim%z zgnd@j=uz@sMUI6OrD{{dxy(1yYC&ihRcm`E zeKu6Ctrse(JQH2ROF~$7W-TR_b{5F65~u`^?g}yuogqn=d$bhH0 zDWr~}XM&~HW5`$y`VxYJMRL7$lh0Pze>NL7h@M7Zkp%*29dB0xw(V`H5N$E=q{f;( z_S{TQUfIvQLHOC3h#I)%FapidNQ2Np!-^k>OW5ubaj z-_W#z8_ia=Me(WG@bJ|uSJ3=$cE7eq~_WHY*%@2KJf%HKk7+d}SyMz9uf3E-&oXV$>y3@iLKytMxG#lXuW>Op6b?Ct?4NA2bu4c(1spf2pJRKwt$%6aI2 z&YscL0K9s@!c?{UONurPaI5k)mQ_Vszp1Tf$m)uw<6CJ2TvyRFd@fA>u4gC7cGD>x z<^|I9(Ya#w$~E$G=&WHe=VoGMT}7?gJAG>54MMan#0h_M_Pi2!Ijy>8R5O=geJp(! z);7OVTPaYCU!F@qEp;rLYFN>gOWLWq1Zw(ThFGI^u5|WYF_;lYY!(4g4#g;D44ZG^ zU1+c!kHUnmO0#_i^+okg53F1D39w2p6#Fn1#I8*m)HYkQFgC}}tY^a#n~QbEs@zI+ zT&XaIH3|q25oK7vF<==`?W)@FMKL4wR>UU*e>V@mtR&3tNUuJ;RI7@b8@-{KRuHNd zJ>%sWmofJV=tOE;w6{Vo8Jml*#U1tlJHH7ThdteG# zIBe{#bjeWi(Fa0kY>cnIE?l`r@5>rlNH- zml0>fbe$A(Kjv!Y901`F6hao=rWQ)cdMt;>l8W78GVLS$o4bmo>GF<&MN=IYg z^qoNKCh-m4o2%o*l$Mq8a=&v7Rs%&HJTaZiqA^w*Qx^Tve8}4ApOp>U3jibHo9&iD zc3r#LU07Y`a(lpOfr&%4J0?y|3&eDFMMWPhx>pLEabh2=l%PruS2t)iRMorY%Wdsd zq3Zm&*OJKH`i?njA!Rx;bSq~mHFKCvSm*ldWqrr^wE(I`C95^8k0Dy5!!|o9U|Z|L z;fr+C$MB}FceOwaOHZ&CMXhU5(xMZjxYlJs&kTg!P6dmvH7Ku!fX1&{-@c|6U>2k~ z!cs)^CU-8hC#d5Y;=nueS3YIJ%CSg|$EPdLt7Qor17ss@l;rg@h%r3d^CAB`moeuu zpK^Jkuf5*P?>`Y^9W2#;>2%jmjD81v+aVJ=KQ8 zE*I94vvaNwF3Nqma^0@}7MYHuT*J|vBe(W^5e zdpg$DkW$=Mq9mBimHHY3`JR=qSVou$xS6(~^{FM_f`|~7`d5qDz)F^_%OzTidX?*Q zG!?I&hEGk$0!6#p^5p_zu~7MW6boK$z_>crt6-?3b(=Q^2OAwf#NWx;EF>0eWwf~k z*JrQU8K`psBJuQZW>Ss8n`^p_nS1pZJOM8P&KQauw5$z_bxtTdguO`g0#+-?CuYMU z(K;v$q*AC}E)G;=UGFN?lKe`xs1~qF@Gd80>|IA>S6zO$YXvV^IO4CVOxIAg0IA=j5y1X)KhWGK&DsxtNoLN;?f=Yw%%H^W2YALr8LOjd#HZQ)6@D}u;G^+=`BiSZ`isIetwomC+QjNa zjMt>TcUx*bCVC>%RTQlVnwC~plnG{Hp=gaTE0(!-z(%1b;CIV1|84GBW-c&o&k!wb z>=$9JW)CO4^jPPhc zKLcVxqCu)(l(JvzVXWEZF=s88D2iC~D>!lHbn3F&qlT+38gn-tr2=jDAt*(@yu}y7 z?Aj0@h!d&n__fwV?2vQIv0tx;RW8TF3X%n|l85=psmrlUlp~J#da54aYT+vyPYkiJ zpQYE&Ut8en-PcsFWp(Z4e-}VrxnR}h@cLbVUa3uOh(;v&r)$_~0Bg&BZ5EhGp;fbo z{>6~s4~mid$yyAT)Nd=Qp~Tn(MjD2{Y6{+NvS)G52cmkhebo0*(X*imf0{0js0jw0 zhCc?#_d)oXGX1MkPExmq&bF;65B><8h6HPTG$D?%AOnfD3f;N_RNFa)M>b%(HoDR- zNLMoyqwVMFe;3MkqH*xfu-$tq zei@q`W^U`Jw4mB^BaXm16N3R0kQuecE_Uh{QlIaiVa?}z(D)#0;fqQP-ILTNLNqC( zdCkTbSv4Jw_0b7)H1;Kl0ze6pgO~27vp_Yy>}05RI2o=+J1~+(N`T5*aN7|GK?ofy z`1Ih&&<0TRIn)M>v*4G9HOSUkvKd6uzuiI&6<7{2)NI5!{F9D+kJNq%1Rs3-m_9+{ zIjCt~<2YyH{z8~*(dKK+@$ zZ(aK}rvcx0jAvspuMwB_g-oU-xmm8CN-j(ndtx0q1vJPh+`abNY3m4PH{Y^-}>2^3BF{VcS)WedpEhp2(L;8%uB+Ew8 zdn#Q#YRaaXWt4O-T|Ax;P;zYbCR$CTi%+H{&GHU_P<#eAg3r4?K9erKf#+!^l`dZD zFg*%ClrAMtyOi4Wj=7f3V~BDV`4-$Cjx9`=-bDt}MkZZ$+@-DpSMFuQhqX>n(qk%m z@VxQ0GS3uJn~=h79a>&zAOC%+MQM*DFe!9M7amEE_qIw}Cnd;}0c$9#c!o^7|~7Vz#dFGo#|YH1;ua8BUt0xr5iD%DRNea zLuQHr*urxHk{in`2E7j;(~Np87c%xr_oS)RA$R&iYKpaBiC8k((Ag17rCQozvCgGH zz*ual6L03AD8Uq%Z*ZIxq1hvYc<6c)KpbdIBo;XZxkj(pY0N zyEQp(3gj7!r4qnjDwDx5g>S`D^YB0m0j7Bv2qGJSwU#2R|qQC7d>N zLifl0o{h~EJOGX|Bq(_8#T97j$sI+>W(;u%VSB<}j zWZps|8JaLGchhY#G!D z!hTdRoMMkmu|-)@W!S?XT_~K!!)@2o>7;8$Ice^vZQV)I+{3VjtEq(m7u1hOMNDof zwZt%S5T1aD-a&19;YC1-DkQXhqc)XWTP&eDxwXYe0<@J|TZ|J&PHt_nR?W3qhy-Cr z0Z|7k4ui8r+nF1YIDQmRv}J*~a1AuCX-qB=HYQHX%hF{p2|bW&FJ2@Hk6~mP@e2X8pKgh@qCqPfw6^+%m0FA5;#darhTwpweukN*i<>)9+tiGCQb)M&>5er3>RvQ33nGz+wx%Asc8NB@ z0*u0nnx>>Hie;&jbmG)387eVVMNR^;2@TiK9Luy-KVcpul?#w)L_u0dOq5e9|1o&@w24BE^49BjqMiq&8Q2+6Z6)$Kl2!6)bmxP3r^p&s=n(r$fJ`Nb z`bn%a=-%lgi^h{h&QY*FA6S@j=V!@zWUKb_C0)}6OH&nCnlhM}GMJchx#AS22+6ad zDNpH?pY^9KEzZ~}pFz1l!6}kkruJAeNd!!#INUkg_#7JB$LXAc9>?QgdLoEd>J8Ya zE*5lX7)oaj3%gm2!8KU&I5@ec7s7a)a0~0h#vzU};2~GUc1o^dZ<>~q(iya%R9_4Y zK_y1u$nllJw>kRwtG3ar ziV?xtiTPxd@e8OEevy{U&Ess}Q6?pf&!9}8f2S4dx9}T)`yB5?Tj8B~$p&2I=bvZ* zsZM^~fcJ(efPLengqc|)W)J5h#WZgmp&Wa)WaFYaz_^{6)^19RSl!4`htTdQY(yf+i}Gz2B1FqIQ_zc_Ois0@H zRHm$=u8YOhb!oop>V8t!gp;yrYvZ#ElZj^J`3wDT8^#mJ%d&!1f$d>YwSt|Ro0}o* z$hWozt39$P^l)oSHsERpL6RDvaFT|ok_;9{Gu8zIj_3z5+qK}d!UwAYmV?4~PT@NZ z_)u)&J5BgbTlm;spgJ9b$`k@BGb)$23i#L}0OmBgztL?kIq6cIsQx9U!ai;=Q$k>u z%F`Ij%!9=kD`-bd+IGZ=ov*Yz8PMZ-PUCr<^z%sBNxuM&MwZmeaNm+@FE-h_ms6Iy zGOADYSEid^FwGQ+uLgCeEzGv=LQwa-se3+v@RV)#deF=g!LNHmg!)(DZpvOiO^1GA z^>n`&`zMfBONxtv3KlD%LHaZ4EF_`y7%EboT9uLE-fan0WKzB!$GR%Q24&X)*{1@_ ziHRi}*T8g;@nL)f=qEApqpa!!|5iXY)(VF(VQ>LDHX7U8AoCK*k^)&gk_Gmeo5I4~ zK(*1?09^|^5Oxawk%+~1&uM@XMglEUDLgz~yfNiv-3}3P;*7>H7!I-vMCis`ZD7B! z1uf7LMq`K5PPAxSW`PWhi9wgd6TCnUGk!nr?yobLLw9CXXP_693lNu#rwjiChyVth z8-;i9(@eKU2}2g%0r53~*%EASiM5@qN;hINl*x1oy(T~jEKa^L@tO;l17rxxRbi5w zW=XuatpV#XwvQFsPf9R(HH1*v)?C#Os*Yy28O5DP)6!&M2!*O>88ini2@lQlx7x>7 z0ZpAsp=6^2A#X(iclsb%0>AMV>aNp(;&IYR??7iNMIk+fg3`iRhAV0&lLp#~H`2xu z|Ho*$JPOQ!oy()C#bR(3pD-&I*Du{D({4dM=t$2JJ7{Nca0a;M3g6%XkVgE@!*4Tw zg}qvU{S+Z>!eb{|Ix{H`J7gb&+>EOknn}f*-At+_*+@zjZ|qEY;Isyz9K2O7rk`pr z-MFx-v!LIh#Z%f&(VJ+~*^}CsQ)#>FCOm@sI9oKsxqzF8Us}_!$6>6rrYHxkn_=WIT&V?Ik7> zYG~~Mm7tWC8&qm%7dfGpW-ID4mE&bFNX8Db7{;H`Y%n)(f#8}OccxkZJ{YrUuK7>c z3=LHF5QL^D*2;!pVy(^6wufj;tj)YfG#U(trBzC8DJCz1?@_p=C1|nX0dJ9?Ae4cfoDxyqSLKJXA?610QAvmj0tq8X5M6 z@_W>31jNjTtTfNZwuC=tO0 z*3`S-=)g|F3PvKR2Zp`Gr-LQ`=k2B2VOFP$`>^T6>N($m4Bf5iPTWMMxzKG=UBg6+ zL-rt=(&cVSk^d|}Sb7EJvYZAF6Mwo6Vw}G{>GIPa*GDGA+xxVsS(h$fkQyeW=7Oo| zO_yJi8YWEH@^tBSDPuxbwAYE&ve%9^v3Li6;QpK#g$GnDn6H6fGns{0u}W_ngYQLq z2Vuk|`l5KsUd$}6GNjZ-11?*L%ZZ06rG+A;DQ_2^ zO-&O6dNtq=!5IVWBgJwnO{6E&ITYh3(Hw_;LMbkMAJWXh3O|+W#C!)P+}+$vuw`*` z3z_~MBw)k-l)O>ei21>|#lS#=h%t{l!dZ7|LnG#vgD(ooa4geGbq&zPo7VuXi>I=W z+A0e%M-YfoOn}(TG{HF75CA!C9XMiWfT74<*!YTt3F|36@ife52xM_H9JJ};M(Eu@ zN{bua&P|td~qWNCE+EZWjHd| zGD*lpUIz|1kx_AZPP_r-oSt~oK3N2mOcvl{;w{S-f|6o?y0{X{J+7%FXE+vXq>lkR zH&`nW_RInvvx@lYE#|qh-2gL-RRzJ00X(yr#WE?&2=<@Y+h7}-#PpytTnGmJXxJ)= zlkz8U+hS^*LvbJVPvIw${@mguwFQ*`WV^k1K$hk)=q@xuR+>)wdv+)Y=qvgIHj~W7 z&E^y)y~CwjW=G1A{dal?#;5xh+NAJWx_H>&_%L!9fF@NA=1n|9t;s!EE{T04pmw2( z0X~_h$j0*c*Z8RMI7~IK0eYZ;0&v*H6zS3z_a?NfkbsX>!n_Ur)yX;YR6vOID``=f zlFY9qQ`{)6KykKG%0k=8%mh^v?}}YzPCJSlKafPDBXQ^_!5Pbok3gKYfmvrYD{uj| z(ppihYaDQ`YaBbW0uq%I+t`lM4AS8_cF{WG&4ZQ1senEcWR@c>GRY%tB;k<-I@ODz zNfa*X3B$!C&AqW$h79wZa9hT39UaO?7KIM!HLe3YiI5HXWkY7UU3n3|uRc$LkKoU8IN(#OSK z+NK3#wp_SShc!juD%i@w@eCZpd^|<#mymxKdk6plENgZ_w;KnmJ|cN8L@ruiNBikW zh7laHBDvUW(uM#}gi1Mi3<7^!gWJ^Y8u(#(7=(lBD(5`(cD>FH>}MNv34~_Gh@Ko5 zf-N!~;ZsUt0YK2dNcjX(d4*|>6%HLOn%Jzvv=IhmSOe;1ZwK@X4QNC*dazAlAi;=C zSGR|EL)E7?Z%f8I@g(v(9Eq4cc|}u7H5a#1E|!t-7bIYD`3_VN0B{2Gh1odLB)k^2 zkKct-FB!)b_ZzVAqk?vdor{uOS}%*Gkbk5o;`nT!TDQNYv(B|!@(fMWpcfuP23azwouM2PWg2z=U`rJ8DhaiU?1bU5$rjwzk6nP481*R2!{3#A45(Co~(3%#W~2Eh;?am^k|>?KJK z-6^ATUoQhbfoy64SRDikJqpjLj60LD0j=~8HlZ8^wjpnjq5z7JjS8@eTSp_)OqlvUNOGg_5vY@JVP)x5=-#&gd&2%>)5> zz)40&>=vj*zhzX)ucXU};T4QIq<-mv?b0i@*4Mzqs8Zt7yGi{={YY)e6&kAuSkM*j zhVNGddy`;-yymAwWf_;NwI<}QJW5xbArIO4h~{;)E&gbl(o*F>w$&7(7E_=RemsC| zTnvnmOq;_YJ3Ly@XNAB&2N%N&=%K-HWbXa)KyZbGry(d%_JrdPv*eHwFNTwe&ju?d z@Wv{76=boN60rgw36@lmN(rE1TjMi8@Q9YvRmt+F&HY((KV$BUj9~qFbLXClc?J>i z&NuSnjVH^DW_oxg0Xxz*}%#UWkh{#x@ys(N_X$ZTo#1cJnr-HL2fdmvSI3yImn z76I0+XQppd6SL}dhd!` za4Af1BPYRHHZi5<6r!Bb=2>3>{07C`<+`M{I89IbDTHdIi|24bR0W2^)>1<(SbWxR z#Yl)^lb=0BH;V><`C%B13G5dqQ8B&>?Ziz}+RkyGX158K#rqB3xilX`TqM(^q*pL3j?k4IHNQYnD8NOK}G-FwJZr=itgmY&LFMT|Ef_OGEkm`bF-jvLn3`M7BM%+?x^g4X~fUan`JD?XB z><=wpdKY^M#Kwu%gLLBu`T!D+mT(Yl;gAsZKqoJcW0Q>6AjI;9AYgp>so>o8!_Et* zTAW7lU7^_XB*S1TX5dlM8rvMPG$-L;hQT$#-33-50S8%R#Cm{VpAblvsKQ1{z|~q# zsQ5-kZf9K7q>C@BvJqGK3y70q+-1ab09ZzR)#@?=2t;}^5W;ofD3BvBM6Y`(Ng;M!8hhx7mJ(-;!0WWBMAD4) zqV3t(XnQtFRimv)By5E$iiE9bZnhQ8(xcf{w6xfY7O7~l6|JqdqE#wd1&Nmsv<-Z{ z)sFWHn0Q_4kV`Um9L_!7Po#@qmBb;&(6D4YT`WlADD;UW9!nRGfywA@qlKJli#0N- zszLb9upcTx3=N&+aT8rV?_p~tHwq&AB!G8}x7e|}Sw_ucNL(@J&Ts`H=LPT6DiB65 zJz9Z`svfLhKs_t6;b)Lsdj(l~EA>=3xqQ(4DfY+HZ&*=fh{0fdNP)s&Khv-b8nZPCq9F6cM z(e>(_rn!e#-Ll$_(cthE+KlX8#n1>~9LMk}om~&P583Oj`wdxW3-ul#>IGHs%;6}I zk!C?L#2tG{8CEec6^woqecH_aE?qpT!Qs{$i2|8)=<#f?lbw<&9@8lv(*+)CPuo!A#ai#c}-7#Z@r)6&*h20k#ML zIghR=8j=+=;4qOvx(*jW-MyP1t5y=$OoD-8oAOvU7I$(e^ z>@1HqCOjcB$v{-jVs%8jcAqLN@G1s6%dAJlo`>q|pvcq7QalT{jBXB6p)zz|;IqS7 z0&%;DuF)7Y()=w1(dV+Ud1fV*;$+p zW^t|);{~%gr?cQAgIP$SnFVXW*BJYpEx~pNkI}-jcCuO+qRI2Y^qvps_yUFt==g#P zvih#lMH)z`pNAkNh9Ng09rSz|xj-1t$aBdCL5o+ATNt8`rC_+ts}*hhDOHSfp`wj% ztf4eCJ-q11g^bMddPRHRMnP#X(>F56`hs12Bi)ZYjAq;o#C)5SZR{$^b0XwzC=Xp? zX1!3^3D6q?W*3IYLOK_xF;A_ZD}9>3I?vZpWU;wAD1>up?kQ!r<~pkyIO zOAhLROXOt}s5S!Y?}nkW_`Rz&E7>C^K04!h>cxZ8WqJ9ckdK}%2QpTIf2$hp2 zVg!_)<3qC;_#DqEK4aN|7CNm?933)#Ps**a5L zO2}5%x6u?chePaV4q|b>xTK9LIjV~9czND+wyT^Q2K^RPm!sap8-0wKMl0lSJSkkE zNzWW7r_}VoIY-KTrGP1&|4~GQ!=VPZh~y{M3TaBmfJgIQ)7$FCv6)~HzUa$pTtvpd&4K=FaRqBx8 z>d50qSp(s(BW1AF2BKx*WS}G>qEk>Cj=K3#GG7||4o(e_MI;Hpfd2*_otA8arq&`O z^Df_H4K+A2IT4s4<#qC~oqisle{c{LB-gj4?znbd4)#J+AqLm{rWU;A!AD7qpw5`bNghgyWc*c990z?VXZomIu6 zpIJ1$luq4NP794WHxLy8ZaK^zH3FZ-gPGAPF4#DEF0V=Q zCdZ94WmxMF6QY>#^rllpJPQz5z9g6sLXh7PTL5gKN5%**P1!|lamFf{h&fFl77lm? zq5%pCcSBp8k+wiPbJH7pjN!W*12-dBrT8gC%={@i7WYrJW&t**1FkMF6Z4S-A62@e zViSsi0=VypAn+61e7J$AcL}Zg;2pBlDDEH&;~N`0$oBw;?wU@{9L?`zXE2R#{g-=v zK`Hmj$Z|u|O)@fqQDr*~@QNE3i{dd+W0;|d7elZmEI;_h>A6SjnNqMj3B5wLLl)EO zMogoREKF&cP?D1t3@)3`#Z_jld7aKC(1&Xg(AFmMT`2M`B@EOf7EKsUc*rKa$VHW- zn=j-U5!9LDa)d6x;;43Brzk3qUJrEzwXSFXxU#dn@C?TnG;sMXX+Ms0Do0<^iQxvs z04#(fn?!MAQcH5OtA?}bBo{t7afF8co^NSP$_i6Hgk)1K`$w!34jl5(C~5$RFMD*FRZ-J2HfPt!&!LE6_OMtgLnrpP-uKeBk@M(-(f6- zU{wTqye9rSER0h`#khkp;GuFnu6%qh)-Iw8DXGWHGpv^{Tj1Rqr@<48j_)KP=$=F-KL`|q2 z$)fvVI=0x$x~oElyx`Ls-xA8uX`K^#0xl*UPx94sWKDCe6bz}ck1z%hR0^(_32T85 zo$eU0iwEAd3IJKNC1oLi!&&STA&&Jv+h^K5I;y{>$9GVtU;~N8u^js&VOVmu=q0>M zi)Wgn7qEF@5)TVXU{9gQZvgcQwN0(eSNS+3Og@&$En{=Vm2tFaz{4~WL+vb2tS!7` zLhGRXG}Z)3T!5)0iI*6LjH=S>I4HmpfTa*W9*Sfk?Ufnyz&s0%dC?WB5a8N_6x50m zw|Rlo09@QCxx&TxGEjn-Si>?Wgm3CN;Jkx^RP>3qLn89n0 z7vo}ue@l5x-sdj*li}R{PYexie0X<$|7icvVBdqoLkCAw)z$4dcgCFcntT68hjW9wAMDzf8yUsG+aAnyb+5fO zcl+wSyKmc*Tezdq})oXH&b3Ht4cMcrL500)M z8OaZG5+hw3hKBQwvnb}YYgIO=bDWRIoF!eK*x0vaXm~WYYaqY;-u&MmGq zeW?X^4(Ime4-O4~wzq#||3Gf+6UZ)Lm#poR-F9HtNPd)anD+3EpF7b1P;MYUxO;5d zXny~Op@D(?Zo>8cbsx)*_U8BI4h)R4X5__ahA< z3-^*qLk-atQG-#~M@H%8o#Pg4$s1Av9(@0&M)KJ|+W?^(&g~vu zKR7rvnj;4-`@=gvoP97iF#3nL?8x>H0s*-_GKAnu#*!g0=y^%hM7Ps~iERb~E%)_3 z2+7?&kQ*7v9_$|&$nMH#hx7X&>3i^?Y%aU^05O+^#{j)Rs zc0T*+cUEpXJ-q7RvDZGg^NzNEwPxbnH+TQzBaeUWuf69!{iW}IVa-jujxXK&%F`d2 z*ZxZD|6Y0b<8OXC_tLuW{@}KUzW3uhKlUF!@{OI}e(0&c`}X3MU%T+-7e27}-sAWD z<8=!MKXT8d#64elFu9=>He)}pUiap@Z*fualWwf zFaMNxs>Tcmyy{TgS@r3-vvphVwnxADP+#6Txc)z``Q$OTH}_-Gf5V5iLsxzV(loMt zuc#QP9N!COPg+dvQ_`D!Ut!8 z1Lu15j5+*}?LPUyEkBrxzf&at?sfjauiG!rAH!^O(vA%d%Kt8W`&mD<%V!@z`T$1I zPbUu}_mF&+R$D=1;a{J#2;*89dr?1vF$jC`L2b6XQ$EnkKPf!wtVbJuf_7LwVaw-@ z;18`5ZhqL-!RLpYLSx=5EeVCi(<-!H>D-PhQ=B>B;OvQQe!O=WcYb?0m|^|T@4}~l z`PF6zA0K}Y#=HyTJs_hI!u|L}G-vk!YDdv#dRZ2Hz8} zR+towGUt7GO87a-A$!n+pDrH8Uk$TVbe!!n&wC6Eq!Q<8@y{HebS3x>=G*Ha@W$DK zv4?;I{SJ75!OAhSkyLb?XPl2t8>5SF~6}*8g@Yr_$LrZv9?Hkc6Ojrn_f1TXp!NeYeILdv2r_1 z6=j*mM53eM_!YOvG>FQ8m*Gj2C%CEnW`>Ue|E-4{{7+{YDA)SWu`2)XJT=KI{5@$H zw3HFp{XAE~z(3f@0`Dp^XyicI$>=iMbM&oy;NnBg)Tz?3+nxLpk7oag1|jgxnc++R%>jl8iQ5A9ILg;YQ44^ zu#5--tEgUORS>5vlXQY%mRt}=K26I}MJl}@j{FQQA7RM_L58SAl|T?MN-TyTU|<|6 z4M7}}=!4SIqb#`~j{GbwM>DAOf;jReT8<8=n4Yeia&KWSDKvxLBE<(}xngKjSqZA%mHelp`iE%=B7cdJOSB@H$8` zFg2K%@d`^RA0)w5v~Zwil9@nD1`?=v@gJc|m@}Dqre@C4&j$URt)GqhIftLHG#Agr zJWb4JVgVD#t4Ti>>LdPb%|sQ6=5}T-(@aDsVfHd}g=RKu z=0(hG(ae>axr3Q!YvwA=yqKA*HFJ%Au2sUsId~?{)y(ts^L!oqg1pBuCg zu_=&f)69rwZe->rChjslJ2wNVsvB0lGYaIm?*bNH$h>}*c++?#FrM43aAFz_!4m^1 z-(vlgQIUaG%$@`QBhQjK;blkM#fq5?cYQ%oth@wqt0PK-I7q8X{2j0vs+0 zqWS|dRCk~%ErtpXRONVMh?apWUu-9fE&<5&CHnD55AFgK*DeJjuI&bL+_wi%R|res zS`L?u>%&863|@n~eY4zB5yirmB-kODI`O9G~n2W*$^SDHX z6Mgh^*g(L_Ph0_6z?3os&p@g;O4=3s0=StzPn~DT_)Jd_qj!AlDzN&l21w_1-T1mw zgV%!arp2zqBaYhc8gVr|GpdS|wL7bZiLE=UhWmDKx;tZg0jtwrK;KZMietgt6}%qY zEdL8P;1RqLpc`Y;2;KzD_d=ajk-?imzrbb`?-pReFEY3lVA$0d9LU*!XRwfqiQYSY zK*@(Pi|fxvXevTr&QE+9Ne3^x&t2%-pyoU7`wAY3+W~k5JH9r#{D{3LD?gji<*!+5 z#`dw5VeIK}fEX7YzLmf?bYk98A>JMUGcf*KU+f@|DwPEFJHBpM{553eF=Jn4D|Z1T zz6NlSQYnT?rZi2u=eQBO8QS9WIB|5+OA!Lp`mAmK+@%Mx= z!WkrYRu#wn9%u#cgAr926BYh%Oi6{0hRNDeDOEfNn!~KZ#O{ZVE)6_qUo)r_LkN!N zCmz5PzV`h)o<83We(d}ffDHNvfgJZe1eo|X^ZHrBo1^i;GJw8^LH^&B?Yo?>-I?mP zq?Rqd9|hG;e~%sHAgY{xgcCo?yndDh%i-_NA0+D>Vx7lChb6q(86SKcm|a^~XgvWM zG5kq91`L;vc+DX7=_AY_@+Ur;!Ka`ddm6waF!n>BwZk?4N5W?qdj?>^(Nv@3Wy86+{Jor6(!1-gAPN@ee zZ}3?zFAp`VoV_q^heM~vFb**O+;x?lF~&g}b@9^r$1sMLc`mg={v;K`{>)DH=XvOQ zg8v1Wf(TNk{B+ECT6MC3+yQeNM zz5#y6y8#kEfiD-C!I#*j;LCtmFo>SSOH56KB~rd}90_yNk+2j%CG-s8?Mk3_5Q|dM zpF$XrTJ+WC_+tMpxp0bsBkB-LdSb6aGA#HSV7%CmIrV2uThp=Boz>vJ#LpocP(EL3 zk<*ilyaZMUEwbpTIRZZO`PP6kAF)#oD6?bI?Y}CtZf~xIf!*z*41~q_ZvanHO4VIB zxhM8Ipq>#2x789jsjYNXW5w|Yp~qwM4H(4Od=rlW^_a<(Chb39Z2k{>5r8ALN zwzMtVmLaG|Vx})WX)wMy#MuS9mKCZnWMGM4QX%D6s(&!{3pt~5oiVL?ug~he*odh`cWD-NrN_4b%22R+l9!iTQg7~P z?2GYS<#oz#oB5TP8I?VV8I>rx(80=RORJ)RK-TFRy9C%th0(} z&7(bV%3TxjLB=W@u{`u8j)JNwj{i3j)?6C@01pA?jt1<8f@7>zQ1ETmd)`dEgJ&Ph z%;38~O&Ls9)%49|fv4|Get7$4;ekaF?+1B&=SrJl5914XYD;`r1MOgaU+fOBe6f9i zYRluP8{w-fQquTuxt@`9ypoB%H2Q%d_a6D?4$dof46an0J2*pyPa6*fE&L_>sbq}S z&x*I^xVo<+xoR_ZMba5Y!53b5DC?X`$r86iP%{MPBwH3_rVp#nOdnCdCcQMbe%|97iHBOk zMY~hgjoVOZ{98%7lC?{BNDcOIX|xo52bYnLbn56RNL^d&>@nvELxa ztZ7)@Q{rn-%+Bz~u<{M?If^$uegyvjd$o=6KA0)iiv_K9AjwSCaGm1Lsu3F-fZ*B zLEvc(pMLu3n*o2V&#(59x@;dKoAemN`f2Id*WCl-sw`Dp7GFFk-zi7FFP5CS?xHpM zX*DQ?I#UeM(;r)V(==KPegW6_pO6LO$)CAcXLw>*#|GjT!?r5u80=b^<%w~Vd18MR zi1lS4u^%4Ajtl)MVBHgX?~_K~hHd`S-GEcN`iL?-HU1rB;!GcEunlwRIYZCYTeL}b zNvkrdOwNfn6*!IJ%G_yN9?i43$vG7o#$`@-U35ppsx+Dl{|h-*sX@-=wsK?~6S&H> zB7PW|TIEQ0XXSI5giVts!sZaRsiJ1Qr4ZFTmOB-Wi@6bSZyE5#u$IQrVGQfyKp#S; zmoFL{`N^EYqX8^m;oxzfA5S?C5Atcc8UHnM@a)90wu6V2)YeA3g+@a z&D0^seQoSTB~!N-Uwxre8eb%F?@CO844o@+nmk7&Ch)T+!1097DEann1lQM&d2l>_ z88VJxSaMJi#;+|#re@45(i&OV5Tw_7{Bx*xK>M&8QDtdu?gdC#Z zDe3aPP6BNq-j{4T->YmFrlkk#U~=a+lvB>%wgNfs`xe(-Jp@(#ED4T7&m3Y|%}={i znSIk2L&XIys^K|{=q;LAZuk;#retC|O#`Qx>(C4?WNR2QfvO_>B|^Yr7-<0>c7Z;w zQB_YE$bmQ0s*3_|V(2KFM4=F+p)HK!_yLpwgYg0Nc!?hv=?NGIckFNxu2hc))MMHR zVIEWuf3Z+Q_`&UL5(b>|F}?syaZ&k%U<#iY4(d~Rx$^0Gr4!$P)Y3t!aJ_LOo04|6 zDonRqH>$(9s5t&EJ5U^NDUrwf>XAJX)YhF%$g(aFjG$2cj0?kzb#ft33vR-rsxB?K zk;(daGtwkvD13kC0w~AOtphuIfk{(t2Xfr^ZRjRWfuO3NCH(e=z60~pH@MmGmq5%4 zRK=%`g1z&gA4Bj0J%{O5hvo`Qtaa$sEXP{V(r;sWi9^SkKFgu|nQn3DYnWc;(EFHP z@6Zo2-EPtSTtuE$d4dYm1cud&_9UW^UWB-s#;*;@pSc5=*Nh>?`E;9<$Df8J#ZqE5 zBJV=l&$Ccr)f23}goSVVpBoQjys3ISi~C-q+6 zu*m^>6Z11V5#P9TOfa$YFbny5OQpLAPt5B&9ZKrQ_U;VCkd5Y0m6y3=5t7Fi1N5PH z2F%h=L@>S-dzGckUB=vD!Wj}nggHb^z&yM{*AKkT3u*St3qQ7O zQGRt=S&M;M%o1V&NPcuLGWHe zQKA|AfY024aTMrd?}4vmoD0csF9pvAf*Vo{tU&*2g|A^8BNuJx3H}OgW$ri!luWSj zpZnxw_)rEPJh6RnGgyZ%W$ri^N>z15)h1?j1cpH3d}ajtnC}bLLkGuiSmo?k2Zkqx zu`BJ#>zoy^SDtJyH~|R)zH6f9jxaQ@i3T^|kvS}@D0_UFxdV|VknyFeI&bx`@mao% z18dR1VlpdZ*y`+z^y6Oty1G~WC>o~rKtEz6`k$xH9D)&mh#06T@~EYtENInI5bx-` zi{fA{9_6Uu?YjUEZUZLyDfIQW7S;)@)y|K!z7Brmc=^g-lv&D&Sjs8b zhW_oI7(y*ryewBn3OurIGi8CUdQuVE=HKB(Kd&P27KL1?#}g>LlGi65Vku8d2;Q*{ z5H+)#7b2)&!G*spe6~)hpIAS6;^feD=A;qonm$Cp9J7E;VW~m% z#eSlG1b{Isn`!tR>fPEg^H(-u4NO7MM=|Qg%x;fuU}gN77_O^I@660V8v3&_nKv|? z`#11G7KBNXFlQ3x4?h1Q6kFB_ui%Ngr>XcX!w2gk8SLlb2@&PsgS`b|;1KFx1p>Mb z%V7TV(fdOdR{QAcVGKVV!Ek6nR&^mgUCq*21vi)a==Vbzt`+$BaK_&r!SLsTzgNgO ziFA~}^dV=I_-K0F^P_z9Nj}5*#S8=aY=2EI<2#2jd}S2F^9!FJ6`;fUS&+UhsopJn zepC)MdSCMS=<}tl^W6~)t3A(;DxguLzK@r_qQHH0*!%pbB0AUe;kaVDE_8G0XsVvD zreZYhuV=U`Z%u`d7G#dD@zFd_8m#qHGTxTS_Ajda=GYuMYdph7Kp)k?W)A(hhVc)5 zj6VrHhprtTs>z`$FT;Nm+(-+-&Xlw?Uk<$``ajHO{TpBtyXtzze=cdSlw1Pd_tJbc zP3-^F^IlpGJrC%k3e-RjO%fj>;=?iFoF|-|@qek#p|Q0LS5`6n131O>PWjEHIdnwu zrv;xWIx*47171vl3f4JC_?HU*e$VOQD|XsbTm*Rc~DdUFzEaPwuXH z$yZGmc+-3Zv>vVCqnl7~0eWRf7E*ms(OXwUSC9U19O`XiZ(R<(Eegx^^jZm9yJgG`=qHclaShbMat;|| z#FHR<5~^Nao4UBxn`QAyxU4R)rt^%b@@2X_jRe^ zbBd?JldYvw%Zuna)Ic%)HJ5w-L0BuIi@_6Eshw+W>u(QT6<&V!9-o@wua)AN7*)B&PBl=qxYCiHWCiR6V_ml5!Mi zPh%+24oikGzub6N0K>bk4FpB00bC2o8$+vw`nr^;lFk(>D!EtDdZF$Ts+!;UgOwYk zeAN^YYNwQ_nl=jch}PUB)R|JEYT7JRxu&pKft8Q66)agmU7)RCO#ogS;>Ke&mEb*>AkG>)03lgSpQ1^*ukY_ryW^FFF<~YK78?vp^ z4)vOPP14o#yIs)yWe#gj;Mo+K-<94vMN?&(xxFtuJey883H7q1JDt8HRDt+8gT5kEQ0jUH-7eHhu`+}15bAVI?GtLZPPbpEQDfM% z8FVM@f-m10_fl;H)B&MR5$X(j2i2KJqsHHl$TO2Z5b6iD_hV+BNgoS!FQ_6=8L0O> zT3mVms0gT02B-T2W|#=>@v4OSrROEz0%H!16Y6N~*Gr3O4%Gnv9gdZFwhdT85DobsKe-o>~bxO;X7b?G@^N7m$c{CDXJ3`Cp5|RCn$eQU=k$o!EIdr8^8KQX}T_c(o zifkS273xx<*3i;qrRUJxaF=^)pNp5xS7}OFAre zLB;56Lj5mlCqi9xw@|lunc70%5DFqtak@{aMxnato08wVVsk4!;G(wEgQ)rY(%<(O zG)~|(0xJW|xjth;mO;PwF?=_D65zKorUJg0aat1Y^F5W;8#ufFlKQDxXZM%aF$|4n zcuy|FmjNA})4(xG82+V};m3dmoh>4nd%g-=f@Z9v?fI%}wn)Mmr<)Y(;s$2@r z^v|?C$;_FF+?V+nj-AMGIG{nL{zhA8XIdlpJp%6#_%%R-)=Djzey)=?@iroLrE>X+ zNY4~_Go&FprD{Re^8VG?T&~*k#YlCaVg=wW0#6;eDyy8{%w7l1Y?L~mW>&O;lRG8~ z&aI(N4MX&;U?MA@(njsn93Nd<`WjXMY4yJVytedrHohivcNTUNnRUig+MM>5S%mjb zpEnI^&ExvaoLCP}PWLgsCNt#mQ463!-z%;M{%t^m{$lJ6aN60PBFvr7n~eVy_-^1n zdI)8);LN-ptkttjhV^5=0$4J34c2Cx(_Ty~qBP?n!27&yz9O2P_9I_8J%BnXr(b7W zg)$x!Jb}6@r%MEnp#^>P!0_wf|DLfo0lu8Z__d`!_FE-AB07)52hQb=tRkwVgISD! z6Zkji!K`Iv==^lq@WLuyx&5QmYTHU4tZY)0|BqQAuSqeXcKP$N^RRZ??$Y$o znqInAYmU##!`jX5OWFYHi!Li^^fhheWmxgiH?@_wVFjynmu5OWZc{(V^3$t2-4k^o zFLsVP-3xVjxST$wWz)x&<0kAQEn7VHGEXM`S;?f%vIq@=Kd!;cJXutrDF3Z!zicWN zYM1{m-({Zcq%!2t7&~1FR@9Spx~`lnu`@qSr|Zip0o7=0^31o`rk+9xSJ~9F=<#8j zdNHejwkgX0?AX_`hR`KK?ef1q_9;-G*RtH;n^{BYIxQ;=J`3trC6n?M(E*!!3Vr52 zn|d~D82yJ$y_hweo>P?MS4^)6rSdDLH?@rOE1|cwjPol=s+W=Ufzm|om}}^`PWM55 z$UBOB6-YHjnEqw}!tclWxo0n`MS zl`_O0X?OqoB_VG)&C^!?T#`rSN$DzRsn%SK{3>Xbrp`rv6|`PcU75T5V`#Ic`ZCjK z3~kZWaFo50dNnl$Wv@)ip^7e5GAUmb?bVuhpPj~?Dc!06Kc?<b9G)w3HIn+x7HEG$G5X)!N zaxJ?Dv3z!tFO4Uq)+#G9RvIa)ZC;fZ^3I_x+UA$?@~~gINXss$E~mM4sg`}A`ZCX4 zx>CttFV-A1o! zDz~I1dlUUpQ(q`)&5qLWYA)@~^iJ{i>HasnhhDa+_p-Or z5u5sL_BJ|ZQ=evUr$5+~Kc|Qjv42W%=M_bPhWriSNUO;6iY zMea59yiJ92uce>c)akj`(OWjPFn2Hg%BGg*UQd6tskON`sB0Oi-Oaf-lAkZfgzCz@ ziH6!#Z|==B%BC*Oy@jf5>dM?N(j=R@G51zF&8EJR`z4yMsq4${%Kb8R+tjyn@1Prn z+Do5Qy_S2B?$Xq6DqqXJiypN#-_89xy=zl{&b^mbk5hj3m6zr{KznSeChsA7UsHSQ z7UX@G@@kZ3M)mT%@6jnj?Hzt*)#|)Qs6or}D$fPgVpH+F@6+kyRl2&$EAt+wWj1w3 z-jno_Pa#QWX5Mpj4$c(R3jPmy z|3w!lik=F5lJ^4j+f-)$i}YJfJr3E+T$@9(8V^jDE}9@dr|4` zE1#MFzvK&9)S~>isa8|>Kz5AIw5dh;zodw!u9|pW{`<7urrPs=O;_4fU;YR5piNzy z{~KD3yGi!*p8E6he@_?MRD1p(Xs1o}<$p|Hx2bFM|4d)NF*tq+NXq^R?G=hw;s^3S zp?!)%+3(3eP7m7Dck(|a69?v;-{X*(#&DbZPQJ(J)YN_D_vHJGJvQ~7{B+|zP2B@o z!1&arzLTG6RN>g2ZQfG+On#0r&8A+-&oyq>)YFAW^9ziBx2ccvhZs-W6crR1hixja zpxC&9FHNOhDhfs$ciB{^pwxKSre+tE886sWOTidp>ZzPg)l0Q;hETiwfl{p5jq`=# zTH0JtZQQ6RTAO#7r^Yy{G(q(gj5qF|&Q^BOma$Bgovx^x$L;`iv8KLV-&0U)%$lKO zKby$ZjY4q_SAcp!s6GDQl!d%?#;cn0F;7#gO8&iIy3s5Y+cfA5;~baf8OCOp z=1k*yp?1+t6Ms-J+qhFx_hM8vCRu4T?si#eG#+$WnPa>m)LzOO{dBqA13eGat3w1O7sO0CM?$Okc`nL-f8~-5`m+1Y1 zCB`p=dfQlBk6*(wKG4*UN=iTtnZ^0NZ5*%2^)53`6KWS7q2CoOH&!ZH#)!~g3!05q zO%>Fo6*e1JYU+mEEEn}3RRy5j_1SD(r!Fvz%It;B2OL`FCW8 zye&!TT8s%Ids54$YU=w~<+T`R2&G!A#h9CT}%&O6(ftEu57EZeRqnH$eGCd}a+xaRZdY-5^Gszj@d(-kEp zT9wqAeBZ!-PiJ$x+f*9&iPgp&SGqOEZ7!R5t4jW!%;p~AP+Y#XI)^WiYe8@C_^4U~OD%PuxPO_6D)tcjs_snyRcZA~FO{4P+?>sKU5hFd%z^%*-O}#j=9MsD~A?|uv_Mwtx+&&=$ z>W^Bp9^>7S9Tu5s()RUQnSZ!Dd!a(Jq89yC`8rTjcUsg}++EI&8Ud*=B@t4niT zlIA*F^J-`&%ho4pt~X+0WjAhX4ttYjVPlV${S>mW@r0&o%{KxYlB~2EFWa)i-d1DM z0xpp%LtBz&n=w;lyD7)`Sz4QMmZrY#?e#^B<(fJx?G4{X<9wmG9Ui4kMz^B;>v7T+ zH7?fF;oupCQDcv-IUCg7S~g;2$lGB&ps8EYTRV)0H5J3|v%`2yQ!{Zg)L}fMsVSoA zj-MUI??two9yJygb|jUk(+D39J>&lH=ss27||5&OVX)jJ|5aT92B_r3tlS}0A z-TKKo{8M@c?s(bS^HNI+Uxt2e@#`fzsd4n55|V{jOZ_-ENLk(talfH)j;E_7j?O7Q;SGjApIS1mbQ@Wu|(PiSZK71PP@Dt(~h^x4C+yefsW)%27vlsAQb1yjGGOqysU9;BUw}xsB zeuJpi;JxG&*ngXjd43rh=9vLJjb<49zR(PV-yoWUzWls72l}&t^PcV_&pCDHd8Qbl z%*~!f#>=JKJa@w~`k48ry0eVC&9$WrkCa~K*-sy3-T>)x+$Y{`*5C&4ZgWNO%bs(M z*qCpD-&66hC*O;@1$-*>LrJYmR^p-c|7aGW5P@9N>qZcKC_@ zZ1P!D$eUhKx4}EQe7-m2`M7v7VBW~Hz018z#;o)9dal9= z!5Z%ynVZ20P1*wZ#ri&PulGMQF9Uusa6MqnsM`UbOS{M0EqQf|nz4n4L8;Z4XAu47v(qru z-6)oCGlpc<;(bDX=c?R$N8Kgh^IrCt=c-X3d2jXhgg%#cP&5x3{4UnL2ETuGFKX#U zK;EG~sQt;V&-NYjEDO!@9W?lTt%F9bdDwfe!Eb8aYw+&%5v|#pdpkJ%?$*5q?_-}7 zez|wX=t68-xNb+%pXyfON0i>LtEG@pku^H~8G0>PnI1BDS6c3UEjTXy$4IrxDEB@b zIyJpgQdLT-N=dcf+fjZ-`pcqox3|AyQThX@ffeZwd((4P1OB1({Pc3q!=cXfa%12VA@U2#Ix!e0n@SEvJC6{sH z+c;x>@lVpPAhp288F_L{VicO1UH&yaWVL(H{4&g%?FmwWO;2mMD7uMFTV6$~Ho-QzDee>UoV zf2G)|H2F=rN|U2srO7*Su9=_tr$||*NNr4!+Bo7Z7<T31ewdEcuZopH?bH2UF3-oIpz$td@3s2`gVm8c%|9H}}L_*&nrjE7A=`Hgy> z8nqx}3#3akj5IFwV`issB{)1s>?a;~+{4e!$bdADwsd0{en-|gJGUp} zMRAA8;GD2c= zI^a{l8%95uF~V5sdpTo~d2sAI87-oD%(ES>un0Kj5!CH1=}l=1>v99<3gX8Q4d%=>^d z=r@3~=wrY+^jE+|!e1t^MWn0Az}tvlCm-Ow!oOem4^k#LhlKy6@P8!yA45Nfen)wL z4LHrop~V96MOfewfm;Oj3A{q!O#*vN*11C9-2xvK_?*BaisNOS*8mIXeJ^|U5nurs zX^i8GQ@}?EJ_@iL=U?wnR@hyz0Lz^U*uy9(1(!VOX3zIC4S^nG2fn}P zHMpdRu7G2}X&pLC@CJd6;It2IGX4zddf|ixwu0X?G%Ebvz^@&8g~8q)0RF|HcMJXm z@cl!dFn&Sb8~UW=@{I5gi-or&6`7o`$J{|xMPtk>fj0_l!q1!_N0GLg3yu1ssBrp) zvm5%YL$46dKH(eyr+w%l!JiQP8Ic|l&RgJ|T69b}hDUPru!Rf{`&=fRa)D#OZy!2N z__Ku5Ag~eqSw&644-2OioV7(!;p`I5ZsF|lu;*6@+$a3~0uPAvkl>FAd_p)+isljF zyd|7t!ZEz!rLo_yqWu6}<(xcIZ)&dVGwR`8cmJz`Kho@x9FV zGiM2>5u9s_T7BG?+JwJL_`AVxAG%-g1HfB{9u(!p|Dr`vvY1&LP1M3p^^ES(%)6PNwJ!eo*j3f*%&>&0^`S zEY@5vuuV8m3M|iN{uqG`0viQ}1-1&@C2+UE{Q?gNd`#dI8nXXy3GTsrTPTabF#=}^ zY!uikuwUSAf%^m=5Jjhsgc)#HNg6|W2 zpWufCKP32J!4C^g!zGvDl8fMFf>#cgT!b@AIO_#pFL=M;{etfke4pTl1V1GBVZjdz zepIZ{2+3=NzFfZ;;#VL3p^z7us{kizf9mPfrlq^Dw@J@mcaD_`vvY3c$$&# zIm`1uo_9STd!F}>OIw+CW!mQSJJKIde>Oef&-0i1Kj**If4l#?{v-a(j8H~2<1s9v zh6VZqdjekyJQa8^P@b8N6Hq@+M+4-+%Grz4LLb)O>G%)>AM(h?x5jhu zi(a`@f|V)G6Yvd~A^0}SP<(5ph|2Ko_Ht-c;G}a5v?f4nBD5w!>lA360j&mT%!WoI zH0IztBy;h7kR|wb`%?S{$TEEUc{$b43arsv@GY^`_^ppMRF7ZHpG4kBtMK7Th)f|FoXISfqVv~H-p zQm{6+AJX6E;Fl@siY(UrH}PtIG2_=%v!6_Oh&_v(N2VTj)ghf?IZJ?JH0w0gm_*N*OiM}}ucs-zr z)BF*@CjpvtDtf(vURnZt2CU+JLO>J!v=sO(KvPBmzCVhwz`sp32K+gICSJ^`0=@vy zME@NN{479|7Gq=>7$@U^FM}62O9C{pTdf1$0%+3N7;grx0yHsVLcq@fG%;Ex178Pd zVx*h`ycN*I_mEEo9tSjWsy-cf4G5QR;4$!0>iC;Ck7Vt7-FW~2m8vySxZUWqA+yZ!~ zaVy{fV3z1O4`h{b!nT@Zc4i^?Kf#(@cr6X zpWc{$W%|SEKTr4g8~h9X&HnBF>-q*1FHhzKs2x= za7Ez0z(avY1Fr<$3j99c$@FFBWRA`B_VYbxAwGQLMl>(;rCR35F98D*P04%@cZZ6H z%TD>5lKD;C;yEc9KO-}WyT^fg-^V@QK;DPrQh7JyeUO2ACAe!J$eV~8z=6EcxRV^n zy99TT19``7Us%R}Q}D|@{N(ale^WA7+WtAb;lkUDR*vFx0X`Sv(~eIEKArf)@ae*5 z3&u_yp9DVL`1Ihj713cEKHKr>#pfb?b|6+-zboeje7(U+Cvi{d`+L-__4w>gONybH0&V#`!hr=UMu>SU;ERXS05;GL(O7 z^z$73jOu5ve)btVL)@GCjLo>^C%RnoAJ)(B>F1;R`2+oYOh2E{&!_bBhx+-f5iMtX z|E1{{_46hDd__NhuAgt{=P^_H{VO~d;+AqQYJM4>O?aM#&vJaYHNFepBltXy&udiS z`97ZSfd4d}`9_831w4lta8LEjc*iLcN2jxT1I>CYN}O8=D+_kV=XuZ+L=mxCT>{we(<<|i4iA>Ut` z7bB{^5I7T`E%J=}bI}9y@X5!g0G~p9YVoPV2Y)kWwys+@Cz|ML5BD~n5f$ zLm}Z#U$;(>md)|lwwW6=HPC{sJ9RRrYTg{{X>V(2Z=W5RyQL?(HQXNQ>~4v1a-}d6 zW~ZLws1BkhQq~isp}RZM(FGfGBHfYJ?v)Ar(p^I$5$V{_-rLOoq%~+ZFUs|;-Lbf2 zHfX`7Sp^ehRkV9^Lwr+$^=-*1(;eRiErwE<6WJK;jI{K2ML0DI-qg7@cA<6!5how5V*?$GNpw=>q0amq8)L+mLAL<_17{+tA}CS?Q)uwy{$zY?_6f zG9B2wp3YW0mh`l@hc~oGfHpP8I=aGfi_&eYWX;{-)(fFCcY9Ynl1M~jogf-oyA^_z z?d|Bbidqo~w=L~#?@eMhSzRR-N6O|%`^FWKjgfeyv(*_vttd_c{R3u}b}>vq)pBqN z_q1rMt--Rz7#@-M-0hLp9#(IOc0`ioPJy@!CyC}qI@z4#W0G|4_ST4aki>21Y-@y5 z-SKd=vm4nrEs7@iIb&wWx^?rSo#FQOUT{0RCr_fq%`K5c_dNWA^pS0`_=RUr8l-Q9 z)-e|ybQ&Y>o+ymLN5Ul4a+AoezX4^NM7nHqqS7MaxKpi(^^*vtShYFYy4h6}{C=OK z3>EFverA?9Ub#s@_ljjoD zLZU0&8d>bGFDp?W1d=W>wgqw(4T&cD8 za908vJ)M#5T^LnBQ;OLP0ep;J1mXOiC_J|e&%AKmy4e`42+8xJk#isXNx0DprwwP9)J9k4hX&RcXYK>5ix%(!=W! zJ02xcl~KUf$UICnm`8X3~)I}tdrbNTma8yHfFb&9uK z%feaSgMhj*8fg=bRhPEd4vUh?p^&0oCE?($Bc$k9c(;n0l8GHCsoe^h!so$ZXJs!x zlDJ7RQZh*9aQ3djV1-=eZfcaJjf3#I+`(ELo6G%2JhQs7TD`Y90_kG5^E?^zuEl0p z>4bqMZP>U`X0;@Km);tPQYSYF=J*J&=&G?ocWaT*+=^X@h`HCOmSTkKj|YfwS9i4AI8W8O1F=IQcXmdS&YFtEnoVrb6BI4o zD2X@+*VH7+Zo1W(w!|uA&P-)#yEt}{k`-abrKB=Vozt|vK?JS#YTlUvIY>zvy1A-W zZN}0)bydqH9^f1FvsFckHbnI{o*(f` znKovv$Po@h>((LYLb?ng4%?DtP4mYyeZY zL5g5?xTBp@%*IL<%Z{ZRnMmlSb&OhSsgjmRyaUGwSRrF>+yu{^L{_I?5N&IVbUOUG z+q)y3d>-SltU8&81<%=tbAt+-I@Rn`Y>l=>;tpGlBi+93Zi!^*ilcVW7?^l*7{?STCYyV@mcs%A(K&MMRS>OdcrYg4{Ix`xfp{uLC7rOy0Y`c4xqWH;5ssL)Uha)-Ex7!4y zbF3*M;W*9%dTx7!_d+()C6-;9Ezk>ZJwLUFw+rS{cMfROTEj`Hox}8~Dv75$?o(FM9RVzO4vx)SU4 z%)rT8VrnHP?x{hj8EPicggtR^j`}hvb*G@x^F@)BYoo&f#^KeVB0XZadm$3b1 zt?kL&`OuBVl6m4uGHdY$PMyr_cHchGMr##BE#bt4SPZvDJHqWGGlSItOC<=&8r5Ps z!8uVss8|OYm8cV0MzC*E<7yH1SnY(n#ni@c159FQJt`S_hp*DFjz#evlx6jd=b+U#^Q)g=o7bLCSaMjt%TcrnIC5_1a zgu;0l6z%L$L^#pg*{aqRglNavSSK}+jryiAwcWATvt$wzo$iMwauM7Z0FInT@ZN;f zEG=k^gy33O9PXmIe7dAIh)5tsw{~Yb@4{Lo`T<4xZZnqzd@_Q+S4g}v zwh2B1wh3pT+AOPU@ldmw?(t_cn{>>F2RtMlinEY2b}SL4KPOsZi(^>kK(i&@i^{Sn z)&DIjxhkxta4jx*fauk&@;pIJday0SdSD|iMVce=tx;V4TB)tYFmEX^Z^UgmyL^&+ zP>H}Nlec2zpWqHvA6TOFytslZIQQ$udl#rr9*5l#zT-&XB)bD!JALJmNR8CoYzgb^ zK7lQPl)yRMPB^FA326aY9ym9(QiOp#)RFr(m-Hxbj_VRMa7!yb*aKc=CBt+OpO?j> z9hk?r!f~!(Yyj=6VR0vkVQmeQm_6RykbwFJ4Cu}yta_JlfXnLW*d|Bi*y(n8XtG&Vi&|3$EatI%?d)CRez( zJ=CwKVOhZcBC(83i-qt4-#C`KmXfN`nv&LWh&x)*UdSb|!{Nnp!hY+G-|ew;b=WwU zle4TuE@pbW^$3vtm|T`Vz?OAOLwzlIO`904kBre;uKtb;2oGtL9IAl3|!Nk zfxnoY1SWK_a=DxN-U@ z^R}kYP&ml7CL2UCYmQ-5g)$NH5|oFLh;5?P;wq;_vss;=ilU8co@ynY0Yz1nOf)q* z$YRY}Xko2^B`g}ueiuQtpPGzGy;`y~uIq#3c-0~Gtcb1)8>lZFg{y5pS&dG7B&ci8 zo&FB#Xj{Zq=pa^qx=T?LN}Ngp`xL2JV`poNgzD zfKYlAmWYx9>x$Smz3Xw~*orHX%`S`c8*RKag?ms-w>^uq7X zHcTq0?oGXRtdhe94qEQ)=WfRk2dkm8myh>kiGu@seN)%m+4=QQHmyPfzihHoyF;hRk{;8EZ)e50uhPyD7Lo)LVX zDFO+i6Q~%z{|l?#_!d+n ztZ{Cez-c4u-#-^$k76+=U>2KpOqAgZQxoxJDRv_U7)RnL97uMEwL+q`5nAkY*MMwU zV-hrWfFFSkEIZ&tAHG6UhTM8!y-bQ+1`nd*g{lq|AtQ`5n~;L~@0*h(jbs?Ic>RqxQ$_sZ3apm-gr&f!jnB$j#o0@~wMcsZ= z3AeJ-eYrz&-{Ue<+Dz`S{d-g03QPBBhaz_z?ke1Q26n-1(t$P);tFTjfwbMIn$6JS z-fwm66BUmul=FZ~>1Fs%SQ$|))w9+3mf<4Fu^ZOou&p{X`=$oW2Jur><;gmKYSq%Z zllS(2E^n^ttN*?Njn(~ftX((`B^;E>0K?Mj7+1aXvlo`*LOmHJCoT|moY+$y1Ff!} z{V%BaEuXF8KTFOh>R#@kjixy7Uzg*+dWZG=h$~F0uzzdvoWtXa2S3jd&Ww{#@KQ5Y1Wk{3yz$}LiHA7PO;(g0DD6aQ*0n-`yDIRN;#?e5xF#U#zvKU%tEmO% zX_zafU5cb)m)l{~?wY^9Z#v`V#FdC|NKdXf>3o?SGI*BeLB02%t*%bA%)mDLr&_fC zmj8Q~{-KuJ_V=`0@;d0Vw4gH~scENO)-`C?@X6cNii4?TvW6c|PG$Icn861idcnGr z=b+N_Kx5C!^t7n_8`$*Q^pJOY8|;rbk&h>f)B`R5vlArzSasqS9GDxISp_$)yOT}J zJc_RP?1ul3r^V%;-4j)zPS@lW&%jj)x?gVvD!}QS$x}Cnk%3dli6*gu-Dt4$SIILy5vlO?=%PnHH+{tos z0t0KS#T@Ohthl9ai`MLK4NDG2UHFf8U)DyH)AEKWwd}33scD7018I13!&5V_*avT0 z<;`a;h1!f+H8U^_51zxx(|p#Pm7mCAljl3Z%S=T%LyF4!>v}=fFJ0N<%qk(SS@V1^$)dZBGoG%xV%-c zHVmmN0jGNYp{f{aZ9cfn-54mGAC<5teA30|O^Rm?a@xeFFq@&rM`=8$tiTjO8m>2W zHl}LnWKE+2FQ0O$fXx`&Q&SIl@M}mO{Hjr3YOPqCunw$F+9kkQZKCRj!?hap9Jbv7 zo9n1v2VZxuSH5rnbDt6+yyOqei{_t$AJS5X83O~JvsmET;c#@KUCVhmEUAYl$YGds z?$a!_8kbtcSM|^jPkh+vq#Ep$h*z~dTq-z+#YX$B(=@n`G5{5`%K*Atm1JMO|^*&&HD}b-G9RcO^MI z{44TV0PF1-*Su|~>3`d9i}V6q3ZX=5^leA|;h55LSanp@*;>VU4hE{TsWWJ++wdH1 z4IpcPbh&ue%xw)r9&&N9s7?sjsyfNr2ySvkpO(}#G^#Nv?EvS;HK8cVSL^)2-At^_ z2bL)2&}QVxzYNAXCy*zffKycqG~6jvsjM1NO-R}9%BAwf7@#X*m50}0U4@#HHP{R8 z3ibE}EEP;SFM|*WuGh?khLRlHGuc-K2|^kpM|^LlTHJH5nrlT0p`}sfo@7 z5{W|s;UU9d>fNi@;z%*oSZHB{s$*zNi&GJFV5Fmt(n+T}gVU(AN*`KEt@x^smeSwv zJG=K@Bx4`{w9|Sad(QVb-}%mWUf;R*oIRbsgvAJ#z&={)p^;2Ja+evYn{=ErGh}~@ z3=H${&Z2Y)mHUbBCGsxCPpW~g{P}s&lQ+L|wBmv32iLr|r01Peo|floddSuFSQrm$ z45Ow*oA|U_K{p~}Y_C^$LM~o}2-pFf+NC@Bt|o*ME$nJ`>cIj)8x1?P&Gx1R@qXL8 zEQk--USkm7Yvg*ij8UY10BkWT>FH27Lj4TgxqzfWkm4k5G)gqPk9qb1WMYzMf^31g z1SLytf>aSf%3e?kg%e2Jsi(!FDC&cDYB#7zp4vgv!8BItG2Ni;@cLyu6&#bmO8ulD zKp`GM9O;lg^)sqPl9DY688!2Pc>%^L(+d^(Md)3k2l9^R$U7b&Pvjs^Q2KjW=^sKZ z7XP$P19_--$(Bl^NJ6l@Fd`r!qF5OK_MwP^7(fh-37XjSv`z~FVgOo^f{J{_JS(f1 zXQ9oM+O3&F+pS^_uUrL*2+3YTQqU5JD@v21H04m5SV51VkfWLJMmC^XD2^XUL2;*? zR_wyQxs;MDH{Rw>QkfQxvQFZ--U`HBK;*@Bhw={~ZbTeuSFC^H4gx3QaS@$nMODUr zI@?>Iq=;DPUg9TWE~a#ySwVfX=@_gjW*F7b?JVy!+fb=vjj_{g7m(u9+1b)zF@_&_ zizPls)V9I8xb>tf|cTR-_bm;rx(^BXd8Mfo~qm0>G6zc!1SS8$55zrg_TYe0F$n@ z)8(j8Qq%R0-73fiE8T=*XBpBB62Fqn>2j-B^4vt7)8%LzeFbrv1S5`j$Ou!7L-|o! z>RGVR5)4rw&^>k|GI~Y{#00tv5@w09Heh?F2nCZE@<{C{1jKeBwNfCp+snc_>?drI z9{Y))B3hnlIv9|E-DW5?hI};`79mB(lt#X4rX`vY);NGkjh3ra&-tksj*66K(}A0X zItu(}f@U7b1PzQF(hO;ixTR1#pRHZt&JuE=V6!NcUoZ$SEDlT)Siz^1>F3AEl`TS$ zgcd`40?4Kt_iF^Q;-b5#l$z&LPSutKedZ&TOPd7}~H>aj)VJK&sd^&6mg1k()2RPS| zgjU*~&*tBch$+L$0AN9Q{p3vzK!9l)(s)dhQ{!fkF9RVeb5MyMi5e!r7}`~80HQ=d zdV!r@5aik@T^zIl@M7*Yg%?wBe;}_BNzr+7s+9J`utxn&)8rt%0{{j-Z&;)aTiz}x zi08Oy)b@T0h6h1BhLElOnC-nP&tW{Fhx7$T6gB8;$BfaazH@3$dMdfo-IRs#Bo>!$ zD_KxV7x5vKTFW$R-Kfguyicn-juYhwc*<_Y0EFqr zPHm>b7z$bqxF48*kROdc$8MD>>Mztnrh}G=5<9UFx~G|kJNfcmqtq-lt#qH5sXgYR z=8J8wofYLEl%C&?o(#|gfYAjo_N9DVNV{K})o!*87-t%Zc-qr$+ zaOqv*I|O33DluCzvSlg>`NA}ItC}CW&`xZx8~-`-5RxX|EskG$w{CY4kIP(H1sP9i z5U|RF9u_(FDh^E1s7D{Qj`9aen1|ERt&TC3&A-?lp*DA)JX>Hs1 z@E3M&NgnO|`Fq3hTP8d{cEb~2yEitsQGZYY&9jKv$H!xMq&ADk zsG22_TRCHi1DzKsb%;5}`B9BH1mE@jb@Ty)@CO+fEtrF?c-vMpYFoEj*deWEsD|;Y znU5Cs3aA-IJT;_%VF89^{eTWvtiv1P+QRO|Y;0#hwJrcEA1JIt#G&ycnE3M0H@R>C zx=_mjAkVOSrB8Vf%27};3X0B@-FJZ?WxXL-nWM-ZMd$Te>|SFI#>k`HfVJ%X`$kV|pg*l{- zzy4K7c7v6A|E0n9OQ6A@GE6GUD_(aLm5{7Wl!Tq3`-QYS?C8@}-40=?x!C;S|^ zM1h145#-C5hXqQ^WDLs*wSI^pAy`gxU4s9(6;+6cDp_7QNEr?XDHSP0h(rQ{TBk*V z6!CaKh>NgzKqxE>2!%o@3yuC%=wql)zq%g%}0L36vP7?)-TFhYOHLleqs11!=A zQ#%}=3uewpK)r(D;v5;kj4TB!n2?`mDfyB8$c&(WQW64nf{in!f z6B36GP_fH3Q2-$qtS|$FX=aHg6%YaaSpn>zSpkH=Wr~2nr=vRxc>xFy%@Uyjf^tjF z!hj`{*FZKejse-c2!SiBY-5hHh|BjQemMY|E}a{evXSCPxuF0A4a?0eOfoRpLP$>8 zLJ&Nw5JE?aY$1FW(E+#jdf=z77=7Vtssf4E2Q)`-yEos>L-)48qb$5x>EnB7qG6$% zYjzjcgfN(RMqQX*@MRR7FDOQ*5BVKKIp9GlfZtdEw-rAFoA@(A z6Yvce9+;T$XaOn~Mg(&cpTpr8)s9VI7ob)X_zlP&&}{E%c^*Lu2T8H6=Dl_Nl+n4E zZ=84as^m%>gv^}ul(ROgb?|Yz$K7YTW~oDdZqAWDEliI<`z&q)Teogqqm-0e&p3+Ka$G# zBdW5%+(-m2ke3K6t_UwJS+Q;wj_-BhxGU@H%q?U=q)_C6m*EJ!UAnf^KW~>gSUK7C zG5$H|$!=gS)JbJ^Rb|y=_X=c&7k@VNbgab*s^ybi^@dp-tD2AZkM=YyuA0(W+c~u} zkyu(=m7Ib)fHI**Un{zcf*G2{2#bQ2ID&ehuyKt*p&g|4BGODD%petDUKI?gb`p-< zyVvrN8Bb|uk62H*q~VM1vgGnLmz1}=IDNf_*C&XMl9IB5$YF^jqIcYU;H8s?E*|{e z%Xit=EnPVG#CLDIXQ*NRjG9R+j!wMx=!vhq_~cdB{$=lLk2rICzJ2ra-|TqjhQ7AD zm$&wp?Y{T=`wx8d(f-R<-~RX$)3?8w+;no&d#C0!?YsK$ozEPM6>N77ocT@SgCA}$ z+pzP<=##G;+*0$ohyHZ=>HO}NDK}i#JMPrX*{xLK8;ScCF=TIaV3$D{X7JZsBQ(#u z>7GeLw;p?->H8n{zclpK;@fDpD=uwA59C|>R=0J^9Tdsn^!nwrN7Prk?wWRHw z=G?quO;5*~wiSzSY@3S%oOngqxjZYEE~YB~^`AfLw1oOZ48+|4Iy?LzhY!1<@sjA~ z<;!Q`V7}J98V4#nIx6`>Fn-RAhYabRXG{1L`rozyZ^YDaN2@C`?wV3`!!Z z-L)WojjL-DLs{y?Pz`{E+C1DXxeyx_<{~x&cR0=lJOj_^i1TwO^yc3<_^Dg}vH~s_ zs#DB$N}nF;2D%I!|8{p|+ocVS`B_J;1D;|-nE zPH>)mJ6BSt@ThH$eAeLSQrG}Dg3=z`ztW9=YP%kGm&j+K-0!Jq++4_mhO-fpkDp*O zC4cVaPrUr0cP-*;p=TGk)Dcl0A6tcu5#)kjfzM3bucl{oYz7@KkpWK^QUp6($TuCO zUF+-Qjy zzUS^7;^vm6;8&x|GVLPBnh81TCudq~CG5n~+<+h8vDHJYdp6F+97tPpp8&VPH6sVRj6dy%D0 h1vQ`D-0(@dQjbqR|7i=rfrbhfU{A-VpZ`A#{2lu<^j-h} literal 0 HcmV?d00001 diff --git a/_testdata/SampleDllReference/libs/Gauge.CSharp.Lib.dll b/_testdata/SampleDllReference/libs/Gauge.CSharp.Lib.dll new file mode 100644 index 0000000000000000000000000000000000000000..81ababe5081c820a5d1f13b180ed666b60753d61 GIT binary patch literal 22528 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 Uo2>tjqJ7@`i~LW{|Gysi-|U_ziU0rr literal 0 HcmV?d00001 diff --git a/_testdata/SampleDllReference/libs/ReferenceDll.deps.json b/_testdata/SampleDllReference/libs/ReferenceDll.deps.json new file mode 100644 index 0000000..01da4c0 --- /dev/null +++ b/_testdata/SampleDllReference/libs/ReferenceDll.deps.json @@ -0,0 +1,1137 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "ReferenceDll/1.0.0": { + "dependencies": { + "FluentAssertions": "4.19.4", + "Gauge.CSharp.Lib": "0.11.1" + }, + "runtime": { + "ReferenceDll.dll": {} + } + }, + "FluentAssertions/4.19.4": { + "dependencies": { + "NETStandard.Library": "1.6.0", + "System.Reflection.TypeExtensions": "4.1.0" + }, + "runtime": { + "lib/netstandard1.3/FluentAssertions.Core.dll": { + "assemblyVersion": "4.19.4.0", + "fileVersion": "4.19.4.0" + }, + "lib/netstandard1.3/FluentAssertions.dll": { + "assemblyVersion": "4.19.4.0", + "fileVersion": "4.19.4.0" + } + } + }, + "Gauge.CSharp.Lib/0.11.1": { + "runtime": { + "lib/net8.0/Gauge.CSharp.Lib.dll": { + "assemblyVersion": "0.11.1.0", + "fileVersion": "0.11.1.0" + } + } + }, + "Microsoft.NETCore.Platforms/1.0.1": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "Microsoft.Win32.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "NETStandard.Library/1.6.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.Win32.Primitives": "4.0.1", + "System.AppContext": "4.1.0", + "System.Collections": "4.0.11", + "System.Collections.Concurrent": "4.0.12", + "System.Console": "4.0.0", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Diagnostics.Tracing": "4.1.0", + "System.Globalization": "4.0.11", + "System.Globalization.Calendars": "4.0.1", + "System.IO": "4.1.0", + "System.IO.Compression": "4.1.0", + "System.IO.Compression.ZipFile": "4.0.1", + "System.IO.FileSystem": "4.0.1", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.Net.Http": "4.1.0", + "System.Net.Primitives": "4.0.11", + "System.Net.Sockets": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Runtime.InteropServices.RuntimeInformation": "4.0.0", + "System.Runtime.Numerics": "4.0.1", + "System.Security.Cryptography.Algorithms": "4.2.0", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Security.Cryptography.X509Certificates": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11", + "System.Threading.Timer": "4.0.1", + "System.Xml.ReaderWriter": "4.0.11", + "System.Xml.XDocument": "4.0.11" + } + }, + "runtime.native.System/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "runtime.native.System.IO.Compression/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "runtime.native.System.Net.Http/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "runtime.native.System.Security.Cryptography/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.AppContext/4.1.0": { + "dependencies": { + "System.Runtime": "4.1.0" + } + }, + "System.Buffers/4.0.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tracing": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Collections.Concurrent/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tracing": "4.1.0", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Console/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.DiagnosticSource/4.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Tracing": "4.1.0", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Diagnostics.Tools/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Tracing/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization.Calendars/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.InteropServices": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.IO.Compression/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11", + "runtime.native.System": "4.0.0", + "runtime.native.System.IO.Compression": "4.1.0" + } + }, + "System.IO.Compression.ZipFile/4.0.1": { + "dependencies": { + "System.Buffers": "4.0.0", + "System.IO": "4.1.0", + "System.IO.Compression": "4.1.0", + "System.IO.FileSystem": "4.0.1", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.IO.FileSystem/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.IO.FileSystem.Primitives/4.0.1": { + "dependencies": { + "System.Runtime": "4.1.0" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Linq.Expressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Net.Http/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.DiagnosticSource": "4.0.0", + "System.Diagnostics.Tracing": "4.1.0", + "System.Globalization": "4.0.11", + "System.Globalization.Extensions": "4.0.1", + "System.IO": "4.1.0", + "System.IO.FileSystem": "4.0.1", + "System.Net.Primitives": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Security.Cryptography.Algorithms": "4.2.0", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.OpenSsl": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Security.Cryptography.X509Certificates": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11", + "runtime.native.System": "4.0.0", + "runtime.native.System.Net.Http": "4.0.1", + "runtime.native.System.Security.Cryptography": "4.0.0" + } + }, + "System.Net.Primitives/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Handles": "4.0.1" + } + }, + "System.Net.Sockets/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Net.Primitives": "4.0.11", + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.ObjectModel/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Handles/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.InteropServices/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Handles": "4.0.1" + } + }, + "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Reflection": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.InteropServices": "4.1.0", + "System.Threading": "4.0.11", + "runtime.native.System": "4.0.0" + } + }, + "System.Runtime.Numerics/4.0.1": { + "dependencies": { + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Security.Cryptography.Algorithms/4.2.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Collections": "4.0.11", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Runtime.Numerics": "4.0.1", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11", + "runtime.native.System.Security.Cryptography": "4.0.0" + } + }, + "System.Security.Cryptography.Cng/4.2.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Security.Cryptography.Algorithms": "4.2.0", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Security.Cryptography.Csp/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Security.Cryptography.Algorithms": "4.2.0", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11", + "System.Threading": "4.0.11" + } + }, + "System.Security.Cryptography.Encoding/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Collections": "4.0.11", + "System.Collections.Concurrent": "4.0.12", + "System.Linq": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11", + "runtime.native.System.Security.Cryptography": "4.0.0" + } + }, + "System.Security.Cryptography.OpenSsl/4.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Runtime.Numerics": "4.0.1", + "System.Security.Cryptography.Algorithms": "4.2.0", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11", + "runtime.native.System.Security.Cryptography": "4.0.0" + } + }, + "System.Security.Cryptography.Primitives/4.0.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Security.Cryptography.X509Certificates/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.Globalization.Calendars": "4.0.1", + "System.IO": "4.1.0", + "System.IO.FileSystem": "4.0.1", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Runtime.Numerics": "4.0.1", + "System.Security.Cryptography.Algorithms": "4.2.0", + "System.Security.Cryptography.Cng": "4.2.0", + "System.Security.Cryptography.Csp": "4.0.0", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.OpenSsl": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11", + "System.Threading": "4.0.11", + "runtime.native.System": "4.0.0", + "runtime.native.System.Net.Http": "4.0.1", + "runtime.native.System.Security.Cryptography": "4.0.0" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Threading.Tasks.Extensions/4.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Timer/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Xml.ReaderWriter/4.0.11": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.IO.FileSystem": "4.0.1", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.InteropServices": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0", + "System.Threading.Tasks": "4.0.11", + "System.Threading.Tasks.Extensions": "4.0.0" + } + }, + "System.Xml.XDocument/4.0.11": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading": "4.0.11", + "System.Xml.ReaderWriter": "4.0.11" + } + } + } + }, + "libraries": { + "ReferenceDll/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "FluentAssertions/4.19.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i2o9/YjrJUI0sx1373gj83fsITo7W/aNJ+uciV5Cg7ZUbKhGWbMekx8gTU9AuDtB54mEhMUC9uF16MOzZEp0FQ==", + "path": "fluentassertions/4.19.4", + "hashPath": "fluentassertions.4.19.4.nupkg.sha512" + }, + "Gauge.CSharp.Lib/0.11.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QEgfnNnhgPkW+BuXcz4bKN4DsjFWEepIN7gcIs68/STVlejB6LaMYDmrDFdakSVV6G21xWz4U8egSurZsN4RaA==", + "path": "gauge.csharp.lib/0.11.1", + "hashPath": "gauge.csharp.lib.0.11.1.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", + "path": "microsoft.netcore.platforms/1.0.1", + "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "Microsoft.Win32.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fQnBHO9DgcmkC9dYSJoBqo6sH1VJwJprUHh8F3hbcRlxiQiBUuTntdk8tUwV490OqC2kQUrinGwZyQHTieuXRA==", + "path": "microsoft.win32.primitives/4.0.1", + "hashPath": "microsoft.win32.primitives.4.0.1.nupkg.sha512" + }, + "NETStandard.Library/1.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ypsCvIdCZ4IoYASJHt6tF2fMo7N30NLgV1EbmC+snO490OMl9FvVxmumw14rhReWU3j3g7BYudG6YCrchwHJlA==", + "path": "netstandard.library/1.6.0", + "hashPath": "netstandard.library.1.6.0.nupkg.sha512" + }, + "runtime.native.System/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QfS/nQI7k/BLgmLrw7qm7YBoULEvgWnPI+cYsbfCVFTW8Aj+i8JhccxcFMu1RWms0YZzF+UHguNBK4Qn89e2Sg==", + "path": "runtime.native.system/4.0.0", + "hashPath": "runtime.native.system.4.0.0.nupkg.sha512" + }, + "runtime.native.System.IO.Compression/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ob7nvnJBox1aaB222zSVZSkf4WrebPG4qFscfK7vmD7P7NxoSxACQLtO7ytWpqXDn2wcd/+45+EAZ7xjaPip8A==", + "path": "runtime.native.system.io.compression/4.1.0", + "hashPath": "runtime.native.system.io.compression.4.1.0.nupkg.sha512" + }, + "runtime.native.System.Net.Http/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Nh0UPZx2Vifh8r+J+H2jxifZUD3sBrmolgiFWJd2yiNrxO0xTa6bAw3YwRn1VOiSen/tUXMS31ttNItCZ6lKuA==", + "path": "runtime.native.system.net.http/4.0.1", + "hashPath": "runtime.native.system.net.http.4.0.1.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2CQK0jmO6Eu7ZeMgD+LOFbNJSXHFVQbCJJkEyEwowh1SCgYnrn9W9RykMfpeeVGw7h4IBvYikzpGUlmZTUafJw==", + "path": "runtime.native.system.security.cryptography/4.0.0", + "hashPath": "runtime.native.system.security.cryptography.4.0.0.nupkg.sha512" + }, + "System.AppContext/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3QjO4jNV7PdKkmQAVp9atA+usVnKRwI3Kx1nMwJ93T0LcQfx7pKAYk0nKz5wn1oP5iqlhZuy6RXOFdhr7rDwow==", + "path": "system.appcontext/4.1.0", + "hashPath": "system.appcontext.4.1.0.nupkg.sha512" + }, + "System.Buffers/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-msXumHfjjURSkvxUjYuq4N2ghHoRi2VpXcKMA7gK6ujQfU3vGpl+B6ld0ATRg+FZFpRyA6PgEPA+VlIkTeNf2w==", + "path": "system.buffers/4.0.0", + "hashPath": "system.buffers.4.0.0.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Collections.Concurrent/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2gBcbb3drMLgxlI0fBfxMA31ec6AEyYCHygGse4vxceJan8mRIWeKJ24BFzN7+bi/NFTgdIgufzb94LWO5EERQ==", + "path": "system.collections.concurrent/4.0.12", + "hashPath": "system.collections.concurrent.4.0.12.nupkg.sha512" + }, + "System.Console/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qSKUSOIiYA/a0g5XXdxFcUFmv1hNICBD7QZ0QhGYVipPIhvpiydY8VZqr1thmCXvmn8aipMg64zuanB4eotK9A==", + "path": "system.console/4.0.0", + "hashPath": "system.console.4.0.0.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YKglnq4BMTJxfcr6nuT08g+yJ0UxdePIHxosiLuljuHIUR6t4KhFsyaHOaOc1Ofqp0PUvJ0EmcgiEz6T7vEx3w==", + "path": "system.diagnostics.diagnosticsource/4.0.0", + "hashPath": "system.diagnostics.diagnosticsource.4.0.0.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", + "path": "system.diagnostics.tools/4.0.1", + "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" + }, + "System.Diagnostics.Tracing/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vDN1PoMZCkkdNjvZLql592oYJZgS7URcJzJ7bxeBgGtx5UtR5leNm49VmfHGqIffX4FKacHbI3H6UyNSHQknBg==", + "path": "system.diagnostics.tracing/4.1.0", + "hashPath": "system.diagnostics.tracing.4.1.0.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.Globalization.Calendars/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-L1c6IqeQ88vuzC1P81JeHmHA8mxq8a18NUBNXnIY/BVb+TCyAaGIFbhpZt60h9FJNmisymoQkHEFSE9Vslja1Q==", + "path": "system.globalization.calendars/4.0.1", + "hashPath": "system.globalization.calendars.4.0.1.nupkg.sha512" + }, + "System.Globalization.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KKo23iKeOaIg61SSXwjANN7QYDr/3op3OWGGzDzz7mypx0Za0fZSeG0l6cco8Ntp8YMYkIQcAqlk8yhm5/Uhcg==", + "path": "system.globalization.extensions/4.0.1", + "hashPath": "system.globalization.extensions.4.0.1.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.IO.Compression/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TjnBS6eztThSzeSib+WyVbLzEdLKUcEHN69VtS3u8aAsSc18FU6xCZlNWWsEd8SKcXAE+y1sOu7VbU8sUeM0sg==", + "path": "system.io.compression/4.1.0", + "hashPath": "system.io.compression.4.1.0.nupkg.sha512" + }, + "System.IO.Compression.ZipFile/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hBQYJzfTbQURF10nLhd+az2NHxsU6MU7AB8RUf4IolBP5lOAm4Luho851xl+CqslmhI5ZH/el8BlngEk4lBkaQ==", + "path": "system.io.compression.zipfile/4.0.1", + "hashPath": "system.io.compression.zipfile.4.0.1.nupkg.sha512" + }, + "System.IO.FileSystem/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IBErlVq5jOggAD69bg1t0pJcHaDbJbWNUZTPI96fkYWzwYbN6D9wRHMULLDd9dHsl7C2YsxXL31LMfPI1SWt8w==", + "path": "system.io.filesystem/4.0.1", + "hashPath": "system.io.filesystem.4.0.1.nupkg.sha512" + }, + "System.IO.FileSystem.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kWkKD203JJKxJeE74p8aF8y4Qc9r9WQx4C0cHzHPrY3fv/L/IhWnyCHaFJ3H1QPOH6A93whlQ2vG5nHlBDvzWQ==", + "path": "system.io.filesystem.primitives/4.0.1", + "hashPath": "system.io.filesystem.primitives.4.0.1.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", + "path": "system.linq.expressions/4.1.0", + "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" + }, + "System.Net.Http/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ULq9g3SOPVuupt+Y3U+A37coXzdNisB1neFCSKzBwo182u0RDddKJF8I5+HfyXqK6OhJPgeoAwWXrbiUXuRDsg==", + "path": "system.net.http/4.1.0", + "hashPath": "system.net.http.4.1.0.nupkg.sha512" + }, + "System.Net.Primitives/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hVvfl4405DRjA2408luZekbPhplJK03j2Y2lSfMlny7GHXlkByw1iLnc9mgKW0GdQn73vvMcWrWewAhylXA4Nw==", + "path": "system.net.primitives/4.0.11", + "hashPath": "system.net.primitives.4.0.11.nupkg.sha512" + }, + "System.Net.Sockets/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xAz0N3dAV/aR/9g8r0Y5oEqU1JRsz29F5EGb/WVHmX3jVSLqi2/92M5hTad2aNWovruXrJpJtgZ9fccPMG9uSw==", + "path": "system.net.sockets/4.1.0", + "hashPath": "system.net.sockets.4.1.0.nupkg.sha512" + }, + "System.ObjectModel/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", + "path": "system.objectmodel/4.0.12", + "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nCJvEKguXEvk2ymk1gqj625vVnlK3/xdGzx0vOKicQkoquaTBJTP13AIYkocSUwHCLNBwUbXTqTWGDxBTWpt7g==", + "path": "system.runtime.handles/4.0.1", + "hashPath": "system.runtime.handles.4.0.1.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-16eu3kjHS633yYdkjwShDHZLRNMKVi/s0bY8ODiqJ2RfMhDMAwxZaUaWVnZ2P71kr/or+X9o/xFWtNqz8ivieQ==", + "path": "system.runtime.interopservices/4.1.0", + "hashPath": "system.runtime.interopservices.4.1.0.nupkg.sha512" + }, + "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hWPhJxc453RCa8Z29O91EmfGeZIHX1ZH2A8L6lYQVSaKzku2DfArSfMEb1/MYYzPQRJZeu0c9dmYeJKxW5Fgng==", + "path": "system.runtime.interopservices.runtimeinformation/4.0.0", + "hashPath": "system.runtime.interopservices.runtimeinformation.4.0.0.nupkg.sha512" + }, + "System.Runtime.Numerics/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+XbKFuzdmLP3d1o9pdHu2nxjNr2OEPqGzKeegPLCUMM71a0t50A/rOcIRmGs9wR7a8KuHX6hYs/7/TymIGLNqg==", + "path": "system.runtime.numerics/4.0.1", + "hashPath": "system.runtime.numerics.4.0.1.nupkg.sha512" + }, + "System.Security.Cryptography.Algorithms/4.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8JQFxbLVdrtIOKMDN38Fn0GWnqYZw/oMlwOUG/qz1jqChvyZlnUmu+0s7wLx7JYua/nAXoESpHA3iw11QFWhXg==", + "path": "system.security.cryptography.algorithms/4.2.0", + "hashPath": "system.security.cryptography.algorithms.4.2.0.nupkg.sha512" + }, + "System.Security.Cryptography.Cng/4.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cUJ2h+ZvONDe28Szw3st5dOHdjndhJzQ2WObDEXAWRPEQBtVItVoxbXM/OEsTthl3cNn2dk2k0I3y45igCQcLw==", + "path": "system.security.cryptography.cng/4.2.0", + "hashPath": "system.security.cryptography.cng.4.2.0.nupkg.sha512" + }, + "System.Security.Cryptography.Csp/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/i1Usuo4PgAqgbPNC0NjbO3jPW//BoBlTpcWFD1EHVbidH21y4c1ap5bbEMSGAXjAShhMH4abi/K8fILrnu4BQ==", + "path": "system.security.cryptography.csp/4.0.0", + "hashPath": "system.security.cryptography.csp.4.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.Encoding/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FbKgE5MbxSQMPcSVRgwM6bXN3GtyAh04NkV8E5zKCBE26X0vYW0UtTa2FIgkH33WVqBVxRgxljlVYumWtU+HcQ==", + "path": "system.security.cryptography.encoding/4.0.0", + "hashPath": "system.security.cryptography.encoding.4.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.OpenSsl/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HUG/zNUJwEiLkoURDixzkzZdB5yGA5pQhDP93ArOpDPQMteURIGERRNzzoJlmTreLBWr5lkFSjjMSk8ySEpQMw==", + "path": "system.security.cryptography.openssl/4.0.0", + "hashPath": "system.security.cryptography.openssl.4.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.Primitives/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wkd7QryWYjkQclX0bngpntW5HSlMzeJU24UaLJQ7YTfI8ydAVAaU2J+HXLLABOVJlKTVvAeL0Aj39VeTe7L+oA==", + "path": "system.security.cryptography.primitives/4.0.0", + "hashPath": "system.security.cryptography.primitives.4.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.X509Certificates/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4HEfsQIKAhA1+ApNn729Gi09zh+lYWwyIuViihoMDWp1vQnEkL2ct7mAbhBlLYm+x/L4Rr/pyGge1lIY635e0w==", + "path": "system.security.cryptography.x509certificates/4.1.0", + "hashPath": "system.security.cryptography.x509certificates.4.1.0.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pH4FZDsZQ/WmgJtN4LWYmRdJAEeVkyriSwrv2Teoe5FOU0Yxlb6II6GL8dBPOfRmutHGATduj3ooMt7dJ2+i+w==", + "path": "system.threading.tasks.extensions/4.0.0", + "hashPath": "system.threading.tasks.extensions.4.0.0.nupkg.sha512" + }, + "System.Threading.Timer/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-saGfUV8uqVW6LeURiqxcGhZ24PzuRNaUBtbhVeuUAvky1naH395A/1nY0P2bWvrw/BreRtIB/EzTDkGBpqCwEw==", + "path": "system.threading.timer/4.0.1", + "hashPath": "system.threading.timer.4.0.1.nupkg.sha512" + }, + "System.Xml.ReaderWriter/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZIiLPsf67YZ9zgr31vzrFaYQqxRPX9cVHjtPSnmx4eN6lbS/yEyYNr2vs1doGDEscF0tjCZFsk9yUg1sC9e8tg==", + "path": "system.xml.readerwriter/4.0.11", + "hashPath": "system.xml.readerwriter.4.0.11.nupkg.sha512" + }, + "System.Xml.XDocument/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Mk2mKmPi0nWaoiYeotq1dgeNK1fqWh61+EK+w4Wu8SWuTYLzpUnschb59bJtGywaPq7SmTuPf44wrXRwbIrukg==", + "path": "system.xml.xdocument/4.0.11", + "hashPath": "system.xml.xdocument.4.0.11.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/_testdata/SampleDllReference/libs/ReferenceDll.dll b/_testdata/SampleDllReference/libs/ReferenceDll.dll index 7b9aa1b07b9f8e85362d7c6c20fc35fffaa10d75..ad9e44e7f79f7ab17ecec12eb97e0f011c145e86 100644 GIT binary patch delta 1884 zcmZ8i3v5$W82-+^w|Cvv-M-eY+d9@UN5{IAmc2Sh=jK3!WiS}XtBLEjy9JoLrCXJ0 zU_gw5kH~U@0zqRS3Nxa@(D2fbNJNd%m}roo;tLa|iIO16Onm(Jb|k=Q&UgR+JOBCr z|NQ6CZJ}+U-8&`gWb?JL=e+Fn*my1L8oN@Ws6k*Us5Jw7#jz5nr3?tl3GMg^aw_*%`9t;BN^eJ}EioxhlNysdh0oiG?o67Y__Payn z%>ub9q@k*#-&-B*UpK`o)Vw?{R+SVHT~2EYWCb8s%oNJgtFB8gN7Rb>+oH;jaF^s~ z#XKtIjTTeFR0Tb0n5ff|KndstqV}br>pD{^JT1yd8K|;O(Tc;O&hKVikP#Ck8vUK= zIBwua2DTdfh#_Yib8DnYAq##n0R{EgKT4b87U!@mT!l_8!+v5?QUYzb-w3dn>4A?6 zlY#?RMT_J{DYjGKt>nm!7FZ-1y(G)H2_3r#3-B8XX_kw;>8;;DMvG&xAt;^~Y7LoT z)Q0OqS`~@+pKkptTPgiXOuwN$kYIRcnn2S8Qr0GQGsJPC4_K_ei3|vC#4qT z;yWyF#V+`z&G6zraVPFUqqGu^BeZ^+*I5f(%>o+WI=i-fH>MA!zM?q=PP;#lYb!g)K%+DAIuHHt@5#9^P$vz&1nvF!A-&p0*eMI;i^RzH^D6 zw9I5te%Vs6F3!wm*~U;bgI*QpHMtzb*nOhQv7YI&ld@8Zyv_{STrrz` zj5!wYlR1svD1#@sWWkD7EvdF75|t0B$)WYyVD!;QFvP7&ex_L;_37GdrDAS1Logf+ z1w(;4wXUYFpy*uP*1p?$CL|YW=1=6TRZc? z*afim4%$aNL;VCj*(Z3^nkP5WtKMYeYptcDKd;&`b5*kK;NxFhuMQV?=^NX6Z*1id zWf*%Tp>9ki2S;K7t^YmXCe6USyvMpg;aWpCOj6;>SpC|IQj#tN8xsGJ|(*KWVn delta 1713 zcmZWqeQZ-z6#w1(USGSmdu?CWk8R!P_-bic+hN8eW5~iL3<3@q!XQMp@tDkQuXLSk z65SRPf(Zi6jY?1#F;TJv6oB~eErdO^&1F{%pLm;BjcG*5xkexxC!3^EW|}0(XJtmletOEL zZ^;M{?}TCm>FG+Y)mS`4GdCQ$CfaL+Nhx*YR^Ok;%Zc#IydM5!&iX|_jA+M4^U$!-pp;;zK~6}{aZ{)Bz{L$o!A=Wx)+l*!R5JNv>;PBL!tWB^WhPEp zc+tY7#gAI^rScW-gh$F!yat@0+qlQm9n6UzU{V_`YQLPtY9uVzYnd7H1i!*H{3xk% z5c4oWA;-y45Y15K3hbe|f?r|cF2ZX31WDA|%2x%Y)4Yz-F@IiM*?Ywjc?NKwW zTWqU5Lrkxw9Sqk~Jcevh!=!l5R#~+{`kjh1Qe)ar;0!si;T20GdvU=Q8he3i#qbTS zbF@(%8E(?N$S_P3TaOadON`pWj8IPK#3Dj3>MUGlVY7v87H+h#)51{;PZBEVve0ee z6z0ea;O@lxNMH&lc?R#|9JTia9F&_;hVQV6j=V@7K?E`B5ay#vK8^w|^H=dDw&8VR z2IW(@iWpO{n4G?cJJ=|nrN7t5QUc<<5^31SQg{H*5;o!p;VQgLxDF=2nQ#|&;7vA8 zc$>XONbSdZut#|83&u`UWn{{~*hIi*nC&NOG3s(lzNXtZMJB7i?f#$+FgZVsqTHnW z{y*olw){KBr?Y!`_#X}>i;Q6nrEz)soL%M9H%dNYq0OU1d3_+YX?QTdcR)|Ij^y>h zp}mHfbWO2k;(S?Hbh{t+UVmx&){ZS(R!$tb*o)oQRB_flmzJ-&D|YN;4u|4psH&!S z2#eSP8Zo}86wq{L&i#~wS{3ozm4MdDw6=h6J)zd7IvkEDirnmysne<-O3_HPmj=W8 zxWsKy&LUx-mvKix8)enBZJ&6iH0EE%Bq<8jTvr{oC}Uc)I9u8nsb>hMHneuEGIDxz zHoN#yJx56mHa)o{RVO@ZIfJNE6D3XtTU{!X%82LHOAS_?UB_pRfvs<+o5P4X=p{Qs z@5K9J*4s}bMq`H7W<26W&%EwX=eJ)iZ(aAslBYgD{r!hmO{?_d#(UIsJd%K2v z_1fJ=eo)V+AIs}Q`Q2UluJk5-kDk*9d-Rt6{`Q>Fr}yO3Mt5JjMeiQ&O_Oa8oxdxa zrBkOxt+%|c7{;Z~hA|IYa%OqiCr!gwT%ErheTY64_odUEM+-GU`WhVZCX_!HAPVoa zFF47Bs;y9On;Fi^Z7#NJlWdLnO`FH&PgnUrU{VH(xK@@F+XJV>7v7GNXz`=dzk*!+ I%nBL%Uzt%eL;wH) diff --git a/_testdata/SampleDllReference/libs/ReferenceDll.pdb b/_testdata/SampleDllReference/libs/ReferenceDll.pdb new file mode 100644 index 0000000000000000000000000000000000000000..5a2813bea33e55e96efc9c8748c0e62c7b985a5a GIT binary patch literal 12224 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 n5@KQrF-HioN`s+9GGJ^>RMUpk%E| + - net6.0 + net8.0 - + diff --git a/_testdata/SampleProjectReference/Properties/PublishProfiles/FolderProfile.pubxml b/_testdata/SampleProjectReference/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 0000000..d04ae58 --- /dev/null +++ b/_testdata/SampleProjectReference/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,13 @@ + + + + + Debug + Any CPU + gauge_bin + FileSystem + <_TargetId>Folder + + \ No newline at end of file diff --git a/_testdata/SampleProjectReference/StepImplementation.cs b/_testdata/SampleProjectReference/StepImplementation.cs index 0d53326..ec6c40d 100644 --- a/_testdata/SampleProjectReference/StepImplementation.cs +++ b/_testdata/SampleProjectReference/StepImplementation.cs @@ -7,8 +7,6 @@ using System; using System.Linq; -using System.Runtime.Serialization; -using System.Text; using System.Threading.Tasks; using Gauge.CSharp.Lib; using Gauge.CSharp.Lib.Attribute; @@ -79,7 +77,8 @@ public void ReadTable(Table table) } [Step("Take Screenshot in reference Project")] - public void TakeProjectReferenceScreenshot() { + public void TakeProjectReferenceScreenshot() + { GaugeScreenshots.RegisterCustomScreenshotWriter(new ReferenceProject.ScreenshotWriter()); GaugeScreenshots.Capture(); GaugeScreenshots.RegisterCustomScreenshotWriter(new StringScreenshotWriter()); @@ -91,11 +90,6 @@ public class CustomSerializableException : Exception public CustomSerializableException(string s) : base(s) { } - - public CustomSerializableException(SerializationInfo info, StreamingContext context) - : base(info, context) - { - } } public class CustomException : Exception diff --git a/_testdata/SampleProjectReference/gauge_bin/Gauge.CSharp.Lib.dll b/_testdata/SampleProjectReference/gauge_bin/Gauge.CSharp.Lib.dll index c0dd492936d14ce9513624c1a797841c66a81c31..81ababe5081c820a5d1f13b180ed666b60753d61 100755 GIT binary patch literal 22528 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 Uo2>tjqJ7@`i~LW{|Gysi-|U_ziU0rr literal 20480 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 I|6K(BFKP%utpET3 diff --git a/_testdata/SampleProjectReference/gauge_bin/IntegrationTestSample.deps.json b/_testdata/SampleProjectReference/gauge_bin/IntegrationTestSample.deps.json index d6271b7..fd7adf4 100644 --- a/_testdata/SampleProjectReference/gauge_bin/IntegrationTestSample.deps.json +++ b/_testdata/SampleProjectReference/gauge_bin/IntegrationTestSample.deps.json @@ -1,14 +1,14 @@ { "runtimeTarget": { - "name": ".NETCoreApp,Version=v3.0", + "name": ".NETCoreApp,Version=v8.0", "signature": "" }, "compilationOptions": {}, "targets": { - ".NETCoreApp,Version=v3.0": { + ".NETCoreApp,Version=v8.0": { "IntegrationTestSample/1.0.0": { "dependencies": { - "Gauge.CSharp.Lib": "0.7.6", + "Gauge.CSharp.Lib": "0.11.29", "ReferenceProject": "1.0.0" }, "runtime": { @@ -31,11 +31,11 @@ } } }, - "Gauge.CSharp.Lib/0.7.6": { + "Gauge.CSharp.Lib/0.11.29": { "runtime": { - "lib/netstandard2.0/Gauge.CSharp.Lib.dll": { - "assemblyVersion": "0.7.6.0", - "fileVersion": "0.7.6.0" + "lib/net8.0/Gauge.CSharp.Lib.dll": { + "assemblyVersion": "0.11.29.0", + "fileVersion": "0.10.3.0" } } }, @@ -687,7 +687,7 @@ "ReferenceProject/1.0.0": { "dependencies": { "FluentAssertions": "4.19.4", - "Gauge.CSharp.Lib": "0.7.6" + "Gauge.CSharp.Lib": "0.11.29" }, "runtime": { "ReferenceProject.dll": {} @@ -708,12 +708,12 @@ "path": "fluentassertions/4.19.4", "hashPath": "fluentassertions.4.19.4.nupkg.sha512" }, - "Gauge.CSharp.Lib/0.7.6": { + "Gauge.CSharp.Lib/0.11.29": { "type": "package", "serviceable": true, - "sha512": "sha512-VPkNe57TqAXTxA0+UHe35+cpJT2DkqWt1hmWi3eOxTJZy3widdC8GIhRERM34V5G5mQrfM2z4+AvPAbj0nv0+A==", - "path": "gauge.csharp.lib/0.7.6", - "hashPath": "gauge.csharp.lib.0.7.6.nupkg.sha512" + "sha512": "sha512-3WXaDyUh63Z0YDz2OI4Af0UC20ggt8NBebUM6dtpydAOrqqIOHvK84Fc7iHyB5UT2hFUQlNhuBQnF9O2h0/crQ==", + "path": "gauge.csharp.lib/0.11.29", + "hashPath": "gauge.csharp.lib.0.11.29.nupkg.sha512" }, "Microsoft.NETCore.Platforms/1.0.1": { "type": "package", diff --git a/_testdata/SampleProjectReference/gauge_bin/IntegrationTestSample.dll b/_testdata/SampleProjectReference/gauge_bin/IntegrationTestSample.dll index ba109391ae676b6cec9a0186686ee5b5f09508cb..d5afe22b82ec089a96a58b1f469874c5ba7a5d88 100644 GIT binary patch literal 9216 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 delta 3879 zcmaJ^e{fXQ75?t~wabgVY&HZ!k`22FkcB`JKz;;N5=sEEDj|Tzf@BFx3<3$+WiX)G zO|cBxrZqfdbf|);(;7P#CmlPZohg<-s*dfzwAyw`1xBmF(AsHL3Np0cz59|Z9qikE z-#gzq=ic+<-uK>adRcn$6Z^_)EMmTA#(08MkyC4kOo;SJbr=$b{FZbZi`>;G~_%&*b0 zgjddymndeXHY~k^HQSF+Wu&a#@-pU{MVp-{A#{Y~TzW?-FF8Kznnk6Rm>?}-X_@*p zsU5vO8I@UKANwXIjn$7%8fP4hM%4J3=vvCG6J?w?wd;N)CQ^u!+34CS4Gd#_t)3N` zxSthitO$jD%#HziOja>z`nbtGY`<~Ms*pLe(e|XYv_u)gW)3}E=xn!WYQ#^PGJdud zouo2lu?#fSLN0J#f{Lsb`Z>nhE%E<$uu?|J>fkOUCNltQzJo;qw|ZER z$t+@0^3c@U>DR0%CrC_je`JJG48@w6su5*_D!pw}mEdYxX=;p-$>(&vnb|zkIcDlq zO^;T|L@>2VWQ%**tVqedARhyq0BkdYJUIyL z6u4j1jn5!T#{iHrJI>>xF8!Dxs`LY(?`l#$ zukbFZN#TczthXG)#sY1nW@D*B)0A>RVS|wJ3Wc8z{U&Zo5qheZ*mKFwejPU;SK1^c8LAykh7xN4pfGbqbX0KXI&W-C@;WLUss6H}UW zErKqj3XrTAdL)2)(iv=Z2wFIRdl+a37b8qf055y2OtHyq_6*v}v&I=*JUQoVHK(7q zyoIx7xtN29n97oNpi0T9xg=w;fOtsZ>ojCsSA;nhd$}kUlWOwVQpMJI%w#VFnmra! zY^}!{IFG=3kF8K_gU3E)p9SJ!@YZ68ONu^_F%~A(G}}Gb-?8-qDUba`u|AJo!D1os zjK`kU7YiN7JodO)E=*_<@Yt*7w2+fw_<*xm7*EFdd+`znT3F;6zt3d+xZ7h1#o9au zR_{mJV{a(i1&>{1+J5}QV^1=?AB)OVc=R#gD8w>MB{K?}B};j^je>l03}reB4=c6@ z_i@*c!aIuf7w$3#_$+%r%hSdg&$9<>xMBY`Yzy$V{`W95#b_9Obz~w0kc)s~sgFgE zwU!&DV%TVLgViXO2^hdF*V!5r+k**c;kcC^dqJ`F9y`Hg0@#{0E{KOb+j5qadCD|d ztY5=N+|Arze7X$D1LDS-OY{-kpwe@p@@Z6>Gn_%g$4dUT(r5cz;=8Sv?N6G5k9fJe z#uIH!A*KSnb&_TPwF>JM-mb7wVY9+^qJ`}WyA}2-d`w}#!lxBJr|>0W0BCSo00IYSE`B&Lxd9>H$n zaqJr&znav(_r4Q<`#*wnxcFD8Hy3C%&UWJA|*aFtJvz zBd*k2h`aSP@j2ql9D9WF@Ac!_ATH@=DVG?~524`hO~L&6HoNY$C9ig{I@qAQKPYG% zJXbJFq}sk%w{QG!=hr{Ed~o3TW&X!tgoW_yVF;5#UY?|m6hnMtQDkJ{l$6*$Em&9( zTqlAtUl>wwtb$;=Px@-2q|j6Hdu7I7Ik7(g3Ypd!5B4+%)UBC7{Tp+!L{Sz?k_C&`P62Z?f#;$Ffyx( zdt{X}W=U6UYkX%%*Mp1O6P;UP-FK1lcL@sI#=zJz*aGI__=X*A{0%1Hn^9FGKm0XF zy&{7x<6E`4G6cHY8;(KTxk97d$MbXkZ~I*S&GQZ!J)dU<&tCpJ>n(Q2mXvk$AH4YG z`DY{FOh>}MK0UGSE$LSMK*!d2bs`y$ZLRL?>ew7_O(v?_VmsR6(>Hb`x5bmy>yz2?3@<**sCl&bP{|YB=@-5#Kl#^_-XBS(g$uQ=2o-6kYu!*N>MjY5ah=lJ zM$h9889L^<&83IMQ|{%`a*-SiO~}#o8dz>+q|zOT+~c-{R*ho&GF2_O~ z8&nknL=MRJf&3=O{{guHiG-MtRFHWfM?szo@&h2(Q6V9tRa6igRT9EbRRKCDOjbjR zKspRk1xU3ZodM|rNX;PK0qNmnzzR`Eo=sLq##yK%Rv^s)$qkAGdCs8rTd zDEor%gFtJm;QB&(gB8l-L3xNm8GbiVC>wyXp;CFMLOB?GAEr=-_8hKIhWtl>GPF4S zjR0vhkdG)s`Nt@fok7_|p+4-lV-?D`~ce6ts4LDOcc9Ub42-MgQZ^8YyMVftKa;4K4$1_MbRZFLw&`pfng1M{nOuwKT zYs*?zJZR9B!)QE~M52UkBsad!XgxCbq{*Rm7Uw)Zr-|wftg9>U-%PS<{h7UW^%=1~ zV>!x}Nx4FSn@|{~gpXGxf2+HqAsK#Y9mYBW^}jhsKi?i-yZEXx;`{Lt{reE0 zIEyV6Lcfn0q^Ah+G;+|$@ZBH$ul<^^+?g%a5AxQp_t7jd?f0g6j^&PZ9Aln=zZ4a@ zLt8?-v7jtUG*ZYlRxY=83-qRU4%TT&Y<+xS;hReysn>U@89!K~dD_GC4^?4kq^2Lr zLs=4312mH(#fn1lX3V7t#i+ALG&vBoF`zp$8h&t=NKk$#FUDC4rmIjHXi&g!P`AnB zo8m9W-->S~f8Kj%d2Y&-@sFnd%6X(e&DYWDQ&sSqPlIv{A0!q>m*>Yd!Om=HNuI%y zNrmC402Q;OD2Hr0OShj)0xUxIkC8}G{`8(j3a}Xu^cf%!__6>rn_Qe}6W)4386j}_w$(Bzq9 zIfM)hVq&&Xx8HboffNk~@&l>nf-a6XCSfagL71>FD<$fXpGx|_J|F9OZNQI>J4exz zHXb_0=^qj_b-7pK^Vqug&&}ec4!}v2Z1M6`wbo1NO!&oWch7h&sNQ?5MC;hj<$8q{ zEA$2)J>M}U-D_MwvA?;dxWEPXTFzH=6dq#D0?r3pvK zmcdaaF`2f~gf=ZCMDFcELI`&k5`y`=kPx}U3ki|?Iy}Q&UPy?!$uyG)sZ=DHW@#yA zEu(~Ur4h1F8E~9zA?P&%DTOWMTM{%a75$|pYCV;OhH_X_9UUF4Lv1)5TejVlurRhQ z3!M^b$3i)_Hf$>g&J;^?lga;o2{D!;u}~`fzlsaSksO7KE5};0Z5^#pTU%>uM|+N~ zqYZ~;Zy)MtjoPs7r`U%%aO~~EI2?}k)Tuz)*w_U9Xw0o3HV80)2zY$41@X#`0!EgF z1I5PH-ob`qJ;@=|!G5ZvH9O2Ulw)sW73w$zW!s?~D=U<3Z9j$W7|OPDMD5T}gvSzu z%UIzkLK}-CxqzwW^DuBa?miY z07d5dInx-E{TNJ!vp-`p@Uk#DF1CUh&Bu@7?CT33?H5}u_VHWn3SP`*_`x?*dcASz z^#;&ULg6H>fB(U{Z-mY75H^c{i?HdNlN52Wp@UljRC*DS1D) zG9(T`BCb_OZ(noDv+%@%A%&xoY2DQWxe^(RM`cO4Y(*_te9I#UnS`7@=v@?1R_~E1 z{ik`;xKYx+ff%#6r5R5kGvw{Qn)lWDZsoE>|9+YqE_7ppxB^=nimw=STPZghOvxBf z|6k@l2xJVJc3X9y*T5tO}Hq1vB}Fa5J5JN z9fTw_=sA~5@%r>@p3P8AmC-qtp5m|W1sauR{v(dq;q|GqFc4l6Hra9N)kRp@aO|3e zo0_&UYObh~3f|04H{Sp++&o4K-;zOD1#tY|{g}Sa> z)&~}AfD8xvCm7+EWUZTG8hxB`Xs}u;Mfkw64}d$LFO#xDLEMW$-#`2M8d*X@B#YwQ z8q)?+bDkD1syJ=s)(6yEC~$@06X^9gqbBN!U!JQnUW-?Bf%zh#0NBJ!$U%7&XMsS7g`I?f zuZ8G;fg{PifBp73_qTbkvHz#w=TY_ezVURh80bwSam%dzu#t9^PdV5YI?(&@lGPc; zW|~2L)4-H&{4(Yn#8}>L6m!y_&`yx9WbHibZbBOG zqLMy*$kKB;Fu^T+Q{%+hebeYQ-Ug<|{RK_eV*iu+VWmHHZN>GO=}D>jeZ%L*h)~eQ zz?>&V#dym_{z_VpJR~8Gu_J7Rkpp}xe6L?w{Lrkmi-I7G8!p2FO&l^I_26eH^U8uu zfAZy*-YGd}#;JhQ8Em%Bx_?p_OP zKK?PgVC~PdP9;k>*U;=W3-Ow;-M|3h^TB!pvwyw%fq#&lDo9(!d#2X)4v!2nSGKV( z*hLWlQU0iuu^hxba7jV*naa)Ho1qTErO%?8vJTSYY_rapoVof)5sPuLJLCemfE}=q z7me138=2)Fj(yLn`gnz?$z_ELgc2#2Eg!y8F<4#^OzMWEyo5~d&h{7Ar0j4{``Xcz z&37jTBV7SXM?+=dxL#9KM_h)m>AxEHwoIlo@-_CpJu?$|-Ur8S68`dqFixSMhT4ie zM357AM%4#gWqBW4idM%{{E1%GjgnB{!WUn$$QKQm(%ObcaM zdf>-#eTV=&DH{b#SqzxBJN+gci(dopmDVjC<9smYxmDieS>=5I{iQ5+)LdXM!U5Ia z-SQM#dU)WN$6-MWyz*aKOsFha7u^STF7U-cVlL>$aso^+nLvMp3y~b2vkOYU^Kx!- zYF3rk-n{Ln9;}Y+-xndFkVnXlO51WFEdN(<^}JaN>D$M8cFZ|nuGSX}irvHHDbYV_ zq3~DAbgdYOx>wrGJs0XMUl2}6(d1BMxH`lv78ILv3?;bV6>?W0zmaPO1i(b3dxtL_R!710F(b$I@LY!aK zF>^m2O!d8C-GGB!Kmf}E1HxG%u*MZ0vb(JXDy-$W>d3&ar=9l1-J51dx-V2hfVDFY z$Pb%b0$KRa;AiZ9o#uXkQpp`JJ58*+UFFMgJbI?kSUeO)0z{)0I*@W8`1Gd!m$UC? zdv50TAMEf!?=;S>Cm2)diq-Kn2w9Q5oigN)Ti%CcWRv(R)3iPzy*$hG?6+$n8qE3k zLUVH66Kq4CYVN)=6i2)JKqn>=gCPUl5rqoYKs+w4XzZ1gMhIPgH}CMnv%?vMFWAxA zCeZ`?hGN22hT0@TjH&dA*Qsn5p95|wADwRhYUvvTM?3xngYPX@e+=Pi@!um>9Nxg( zW^8^aMt!}kZ+I|QB;P2*u%lv&4npi?rqvG0lUlDGqk;nxE0Vr+W3hUtCKMOJdgjB~ zW;cf)_e?jIQ9XaHo7i1XK`duB^d>Oe5({~_U7F`6oqz;(u5vMJb~T~xD=Qex==`DD zCjpG-JiZ_SLi~;N_01lyaLs6W>vPwA=Bqv-bTJ5F6};c4A*IJ5_|W`wO~S`tbHMV0Vda!<;B4myX6~`#V*qUp`7D3FP-d^VJ zV@5k2%Cn2eO1^&>$6$)%^g}O&e}O)~A$QW93pu5L`qJtJd8+YI=#wmY=ml%XV~pQ?BhH z=?b)hU%V=ZO}G2ofkv%RJ~i{B=vZaqPZK4G(kvW$xGoc-7CL5+S@>!IBXzIq_n5T8 z9SSHf7MHMQQl;SuXqj^%H!}aVSjsro_J)1(c~OxNZun_7&LKPlE$UJs8+5BLr_i2OIs^j%O-t6fN+ zS+V$WfdXcZtZNljAoAP?E%y0H-k6I8vDDfd^c^YNbcui#wzwa-F0;j0X*40UQk-Kt+Nye=8`WqwbH8_MFK z;_gK=&hN&@=1wSJren;?+Je_^`H zE{AJ`ts69Tf_t*_$F=GqY2JXtry%q~Zi{!+#3*K-PX70y8qYTN4aNG}`c#cmux$-~ zrIVj&zVX@l^-yVuR?{^C1NMEva+)yT8c};31SgH4SIK*-)3@D4$Sx^o6aWF`?A=k4=I?skG0r+;e}E z$H8$1VYlo{kKussgAWQki-1#=q6IZGrpV(=udkYS?(ma6_rGfN72lX0&>M|$^KSNh z2bH?ZGhOwRuH#(2*`VE_;Yoh)`V6qEgg311i07Z7PWrd6&t1)zFyoi7=4AZ2@UP#1 z+?n!?3B^%<;N5n4D9~yav07@TON~EhwRoDj|A*gDU~?g#XWUp*`1UqF#}lgjk}-Q?8wk_CJ-moK)Im_jEy--HPt3xWx}0cR4zc7T>7j+_3#@AAVb9@z|u)4tpVUHum~jxyMT70vQzi@73V2&KHba0~Xy5w1fY z*K`EC=J-S;blM&#f{xz_fxquPb6Y1PbLPNtpMMOQscuipnMSW|lq><{0w>*I zL!9ud8PDwM;9aNX={7HgNlq>sV+NVlQdS>S!ZC#kUHfWhN+~qpbR(?^^Gdv^nJSu+ z+7N4fC5(4Z5B}{&Kpvc#ZF3ft9W*X>u8umX@6oK^HGpx;0ej0gLlqrX^hJ6BWLTbA zCEi0eV3Zjg4nBPIB2|fDPbjv~25m^FYH1Vn1Dd?$VpG+`$Y%Fl6W$wI_&0q2PbvyQ z-^mdR8lV*ZQ~O2N1vFE42a-?9j8ch!jA*i+QuK00;eTv92C1mN+P0Rq(vF!CmQi?Q zed)jdDaAZK5f$nMNjl^++KkV%Wkc;;4^XL9|5BT*ad=m3)7SDu+a)3ywt!kmxk_OY zmGP%di0O4U^O`ai+{EDW39I=fdo@DP#v`+4re}py^YUs|r<8JOy+Gm^5x7GjW{DzV zD9*faaHB#R(M9E*n?*9zdXeE(`?l447%Am(rS7L3U;ZZ*TGy6P2l-9~ggbAacYMiI zfy?nP2^hQNyF z;O-AnmpOAxz=j&HlFy=8P5p#9|H+vlU<*0jak7^vTHfRr(wQ%#T^Bo5?)bFS^jz|T z|D@p~LIwU3qS?>IYJGvRmq*L?)5TgqdM7YFr7+9$C2iys}bQ z?N$4JT!OV5UgsSzH6F&yTWqrSmt> zb3yxi^}cQ#IEUj1ml0BuDmQ$EWB#^AQv4b69Y*?L%e=N^hM_WFxdBn^`X{d7EB8eC zwBK+*=kb>O3Xd&`!Im~viC$e$`P_*Gk06r9QFR&lKcK+26(1X4nvQh&Q|Ix5MBNB_ zPgKt>;sr4?<-Plt_>pYIl77@(Hh#M<+#Z~ZW8l^@>L;Tk-Ad(rRbuVkOUsmIxGPIyMGBZj1WO=5yEeRM8|BtQ%hXQTnm2FqIFA&bX7jA0OrrI= zahM^8JljwJ*#ztD-tPH@-Z?sBSmIT-&(Rf~2Cd}F#lJyg z!d5;5my&^QA5jx>(de19biai8{iTgpego>&?q9weU4{5GR8Y4B{o%QNLJ@aPSUC~- zblV0KS!r*m&Gx!Hs9et8nk5rXaH+kVQ{JC~ME2$`HyWNXyn2rTEr)UN z{YsCNAK6L2LHUBS3mj?8tj&PZ?wIGkZh-Mn_w;RZk}mFwyU-g6Zm1DK_t58SeWnK=PYh;|!DcdVl@$5$6=h0=F>c%D|OEy#CqO9@`)vBdw&d zcmJ$nBzc=3U9mHz3a{Ti%68r#AYWgx8}4ZY=v|_1xVN&s{&Z`TLPfas6(HsEy0<_o zOUvcKBLX3KbQ0DG~k6AP_~6`%QU{Pv@JvR`U|tZw!v$ zE7Zo;S3MRym1~DxgZI6s#f=ndz14RsU%l+&u;Fuw>i|%gp79tq7ShY~<+n0&9!%8U z-+0Bf{#(I3tNibi6`0MV<5$n{7HEr<)WI?5K6%D>+ZwS;ea)MtKRi{4GbG3fBqdPM zomcY1?2WgERq`_F^gXnZMTd8{5{n=lL`c}x4<&pb@ZS?iNL!*#;)~gqo<*bTV{4X_@YZ* z(E`sqZNVe)28U~(r__N{G>W)c?8VHb6UwcHaD?ME|J5@== zY4Tcz+Vac@%g9(Z9?Q(J%o5A&uxu)p&C-Tfz9~a=`ynKi7!6FR{xNH(?=7Kl!$kTpn>yVDX47WKGh=Uz JjMp&m?tgfH5gz~m literal 2556 zcmZ`)3s6*57(VCR-DO!=0hgCZa$(T~^@3rBVTP=zIEcssMls@Lxx(u1-gWn`vW5)k zTB2oAX490Um0G5grU5-PFce1}duWWMW0v_SZOm-6NvHbHU3RLsJeMsikOnn@Pz^Aa*40wo8Gw%g-VAybLdkT_EV-gFgni=q*Y;LP!UuB<7^n;hw%uEdNoEP)C6{S0Coa80fzu5 z0p9>F1AYYy)E^N}ZUM9dUI*-x{bSGy!l3nlHvxM9y?`$PzX1@#AP$CqK7xvZoS;&e zp9g3FcmZpJb94uTIzYD*&?)N~bO0h^z$brdXs$>IXF|9tgsVfiCWMEDaBT?JLFNPY z^G_z(r34)f7)i!>to(eq*yd^GT(3QlXupx_C>V?%hHg3pKfc;G5U zz7iCi+D`8i% z)i3Re|GjqZqesF{#cVL6o;h!jt#6gpcn-H8EZpDCzPRL4*@0qY+MZ9uq8+QU2j&!c z&!eOnyr*8^Oy&mO<>ZR3wcJz*o}yZhBoK^M4WeC8yCs3QYn?7}kzkSBk@a-PxH?gC z2vT^BB)FwIUgG1;yxnONO8u+KgoT1ja9D(x!bZX3k*uO)rYJ6Ua~5}a7D`Fa%*mg{ zvz6UHXPpq5yP`f^(AJqTy=(U+&1>)ZCiFgkMLoRNQTZ9YDI6URg-)QtL5@?%NeVed zA*UuxT`w!b_!ng(G2;~ddOKvZ5?F)UO; z!^tFCeQ?D{g(8hs8T7^&&}9&9Br+0cAC{mn(oCQ+vBs-P!Pu))V~kt+NoyKT9t^O| zx;qLz0hDW@BX@Tla$HuCDRop&jR<3VjzFsy;d16ZTBghVP!-Q`6ntb^HrC_;^L| zaWp;2fmm}08b&i9-@FmD4-&1sh2CljO<)OuhYPlhS1973>2Pj1R;h@#0>$c}ap4St z4O$KTTWZ;jq${%g3V0;2sK+RgXsOmq;{BfHu^3H4 zD%tDFAU}*$vXzod+2-uTAtupIuVA{>CMa)URUfN9HFMS1d1JTtZ`yUN@bt6ej{UK1 z;YZbbn>`O)wcR<{cR^cdcS_!WZTgG7xv_enx1(}jZ-1NV#{Aya_zla8x8CT}%{#qz z@7d+w9@fj7Og7$4+c{YNz6tD_AF8jOV0-SZ;}7bRqB_<_S?)@H{8W zh_#E<(}Y@2y&m2UiwH&Lbmnl`99L3UZUQ>h=^R@rxZF^dk1VAVQ{8UCUTgCPA0=us zI?!=GhtK6}^gYE^ob6iE9QpW<9dl3I*>AwdUB#bz+BQ}tTv{|`ok!Q#FtW%Y3H2_y zNXy~D8f@Oc=|zr(;(wfbh26IKv0H7MCs~Vo;&Oj6zw-f~`fARodu`@xnGb#c_C3>m F=x=`L%oG3s diff --git a/_testdata/SampleProjectReference/gauge_bin/IntegrationTestSampleProjectReference.deps.json b/_testdata/SampleProjectReference/gauge_bin/IntegrationTestSampleProjectReference.deps.json new file mode 100644 index 0000000..e607333 --- /dev/null +++ b/_testdata/SampleProjectReference/gauge_bin/IntegrationTestSampleProjectReference.deps.json @@ -0,0 +1,1151 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "IntegrationTestSampleProjectReference/1.0.0": { + "dependencies": { + "Gauge.CSharp.Lib": "0.11.1", + "ReferenceProject": "1.0.0" + }, + "runtime": { + "IntegrationTestSampleProjectReference.dll": {} + } + }, + "FluentAssertions/4.19.4": { + "dependencies": { + "NETStandard.Library": "1.6.0", + "System.Reflection.TypeExtensions": "4.1.0" + }, + "runtime": { + "lib/netstandard1.3/FluentAssertions.Core.dll": { + "assemblyVersion": "4.19.4.0", + "fileVersion": "4.19.4.0" + }, + "lib/netstandard1.3/FluentAssertions.dll": { + "assemblyVersion": "4.19.4.0", + "fileVersion": "4.19.4.0" + } + } + }, + "Gauge.CSharp.Lib/0.11.1": { + "runtime": { + "lib/net8.0/Gauge.CSharp.Lib.dll": { + "assemblyVersion": "0.11.1.0", + "fileVersion": "0.11.1.0" + } + } + }, + "Microsoft.NETCore.Platforms/1.0.1": {}, + "Microsoft.NETCore.Targets/1.0.1": {}, + "Microsoft.Win32.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "NETStandard.Library/1.6.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.Win32.Primitives": "4.0.1", + "System.AppContext": "4.1.0", + "System.Collections": "4.0.11", + "System.Collections.Concurrent": "4.0.12", + "System.Console": "4.0.0", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Diagnostics.Tracing": "4.1.0", + "System.Globalization": "4.0.11", + "System.Globalization.Calendars": "4.0.1", + "System.IO": "4.1.0", + "System.IO.Compression": "4.1.0", + "System.IO.Compression.ZipFile": "4.0.1", + "System.IO.FileSystem": "4.0.1", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.Net.Http": "4.1.0", + "System.Net.Primitives": "4.0.11", + "System.Net.Sockets": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Runtime.InteropServices.RuntimeInformation": "4.0.0", + "System.Runtime.Numerics": "4.0.1", + "System.Security.Cryptography.Algorithms": "4.2.0", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Security.Cryptography.X509Certificates": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11", + "System.Threading.Timer": "4.0.1", + "System.Xml.ReaderWriter": "4.0.11", + "System.Xml.XDocument": "4.0.11" + } + }, + "runtime.native.System/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "runtime.native.System.IO.Compression/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "runtime.native.System.Net.Http/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "runtime.native.System.Security.Cryptography/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.AppContext/4.1.0": { + "dependencies": { + "System.Runtime": "4.1.0" + } + }, + "System.Buffers/4.0.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tracing": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Collections/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Collections.Concurrent/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tracing": "4.1.0", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Console/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Diagnostics.Debug/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.DiagnosticSource/4.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Tracing": "4.1.0", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Diagnostics.Tools/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Diagnostics.Tracing/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization.Calendars/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Runtime": "4.1.0" + } + }, + "System.Globalization.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.InteropServices": "4.1.0" + } + }, + "System.IO/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.IO.Compression/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11", + "runtime.native.System": "4.0.0", + "runtime.native.System.IO.Compression": "4.1.0" + } + }, + "System.IO.Compression.ZipFile/4.0.1": { + "dependencies": { + "System.Buffers": "4.0.0", + "System.IO": "4.1.0", + "System.IO.Compression": "4.1.0", + "System.IO.FileSystem": "4.0.1", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.IO.FileSystem/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Text.Encoding": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.IO.FileSystem.Primitives/4.0.1": { + "dependencies": { + "System.Runtime": "4.1.0" + } + }, + "System.Linq/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Linq.Expressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Net.Http/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.DiagnosticSource": "4.0.0", + "System.Diagnostics.Tracing": "4.1.0", + "System.Globalization": "4.0.11", + "System.Globalization.Extensions": "4.0.1", + "System.IO": "4.1.0", + "System.IO.FileSystem": "4.0.1", + "System.Net.Primitives": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Security.Cryptography.Algorithms": "4.2.0", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.OpenSsl": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Security.Cryptography.X509Certificates": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11", + "runtime.native.System": "4.0.0", + "runtime.native.System.Net.Http": "4.0.1", + "runtime.native.System.Security.Cryptography": "4.0.0" + } + }, + "System.Net.Primitives/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Handles": "4.0.1" + } + }, + "System.Net.Sockets/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Net.Primitives": "4.0.11", + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.ObjectModel/4.0.12": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Reflection/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit/4.0.1": { + "dependencies": { + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Extensions/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.Primitives/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Reflection.TypeExtensions/4.1.0": { + "dependencies": { + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Resources.ResourceManager/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Globalization": "4.0.11", + "System.Reflection": "4.1.0", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1" + } + }, + "System.Runtime.Extensions/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Handles/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.InteropServices/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Reflection": "4.1.0", + "System.Reflection.Primitives": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Handles": "4.0.1" + } + }, + "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Reflection": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.InteropServices": "4.1.0", + "System.Threading": "4.0.11", + "runtime.native.System": "4.0.0" + } + }, + "System.Runtime.Numerics/4.0.1": { + "dependencies": { + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Security.Cryptography.Algorithms/4.2.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Collections": "4.0.11", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Runtime.Numerics": "4.0.1", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11", + "runtime.native.System.Security.Cryptography": "4.0.0" + } + }, + "System.Security.Cryptography.Cng/4.2.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Security.Cryptography.Algorithms": "4.2.0", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Security.Cryptography.Csp/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Security.Cryptography.Algorithms": "4.2.0", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11", + "System.Threading": "4.0.11" + } + }, + "System.Security.Cryptography.Encoding/4.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Collections": "4.0.11", + "System.Collections.Concurrent": "4.0.12", + "System.Linq": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11", + "runtime.native.System.Security.Cryptography": "4.0.0" + } + }, + "System.Security.Cryptography.OpenSsl/4.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Runtime.Numerics": "4.0.1", + "System.Security.Cryptography.Algorithms": "4.2.0", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11", + "runtime.native.System.Security.Cryptography": "4.0.0" + } + }, + "System.Security.Cryptography.Primitives/4.0.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Security.Cryptography.X509Certificates/4.1.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.Globalization.Calendars": "4.0.1", + "System.IO": "4.1.0", + "System.IO.FileSystem": "4.0.1", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Runtime.Numerics": "4.0.1", + "System.Security.Cryptography.Algorithms": "4.2.0", + "System.Security.Cryptography.Cng": "4.2.0", + "System.Security.Cryptography.Csp": "4.0.0", + "System.Security.Cryptography.Encoding": "4.0.0", + "System.Security.Cryptography.OpenSsl": "4.0.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11", + "System.Threading": "4.0.11", + "runtime.native.System": "4.0.0", + "runtime.native.System.Net.Http": "4.0.1", + "runtime.native.System.Security.Cryptography": "4.0.0" + } + }, + "System.Text.Encoding/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Text.Encoding.Extensions/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0", + "System.Text.Encoding": "4.0.11" + } + }, + "System.Text.RegularExpressions/4.1.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + } + }, + "System.Threading/4.0.11": { + "dependencies": { + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Tasks/4.0.11": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Threading.Tasks.Extensions/4.0.0": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Threading.Timer/4.0.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Xml.ReaderWriter/4.0.11": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.IO.FileSystem": "4.0.1", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.InteropServices": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0", + "System.Threading.Tasks": "4.0.11", + "System.Threading.Tasks.Extensions": "4.0.0" + } + }, + "System.Xml.XDocument/4.0.11": { + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading": "4.0.11", + "System.Xml.ReaderWriter": "4.0.11" + } + }, + "ReferenceProject/1.0.0": { + "dependencies": { + "FluentAssertions": "4.19.4", + "Gauge.CSharp.Lib": "0.11.1" + }, + "runtime": { + "ReferenceProject.dll": {} + } + } + } + }, + "libraries": { + "IntegrationTestSampleProjectReference/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "FluentAssertions/4.19.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i2o9/YjrJUI0sx1373gj83fsITo7W/aNJ+uciV5Cg7ZUbKhGWbMekx8gTU9AuDtB54mEhMUC9uF16MOzZEp0FQ==", + "path": "fluentassertions/4.19.4", + "hashPath": "fluentassertions.4.19.4.nupkg.sha512" + }, + "Gauge.CSharp.Lib/0.11.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QEgfnNnhgPkW+BuXcz4bKN4DsjFWEepIN7gcIs68/STVlejB6LaMYDmrDFdakSVV6G21xWz4U8egSurZsN4RaA==", + "path": "gauge.csharp.lib/0.11.1", + "hashPath": "gauge.csharp.lib.0.11.1.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", + "path": "microsoft.netcore.platforms/1.0.1", + "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", + "path": "microsoft.netcore.targets/1.0.1", + "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" + }, + "Microsoft.Win32.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fQnBHO9DgcmkC9dYSJoBqo6sH1VJwJprUHh8F3hbcRlxiQiBUuTntdk8tUwV490OqC2kQUrinGwZyQHTieuXRA==", + "path": "microsoft.win32.primitives/4.0.1", + "hashPath": "microsoft.win32.primitives.4.0.1.nupkg.sha512" + }, + "NETStandard.Library/1.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ypsCvIdCZ4IoYASJHt6tF2fMo7N30NLgV1EbmC+snO490OMl9FvVxmumw14rhReWU3j3g7BYudG6YCrchwHJlA==", + "path": "netstandard.library/1.6.0", + "hashPath": "netstandard.library.1.6.0.nupkg.sha512" + }, + "runtime.native.System/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QfS/nQI7k/BLgmLrw7qm7YBoULEvgWnPI+cYsbfCVFTW8Aj+i8JhccxcFMu1RWms0YZzF+UHguNBK4Qn89e2Sg==", + "path": "runtime.native.system/4.0.0", + "hashPath": "runtime.native.system.4.0.0.nupkg.sha512" + }, + "runtime.native.System.IO.Compression/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ob7nvnJBox1aaB222zSVZSkf4WrebPG4qFscfK7vmD7P7NxoSxACQLtO7ytWpqXDn2wcd/+45+EAZ7xjaPip8A==", + "path": "runtime.native.system.io.compression/4.1.0", + "hashPath": "runtime.native.system.io.compression.4.1.0.nupkg.sha512" + }, + "runtime.native.System.Net.Http/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Nh0UPZx2Vifh8r+J+H2jxifZUD3sBrmolgiFWJd2yiNrxO0xTa6bAw3YwRn1VOiSen/tUXMS31ttNItCZ6lKuA==", + "path": "runtime.native.system.net.http/4.0.1", + "hashPath": "runtime.native.system.net.http.4.0.1.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2CQK0jmO6Eu7ZeMgD+LOFbNJSXHFVQbCJJkEyEwowh1SCgYnrn9W9RykMfpeeVGw7h4IBvYikzpGUlmZTUafJw==", + "path": "runtime.native.system.security.cryptography/4.0.0", + "hashPath": "runtime.native.system.security.cryptography.4.0.0.nupkg.sha512" + }, + "System.AppContext/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3QjO4jNV7PdKkmQAVp9atA+usVnKRwI3Kx1nMwJ93T0LcQfx7pKAYk0nKz5wn1oP5iqlhZuy6RXOFdhr7rDwow==", + "path": "system.appcontext/4.1.0", + "hashPath": "system.appcontext.4.1.0.nupkg.sha512" + }, + "System.Buffers/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-msXumHfjjURSkvxUjYuq4N2ghHoRi2VpXcKMA7gK6ujQfU3vGpl+B6ld0ATRg+FZFpRyA6PgEPA+VlIkTeNf2w==", + "path": "system.buffers/4.0.0", + "hashPath": "system.buffers.4.0.0.nupkg.sha512" + }, + "System.Collections/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", + "path": "system.collections/4.0.11", + "hashPath": "system.collections.4.0.11.nupkg.sha512" + }, + "System.Collections.Concurrent/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2gBcbb3drMLgxlI0fBfxMA31ec6AEyYCHygGse4vxceJan8mRIWeKJ24BFzN7+bi/NFTgdIgufzb94LWO5EERQ==", + "path": "system.collections.concurrent/4.0.12", + "hashPath": "system.collections.concurrent.4.0.12.nupkg.sha512" + }, + "System.Console/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qSKUSOIiYA/a0g5XXdxFcUFmv1hNICBD7QZ0QhGYVipPIhvpiydY8VZqr1thmCXvmn8aipMg64zuanB4eotK9A==", + "path": "system.console/4.0.0", + "hashPath": "system.console.4.0.0.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", + "path": "system.diagnostics.debug/4.0.11", + "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YKglnq4BMTJxfcr6nuT08g+yJ0UxdePIHxosiLuljuHIUR6t4KhFsyaHOaOc1Ofqp0PUvJ0EmcgiEz6T7vEx3w==", + "path": "system.diagnostics.diagnosticsource/4.0.0", + "hashPath": "system.diagnostics.diagnosticsource.4.0.0.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", + "path": "system.diagnostics.tools/4.0.1", + "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" + }, + "System.Diagnostics.Tracing/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vDN1PoMZCkkdNjvZLql592oYJZgS7URcJzJ7bxeBgGtx5UtR5leNm49VmfHGqIffX4FKacHbI3H6UyNSHQknBg==", + "path": "system.diagnostics.tracing/4.1.0", + "hashPath": "system.diagnostics.tracing.4.1.0.nupkg.sha512" + }, + "System.Globalization/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", + "path": "system.globalization/4.0.11", + "hashPath": "system.globalization.4.0.11.nupkg.sha512" + }, + "System.Globalization.Calendars/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-L1c6IqeQ88vuzC1P81JeHmHA8mxq8a18NUBNXnIY/BVb+TCyAaGIFbhpZt60h9FJNmisymoQkHEFSE9Vslja1Q==", + "path": "system.globalization.calendars/4.0.1", + "hashPath": "system.globalization.calendars.4.0.1.nupkg.sha512" + }, + "System.Globalization.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KKo23iKeOaIg61SSXwjANN7QYDr/3op3OWGGzDzz7mypx0Za0fZSeG0l6cco8Ntp8YMYkIQcAqlk8yhm5/Uhcg==", + "path": "system.globalization.extensions/4.0.1", + "hashPath": "system.globalization.extensions.4.0.1.nupkg.sha512" + }, + "System.IO/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", + "path": "system.io/4.1.0", + "hashPath": "system.io.4.1.0.nupkg.sha512" + }, + "System.IO.Compression/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TjnBS6eztThSzeSib+WyVbLzEdLKUcEHN69VtS3u8aAsSc18FU6xCZlNWWsEd8SKcXAE+y1sOu7VbU8sUeM0sg==", + "path": "system.io.compression/4.1.0", + "hashPath": "system.io.compression.4.1.0.nupkg.sha512" + }, + "System.IO.Compression.ZipFile/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hBQYJzfTbQURF10nLhd+az2NHxsU6MU7AB8RUf4IolBP5lOAm4Luho851xl+CqslmhI5ZH/el8BlngEk4lBkaQ==", + "path": "system.io.compression.zipfile/4.0.1", + "hashPath": "system.io.compression.zipfile.4.0.1.nupkg.sha512" + }, + "System.IO.FileSystem/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IBErlVq5jOggAD69bg1t0pJcHaDbJbWNUZTPI96fkYWzwYbN6D9wRHMULLDd9dHsl7C2YsxXL31LMfPI1SWt8w==", + "path": "system.io.filesystem/4.0.1", + "hashPath": "system.io.filesystem.4.0.1.nupkg.sha512" + }, + "System.IO.FileSystem.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kWkKD203JJKxJeE74p8aF8y4Qc9r9WQx4C0cHzHPrY3fv/L/IhWnyCHaFJ3H1QPOH6A93whlQ2vG5nHlBDvzWQ==", + "path": "system.io.filesystem.primitives/4.0.1", + "hashPath": "system.io.filesystem.primitives.4.0.1.nupkg.sha512" + }, + "System.Linq/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", + "path": "system.linq/4.1.0", + "hashPath": "system.linq.4.1.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", + "path": "system.linq.expressions/4.1.0", + "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" + }, + "System.Net.Http/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ULq9g3SOPVuupt+Y3U+A37coXzdNisB1neFCSKzBwo182u0RDddKJF8I5+HfyXqK6OhJPgeoAwWXrbiUXuRDsg==", + "path": "system.net.http/4.1.0", + "hashPath": "system.net.http.4.1.0.nupkg.sha512" + }, + "System.Net.Primitives/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hVvfl4405DRjA2408luZekbPhplJK03j2Y2lSfMlny7GHXlkByw1iLnc9mgKW0GdQn73vvMcWrWewAhylXA4Nw==", + "path": "system.net.primitives/4.0.11", + "hashPath": "system.net.primitives.4.0.11.nupkg.sha512" + }, + "System.Net.Sockets/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xAz0N3dAV/aR/9g8r0Y5oEqU1JRsz29F5EGb/WVHmX3jVSLqi2/92M5hTad2aNWovruXrJpJtgZ9fccPMG9uSw==", + "path": "system.net.sockets/4.1.0", + "hashPath": "system.net.sockets.4.1.0.nupkg.sha512" + }, + "System.ObjectModel/4.0.12": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", + "path": "system.objectmodel/4.0.12", + "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" + }, + "System.Reflection/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", + "path": "system.reflection/4.1.0", + "hashPath": "system.reflection.4.1.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", + "path": "system.reflection.emit/4.0.1", + "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", + "path": "system.reflection.emit.ilgeneration/4.0.1", + "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", + "path": "system.reflection.emit.lightweight/4.0.1", + "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" + }, + "System.Reflection.Extensions/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", + "path": "system.reflection.extensions/4.0.1", + "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" + }, + "System.Reflection.Primitives/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", + "path": "system.reflection.primitives/4.0.1", + "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", + "path": "system.reflection.typeextensions/4.1.0", + "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", + "path": "system.resources.resourcemanager/4.0.1", + "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" + }, + "System.Runtime/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", + "path": "system.runtime/4.1.0", + "hashPath": "system.runtime.4.1.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", + "path": "system.runtime.extensions/4.1.0", + "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nCJvEKguXEvk2ymk1gqj625vVnlK3/xdGzx0vOKicQkoquaTBJTP13AIYkocSUwHCLNBwUbXTqTWGDxBTWpt7g==", + "path": "system.runtime.handles/4.0.1", + "hashPath": "system.runtime.handles.4.0.1.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-16eu3kjHS633yYdkjwShDHZLRNMKVi/s0bY8ODiqJ2RfMhDMAwxZaUaWVnZ2P71kr/or+X9o/xFWtNqz8ivieQ==", + "path": "system.runtime.interopservices/4.1.0", + "hashPath": "system.runtime.interopservices.4.1.0.nupkg.sha512" + }, + "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hWPhJxc453RCa8Z29O91EmfGeZIHX1ZH2A8L6lYQVSaKzku2DfArSfMEb1/MYYzPQRJZeu0c9dmYeJKxW5Fgng==", + "path": "system.runtime.interopservices.runtimeinformation/4.0.0", + "hashPath": "system.runtime.interopservices.runtimeinformation.4.0.0.nupkg.sha512" + }, + "System.Runtime.Numerics/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+XbKFuzdmLP3d1o9pdHu2nxjNr2OEPqGzKeegPLCUMM71a0t50A/rOcIRmGs9wR7a8KuHX6hYs/7/TymIGLNqg==", + "path": "system.runtime.numerics/4.0.1", + "hashPath": "system.runtime.numerics.4.0.1.nupkg.sha512" + }, + "System.Security.Cryptography.Algorithms/4.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8JQFxbLVdrtIOKMDN38Fn0GWnqYZw/oMlwOUG/qz1jqChvyZlnUmu+0s7wLx7JYua/nAXoESpHA3iw11QFWhXg==", + "path": "system.security.cryptography.algorithms/4.2.0", + "hashPath": "system.security.cryptography.algorithms.4.2.0.nupkg.sha512" + }, + "System.Security.Cryptography.Cng/4.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cUJ2h+ZvONDe28Szw3st5dOHdjndhJzQ2WObDEXAWRPEQBtVItVoxbXM/OEsTthl3cNn2dk2k0I3y45igCQcLw==", + "path": "system.security.cryptography.cng/4.2.0", + "hashPath": "system.security.cryptography.cng.4.2.0.nupkg.sha512" + }, + "System.Security.Cryptography.Csp/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/i1Usuo4PgAqgbPNC0NjbO3jPW//BoBlTpcWFD1EHVbidH21y4c1ap5bbEMSGAXjAShhMH4abi/K8fILrnu4BQ==", + "path": "system.security.cryptography.csp/4.0.0", + "hashPath": "system.security.cryptography.csp.4.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.Encoding/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FbKgE5MbxSQMPcSVRgwM6bXN3GtyAh04NkV8E5zKCBE26X0vYW0UtTa2FIgkH33WVqBVxRgxljlVYumWtU+HcQ==", + "path": "system.security.cryptography.encoding/4.0.0", + "hashPath": "system.security.cryptography.encoding.4.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.OpenSsl/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HUG/zNUJwEiLkoURDixzkzZdB5yGA5pQhDP93ArOpDPQMteURIGERRNzzoJlmTreLBWr5lkFSjjMSk8ySEpQMw==", + "path": "system.security.cryptography.openssl/4.0.0", + "hashPath": "system.security.cryptography.openssl.4.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.Primitives/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wkd7QryWYjkQclX0bngpntW5HSlMzeJU24UaLJQ7YTfI8ydAVAaU2J+HXLLABOVJlKTVvAeL0Aj39VeTe7L+oA==", + "path": "system.security.cryptography.primitives/4.0.0", + "hashPath": "system.security.cryptography.primitives.4.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.X509Certificates/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4HEfsQIKAhA1+ApNn729Gi09zh+lYWwyIuViihoMDWp1vQnEkL2ct7mAbhBlLYm+x/L4Rr/pyGge1lIY635e0w==", + "path": "system.security.cryptography.x509certificates/4.1.0", + "hashPath": "system.security.cryptography.x509certificates.4.1.0.nupkg.sha512" + }, + "System.Text.Encoding/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", + "path": "system.text.encoding/4.0.11", + "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", + "path": "system.text.encoding.extensions/4.0.11", + "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", + "path": "system.text.regularexpressions/4.1.0", + "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" + }, + "System.Threading/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", + "path": "system.threading/4.0.11", + "hashPath": "system.threading.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", + "path": "system.threading.tasks/4.0.11", + "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pH4FZDsZQ/WmgJtN4LWYmRdJAEeVkyriSwrv2Teoe5FOU0Yxlb6II6GL8dBPOfRmutHGATduj3ooMt7dJ2+i+w==", + "path": "system.threading.tasks.extensions/4.0.0", + "hashPath": "system.threading.tasks.extensions.4.0.0.nupkg.sha512" + }, + "System.Threading.Timer/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-saGfUV8uqVW6LeURiqxcGhZ24PzuRNaUBtbhVeuUAvky1naH395A/1nY0P2bWvrw/BreRtIB/EzTDkGBpqCwEw==", + "path": "system.threading.timer/4.0.1", + "hashPath": "system.threading.timer.4.0.1.nupkg.sha512" + }, + "System.Xml.ReaderWriter/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZIiLPsf67YZ9zgr31vzrFaYQqxRPX9cVHjtPSnmx4eN6lbS/yEyYNr2vs1doGDEscF0tjCZFsk9yUg1sC9e8tg==", + "path": "system.xml.readerwriter/4.0.11", + "hashPath": "system.xml.readerwriter.4.0.11.nupkg.sha512" + }, + "System.Xml.XDocument/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Mk2mKmPi0nWaoiYeotq1dgeNK1fqWh61+EK+w4Wu8SWuTYLzpUnschb59bJtGywaPq7SmTuPf44wrXRwbIrukg==", + "path": "system.xml.xdocument/4.0.11", + "hashPath": "system.xml.xdocument.4.0.11.nupkg.sha512" + }, + "ReferenceProject/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/_testdata/SampleProjectReference/gauge_bin/IntegrationTestSampleProjectReference.dll b/_testdata/SampleProjectReference/gauge_bin/IntegrationTestSampleProjectReference.dll new file mode 100644 index 0000000000000000000000000000000000000000..4dc1176b073248e267be1e84a33dcd60e1d176ea GIT binary patch literal 9728 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

cQn^Ovsvb_)~J`i8bX5P5WrGK}nrsk@T#(ecQb zmW&Umk+>Su#v;Sf^sd4-+he=6nd=t8mc789SwN-ny5-9Ch%Qm?1p zL{Fef_byD@AW1=^_ai_|1Ia2`456RyPaTbgNe>X;NHe4K4bW`~k_KMmn#}a3{uFPl NUU0a7VKae@e*j3CV8;Le delta 1732 zcmZWqZERCj7=F&VAMLufyS=4d*}Bp(VRhZw4hM(?V%-)Tifnu@gs?I$6T)^&*G(26 z-7o=63}K#N76Kyvkj#h#7ZOnakPrhJjm95HqJR=j2u6vCM);w=_udgdIL&$Pd7ty1 z_v^krcQiAaIdVw;*>8L^{%VxHK0dkLpG^TPLE~v)r!-z0^!5N=lG~bqHKLX`if&fV zj*BtEonn%$XG4PVpmL-fVB$M%q3GmQZ9c$*hG2%{Njl4c0QjJv$bAfuA$h{($!gVQ zRuJU{-(#_EQzL0ET$LNjU8)%n@9~ZJ;Byx!GiRNcNkmZQWeF8fgGxY2Se^p^cU3tTWU7j` zn$Fy)(Al41@>gwEi=5O{8znkHxg|YGs137u!pVApla6G@#97H;dqqgDXECuvt}MkU zV5))@G!&YY5?nON2#t5SB~v^o=i4L|n`|`LJgEW)B#S@7_HY$#{5IiF%)&_{)L#=IkIkQ|I<5#(k8d zd58>!k%b~xVSv^ueusrUgfZO311?fZq}3<2$jy|G_0#YLcO;3VDd`S6<5pfjvd!{6 zV)|_9K%|izGUOczN5v~jbxphUfU2{**3uutX)>VTxGj;sxTI8;j#9B0zNUSSE-EC$ zEm}Jac_Vf{%Frk=>I=)mOhOMHC)Chv<02cgHg?$9Wn;IEBQ~BQRFSjMYvUxs@*H@( zaUKnr#3`P^Ib5XvzJ$Ya7BlcIR#C`tc{ienNr&(l+T{t1;}SoCFR=k{5i=~G#&y&) z6^&%{ecVB}e1ZO7A4&}nAF0uWyI2ZO;2_~*yhhlHlZ4N~;#U*)U?bjPqlEX^n}jVK ztQW(g!ZoMVLe-Edf2WIp&oSLl)MM1<_P9o`-x@M${iF9QwSdJ1X*%N;z3@l5fPLh@ zJ}yt6<&l3Gd|-EUJ)WgBKAF1c^7E;iWfxiH>XE^s(Vtp1G*H~$Z=~9H7mb0z?WQ?KWpvg%hk&!@1NWA$E>R>Ev@v6X1|f9y5{=R`GUE_=q(PW`*K5l zM$=ZaIA9dhn~TO^aci!aORqAv83kjY*XVQ<)8>{P={94_P+yu9dnt=tK2NbfqL|8W z-GbGkM^oob$8hb=bPSZqipIA;y|CAJ{i&M=%i`N9+K1z1YaJi24bxZRtd?})uQ`ZA zn+k*rO!)PsKF#hPM_m)$`bm}-_w_pV{8UZwHj^??g%nDP{h^Y$r>!ZAJ0GKorDWk3 IHlA_)4P}@)qW}N^ diff --git a/_testdata/SampleProjectReference/gauge_bin/ReferenceProject.pdb b/_testdata/SampleProjectReference/gauge_bin/ReferenceProject.pdb index 8df94d6282735933f1d58ba800ed19ebf47559a8..84bd2a22631b95c6b08e9e8cc47cfed38cc14027 100644 GIT binary patch literal 12228 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 delta 739 zcmYjPZAepL6h7}er(2dS=hW2P{6H<%6-`RELYIp%tSsjT1!CL0xS89%?A{p`)^!9C z^+UNPg?))e*%$f4sOV#n86pzYpCIUuW<@CeurCtn+=0-KbIx;~^Stl#9_}4)zL?lk z7HA;=c_#tNDS#OeyTp(`*eW1|7Ubd-uHFSc#FYwm)I051Z(+ZPk+-{@^I(6q(OBO+ zp6M9*GkW5;ak56r>z+m$8q=sos{ue8$nG6XGh`!3!cZ<&V<>}!-sx@jcmyoA98f4A z1WE`6KP7OSQh17W8Y_VwQ~@e#aVlfn#fZaqC|o9$?Ic>7j8M6ECFWrQ6%4`=%;$-O zd4ycY{DVYed=xbXDmTzt`76yS(mCAWR+g!9`P?C%+3WXELgIW}fK>}3>ker65ZA_f zML}j%J1exsV8}3S-d=go^s%bTdhU=rXX!#|d^B9)xcu<(gKOXWQkwquubu639@F8L zL|sH+3$4}wp`A39$j_O>bsLB@Or$$Rnjq3ULWneDaEUDM4Dju2fDMXn(a!}Ludrs- zt6OK<=*WIK@BQ*5`O?VSWp4e#zF)VE@Tw!LC2K4&H9AuvpJuGa1dG-}ECv<&W@riI zQ;h}+DWt{BiC(TQcAiQi`gj|$kuD05E;(Qh7X;a%- zPq=kmkQKdLh;{RPDO18Q`}fpUVQb@ga|0U^@WHz}lz~kU*np?K( z7m4H+MhYV4h{cpR`)FuRVru56CMVwC|8%yz|IFM_lQmquctF_nb4R+Ism>|;?_BKI ofGKgns$cGVw(u=wc**|a%IDnIwdq@rzFF$_eYlxA)^r2lAIVU{x&QzG diff --git a/integration-test/ExecuteStepProcessorTests.cs b/integration-test/ExecuteStepProcessorTests.cs index 0009623..7b6a402 100644 --- a/integration-test/ExecuteStepProcessorTests.cs +++ b/integration-test/ExecuteStepProcessorTests.cs @@ -5,103 +5,101 @@ *----------------------------------------------------------------*/ -using System.Threading; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Models; using Gauge.Dotnet.Processors; using Gauge.Dotnet.Wrappers; using Gauge.Messages; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Logging; -namespace Gauge.Dotnet.IntegrationTests +namespace Gauge.Dotnet.IntegrationTests; + +public class ExecuteStepProcessorTests : IntegrationTestsBase { - public class ExecuteStepProcessorTests : IntegrationTestsBase + [Test] + public async Task ShouldExecuteMethodFromRequest() { - [Test] - public void ShouldExecuteMethodFromRequest() - { - const string parameterizedStepText = "Step that takes a table {}"; - const string stepText = "Step that takes a table "; - var reflectionWrapper = new ReflectionWrapper(); - var activatorWrapper = new ActivatorWrapper(); - var path = new AssemblyLocater(new DirectoryWrapper()).GetTestAssembly(); - var assemblyLoader = new AssemblyLoader(path, new GaugeLoadContext(path), reflectionWrapper, activatorWrapper, new StepRegistry()); - var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); - var classInstanceManager = assemblyLoader.GetClassInstanceManager(); - var orchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, - classInstanceManager, - new HookExecutor(assemblyLoader, reflectionWrapper, classInstanceManager, executionInfoMapper), - new StepExecutor(assemblyLoader, reflectionWrapper, classInstanceManager)); + const string parameterizedStepText = "Step that takes a table {}"; + const string stepText = "Step that takes a table
"; + var reflectionWrapper = new ReflectionWrapper(); + var activatorWrapper = new ActivatorWrapper(); + var assemblyLocater = new AssemblyLocater(new DirectoryWrapper(), _configuration); + var assemblyLoader = new AssemblyLoader(assemblyLocater, new GaugeLoadContext(assemblyLocater, _loggerFactory.CreateLogger()), reflectionWrapper, + activatorWrapper, new StepRegistry(), _loggerFactory.CreateLogger()); + var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); + var hookRegistry = new HookRegistry(assemblyLoader); + var orchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, + new HookExecutor(assemblyLoader, executionInfoMapper, hookRegistry, _loggerFactory.CreateLogger()), + new StepExecutor(assemblyLoader, _loggerFactory.CreateLogger()), _configuration, _loggerFactory.CreateLogger()); - var executeStepProcessor = new ExecuteStepProcessor(assemblyLoader.GetStepRegistry(), - orchestrator, new TableFormatter(assemblyLoader, activatorWrapper)); + var executeStepProcessor = new ExecuteStepProcessor(assemblyLoader.GetStepRegistry(), + orchestrator, new TableFormatter(assemblyLoader, activatorWrapper)); - var protoTable = new ProtoTable + var protoTable = new ProtoTable + { + Headers = new ProtoTableRow + { + Cells = { "foo", "bar" } + }, + Rows = { - Headers = new ProtoTableRow + new ProtoTableRow { - Cells = { "foo", "bar" } - }, - Rows = + Cells = {"foorow1", "foorow2"} + } + } + }; + var message = new ExecuteStepRequest + { + ParsedStepText = parameterizedStepText, + ActualStepText = stepText, + Parameters = { - new ProtoTableRow + new Parameter { - Cells = {"foorow1", "foorow2"} + Name = "table", + ParameterType = Parameter.Types.ParameterType.Table, + Table = protoTable } } - }; - var message = new ExecuteStepRequest - { - ParsedStepText = parameterizedStepText, - ActualStepText = stepText, - Parameters = - { - new Parameter - { - Name = "table", - ParameterType = Parameter.Types.ParameterType.Table, - Table = protoTable - } - } - }; - var result = executeStepProcessor.Process(message); + }; + var result = await executeStepProcessor.Process(1, message); - var protoExecutionResult = result.ExecutionResult; - ClassicAssert.IsNotNull(protoExecutionResult); - ClassicAssert.IsFalse(protoExecutionResult.Failed); - } + var protoExecutionResult = result.ExecutionResult; + ClassicAssert.IsNotNull(protoExecutionResult); + ClassicAssert.IsFalse(protoExecutionResult.Failed); + } - [Test] - public void ShouldCaptureScreenshotOnFailure() - { - const string stepText = "I throw a serializable exception"; - var reflectionWrapper = new ReflectionWrapper(); - var activatorWrapper = new ActivatorWrapper(); - var path = new AssemblyLocater(new DirectoryWrapper()).GetTestAssembly(); - var assemblyLoader = new AssemblyLoader(path, new GaugeLoadContext(path), reflectionWrapper, activatorWrapper, new StepRegistry()); - var classInstanceManager = new ThreadLocal(() => assemblyLoader.GetClassInstanceManager()); - var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); - var orchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, - classInstanceManager, - new HookExecutor(assemblyLoader, reflectionWrapper, classInstanceManager, executionInfoMapper), - new StepExecutor(assemblyLoader, reflectionWrapper, classInstanceManager)); + [Test] + public async Task ShouldCaptureScreenshotOnFailure() + { + const string stepText = "I throw a serializable exception"; + var reflectionWrapper = new ReflectionWrapper(); + var activatorWrapper = new ActivatorWrapper(); + var assemblyLocator = new AssemblyLocater(new DirectoryWrapper(), _configuration); + var assemblyLoader = new AssemblyLoader(assemblyLocator, new GaugeLoadContext(assemblyLocator, _loggerFactory.CreateLogger()), reflectionWrapper, + activatorWrapper, new StepRegistry(), _loggerFactory.CreateLogger()); + var hookRegistry = new HookRegistry(assemblyLoader); + var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); + var orchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, + new HookExecutor(assemblyLoader, executionInfoMapper, hookRegistry, _loggerFactory.CreateLogger()), + new StepExecutor(assemblyLoader, _loggerFactory.CreateLogger()), _configuration, _loggerFactory.CreateLogger()); - var executeStepProcessor = new ExecuteStepProcessor(assemblyLoader.GetStepRegistry(), - orchestrator, new TableFormatter(assemblyLoader, activatorWrapper)); + var executeStepProcessor = new ExecuteStepProcessor(assemblyLoader.GetStepRegistry(), + orchestrator, new TableFormatter(assemblyLoader, activatorWrapper)); - var message = new ExecuteStepRequest - { - ParsedStepText = stepText, - ActualStepText = stepText - }; + var message = new ExecuteStepRequest + { + ParsedStepText = stepText, + ActualStepText = stepText + }; - var result = executeStepProcessor.Process(message); - var protoExecutionResult = result.ExecutionResult; + var result = await executeStepProcessor.Process(1, message); + var protoExecutionResult = result.ExecutionResult; - ClassicAssert.IsNotNull(protoExecutionResult); - ClassicAssert.IsTrue(protoExecutionResult.Failed); - ClassicAssert.AreEqual("screenshot.png", protoExecutionResult.FailureScreenshotFile); - } + ClassicAssert.IsNotNull(protoExecutionResult); + ClassicAssert.IsTrue(protoExecutionResult.Failed); + ClassicAssert.AreEqual("screenshot.png", protoExecutionResult.FailureScreenshotFile); } } \ No newline at end of file diff --git a/integration-test/ExecutionOrchestratorTests.cs b/integration-test/ExecutionOrchestratorTests.cs index d326bce..4b6434f 100644 --- a/integration-test/ExecutionOrchestratorTests.cs +++ b/integration-test/ExecutionOrchestratorTests.cs @@ -5,186 +5,184 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; using Gauge.CSharp.Lib; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Models; using Gauge.Dotnet.Wrappers; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Logging; -namespace Gauge.Dotnet.IntegrationTests +namespace Gauge.Dotnet.IntegrationTests; + +[TestFixture] +public class ExecutionOrchestratorTests : IntegrationTestsBase { - [TestFixture] - public class ExecutionOrchestratorTests : IntegrationTestsBase + [Test] + public async Task RecoverableIsTrueOnExceptionThrownWhenContinueOnFailure() + { + var reflectionWrapper = new ReflectionWrapper(); + var activatorWrapper = new ActivatorWrapper(); + var assemblyLocator = new AssemblyLocater(new DirectoryWrapper(), _configuration); + var assemblyLoader = new AssemblyLoader(assemblyLocator, new GaugeLoadContext(assemblyLocator, _loggerFactory.CreateLogger()), reflectionWrapper, + activatorWrapper, new StepRegistry(), _loggerFactory.CreateLogger()); + var hookRegistry = new HookRegistry(assemblyLoader); + var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); + var orchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, + new HookExecutor(assemblyLoader, executionInfoMapper, hookRegistry, _loggerFactory.CreateLogger()), + new StepExecutor(assemblyLoader, _loggerFactory.CreateLogger()), _configuration, _loggerFactory.CreateLogger()); + var gaugeMethod = assemblyLoader.GetStepRegistry() + .MethodFor("I throw a serializable exception and continue"); + var executionResult = await orchestrator.ExecuteStep(gaugeMethod, 1); + ClassicAssert.IsTrue(executionResult.Failed); + ClassicAssert.IsTrue(executionResult.RecoverableError); + } + + [Test] + public async Task ShouldCreateTableFromTargetType() + { + var reflectionWrapper = new ReflectionWrapper(); + var activatorWrapper = new ActivatorWrapper(); + var assemblyLocator = new AssemblyLocater(new DirectoryWrapper(), _configuration); + var assemblyLoader = new AssemblyLoader(assemblyLocator, new GaugeLoadContext(assemblyLocator, _loggerFactory.CreateLogger()), reflectionWrapper, + activatorWrapper, new StepRegistry(), _loggerFactory.CreateLogger()); + var hookRegistry = new HookRegistry(assemblyLoader); + var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); + var orchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, + new HookExecutor(assemblyLoader, executionInfoMapper, hookRegistry, _loggerFactory.CreateLogger()), + new StepExecutor(assemblyLoader, _loggerFactory.CreateLogger()), _configuration, _loggerFactory.CreateLogger()); + var gaugeMethod = assemblyLoader.GetStepRegistry().MethodFor("Step that takes a table {}"); + var table = new Table(new List { "foo", "bar" }); + table.AddRow(new List { "foorow1", "barrow1" }); + table.AddRow(new List { "foorow2", "barrow2" }); + + var executionResult = await orchestrator.ExecuteStep(gaugeMethod, 1, SerializeTable(table)); + ClassicAssert.False(executionResult.Failed); + } + + [Test] + public async Task ShouldExecuteMethodAndReturnResult() + { + var reflectionWrapper = new ReflectionWrapper(); + var activatorWrapper = new ActivatorWrapper(); + var assemblyLocator = new AssemblyLocater(new DirectoryWrapper(), _configuration); + var assemblyLoader = new AssemblyLoader(assemblyLocator, new GaugeLoadContext(assemblyLocator, _loggerFactory.CreateLogger()), reflectionWrapper, + activatorWrapper, new StepRegistry(), _loggerFactory.CreateLogger()); + var hookRegistry = new HookRegistry(assemblyLoader); + var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); + var orchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, + new HookExecutor(assemblyLoader, executionInfoMapper, hookRegistry, _loggerFactory.CreateLogger()), + new StepExecutor(assemblyLoader, _loggerFactory.CreateLogger()), _configuration, _loggerFactory.CreateLogger()); + var gaugeMethod = assemblyLoader.GetStepRegistry() + .MethodFor("A context step which gets executed before every scenario"); + + var executionResult = await orchestrator.ExecuteStep(gaugeMethod, 1); + ClassicAssert.False(executionResult.Failed); + } + + + [Test] + public async Task ShouldGetPendingMessages() + { + var reflectionWrapper = new ReflectionWrapper(); + var activatorWrapper = new ActivatorWrapper(); + var assemblyLocator = new AssemblyLocater(new DirectoryWrapper(), _configuration); + var assemblyLoader = new AssemblyLoader(assemblyLocator, new GaugeLoadContext(assemblyLocator, _loggerFactory.CreateLogger()), reflectionWrapper, + activatorWrapper, new StepRegistry(), _loggerFactory.CreateLogger()); + var hookRegistry = new HookRegistry(assemblyLoader); + var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); + var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, + new HookExecutor(assemblyLoader, executionInfoMapper, hookRegistry, _loggerFactory.CreateLogger()), + new StepExecutor(assemblyLoader, _loggerFactory.CreateLogger()), _configuration, _loggerFactory.CreateLogger()); + + var gaugeMethod = assemblyLoader.GetStepRegistry().MethodFor("Say {} to {}"); + + var executionResult = await executionOrchestrator.ExecuteStep(gaugeMethod, 1, "hello", "world"); + + ClassicAssert.False(executionResult.Failed); + ClassicAssert.Contains("hello, world!", executionResult.Message); + } + + [Test] + public async Task ShouldGetStacktraceForAggregateException() + { + var reflectionWrapper = new ReflectionWrapper(); + var activatorWrapper = new ActivatorWrapper(); + var assemblyLocator = new AssemblyLocater(new DirectoryWrapper(), _configuration); + var assemblyLoader = new AssemblyLoader(assemblyLocator, new GaugeLoadContext(assemblyLocator, _loggerFactory.CreateLogger()), reflectionWrapper, + activatorWrapper, new StepRegistry(), _loggerFactory.CreateLogger()); + var hookRegistry = new HookRegistry(assemblyLoader); + var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); + var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, + new HookExecutor(assemblyLoader, executionInfoMapper, hookRegistry, _loggerFactory.CreateLogger()), + new StepExecutor(assemblyLoader, _loggerFactory.CreateLogger()), _configuration, _loggerFactory.CreateLogger()); + + var gaugeMethod = assemblyLoader.GetStepRegistry().MethodFor("I throw an AggregateException"); + var executionResult = await executionOrchestrator.ExecuteStep(gaugeMethod, 1); + + ClassicAssert.True(executionResult.Failed); + ClassicAssert.True(executionResult.StackTrace.Contains("First Exception")); + ClassicAssert.True(executionResult.StackTrace.Contains("Second Exception")); + } + + [Test] + public void ShouldGetStepTextsForMethod() + { + var reflectionWrapper = new ReflectionWrapper(); + var activatorWrapper = new ActivatorWrapper(); + var assemblyLocator = new AssemblyLocater(new DirectoryWrapper(), _configuration); + var assemblyLoader = new AssemblyLoader(assemblyLocator, new GaugeLoadContext(assemblyLocator, _loggerFactory.CreateLogger()), reflectionWrapper, + activatorWrapper, new StepRegistry(), _loggerFactory.CreateLogger()); + var registry = assemblyLoader.GetStepRegistry(); + var gaugeMethod = registry.MethodFor("and an alias"); + var stepTexts = gaugeMethod.Aliases.ToList(); + + ClassicAssert.Contains("Step with text", stepTexts); + ClassicAssert.Contains("and an alias", stepTexts); + } + + [Test] + public async Task SuccessIsFalseOnSerializableExceptionThrown() + { + const string expectedMessage = "I am a custom serializable exception"; + var reflectionWrapper = new ReflectionWrapper(); + var activatorWrapper = new ActivatorWrapper(); + var assemblyLocator = new AssemblyLocater(new DirectoryWrapper(), _configuration); + var assemblyLoader = new AssemblyLoader(assemblyLocator, new GaugeLoadContext(assemblyLocator, _loggerFactory.CreateLogger()), reflectionWrapper, + activatorWrapper, new StepRegistry(), _loggerFactory.CreateLogger()); + var hookRegistry = new HookRegistry(assemblyLoader); + var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); + var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, + new HookExecutor(assemblyLoader, executionInfoMapper, hookRegistry, _loggerFactory.CreateLogger()), + new StepExecutor(assemblyLoader, _loggerFactory.CreateLogger()), _configuration, _loggerFactory.CreateLogger()); + var gaugeMethod = assemblyLoader.GetStepRegistry().MethodFor("I throw a serializable exception"); + + var executionResult = await executionOrchestrator.ExecuteStep(gaugeMethod, 1); + + ClassicAssert.True(executionResult.Failed); + ClassicAssert.AreEqual(expectedMessage, executionResult.ErrorMessage); + StringAssert.Contains("IntegrationTestSample.StepImplementation.ThrowSerializableException", + executionResult.StackTrace); + } + + [Test] + public async Task SuccessIsFalseOnUnserializableExceptionThrown() { - [Test] - public void RecoverableIsTrueOnExceptionThrownWhenContinueOnFailure() - { - var reflectionWrapper = new ReflectionWrapper(); - var activatorWrapper = new ActivatorWrapper(); - var path = new AssemblyLocater(new DirectoryWrapper()).GetTestAssembly(); - var assemblyLoader = new AssemblyLoader(path, new GaugeLoadContext(path), reflectionWrapper, activatorWrapper, new StepRegistry()); - var classInstanceManager = assemblyLoader.GetClassInstanceManager(); - var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); - var orchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, - classInstanceManager, - new HookExecutor(assemblyLoader, reflectionWrapper, classInstanceManager, executionInfoMapper), - new StepExecutor(assemblyLoader, reflectionWrapper, classInstanceManager)); - var gaugeMethod = assemblyLoader.GetStepRegistry() - .MethodFor("I throw a serializable exception and continue"); - var executionResult = orchestrator.ExecuteStep(gaugeMethod); - ClassicAssert.IsTrue(executionResult.Failed); - ClassicAssert.IsTrue(executionResult.RecoverableError); - } - - [Test] - public void ShouldCreateTableFromTargetType() - { - var reflectionWrapper = new ReflectionWrapper(); - var activatorWrapper = new ActivatorWrapper(); - var path = new AssemblyLocater(new DirectoryWrapper()).GetTestAssembly(); - var assemblyLoader = new AssemblyLoader(path, new GaugeLoadContext(path), reflectionWrapper, activatorWrapper, new StepRegistry()); - var classInstanceManager = assemblyLoader.GetClassInstanceManager(); - var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); - var orchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, - classInstanceManager, - new HookExecutor(assemblyLoader, reflectionWrapper, classInstanceManager, executionInfoMapper), - new StepExecutor(assemblyLoader, reflectionWrapper, classInstanceManager)); - var gaugeMethod = assemblyLoader.GetStepRegistry().MethodFor("Step that takes a table {}"); - var table = new Table(new List { "foo", "bar" }); - table.AddRow(new List { "foorow1", "barrow1" }); - table.AddRow(new List { "foorow2", "barrow2" }); - - var executionResult = orchestrator.ExecuteStep(gaugeMethod, SerializeTable(table)); - ClassicAssert.False(executionResult.Failed); - } - - [Test] - public void ShouldExecuteMethodAndReturnResult() - { - var reflectionWrapper = new ReflectionWrapper(); - var activatorWrapper = new ActivatorWrapper(); - var path = new AssemblyLocater(new DirectoryWrapper()).GetTestAssembly(); - var assemblyLoader = new AssemblyLoader(path, new GaugeLoadContext(path), reflectionWrapper, activatorWrapper, new StepRegistry()); - var classInstanceManager = assemblyLoader.GetClassInstanceManager(); - var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); - var orchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, - classInstanceManager, - new HookExecutor(assemblyLoader, reflectionWrapper, classInstanceManager, executionInfoMapper), - new StepExecutor(assemblyLoader, reflectionWrapper, classInstanceManager)); - var gaugeMethod = assemblyLoader.GetStepRegistry() - .MethodFor("A context step which gets executed before every scenario"); - - var executionResult = orchestrator.ExecuteStep(gaugeMethod); - ClassicAssert.False(executionResult.Failed); - } - - - [Test] - public void ShouldGetPendingMessages() - { - var reflectionWrapper = new ReflectionWrapper(); - var activatorWrapper = new ActivatorWrapper(); - var path = new AssemblyLocater(new DirectoryWrapper()).GetTestAssembly(); - var assemblyLoader = new AssemblyLoader(path, new GaugeLoadContext(path), reflectionWrapper, activatorWrapper, new StepRegistry()); - var classInstanceManager = assemblyLoader.GetClassInstanceManager(); - var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); - var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, - classInstanceManager, - new HookExecutor(assemblyLoader, reflectionWrapper, classInstanceManager, executionInfoMapper), - new StepExecutor(assemblyLoader, reflectionWrapper, classInstanceManager)); - - var gaugeMethod = assemblyLoader.GetStepRegistry().MethodFor("Say {} to {}"); - - var executionResult = executionOrchestrator.ExecuteStep(gaugeMethod, "hello", "world"); - - ClassicAssert.False(executionResult.Failed); - ClassicAssert.Contains("hello, world!", executionResult.Message); - } - - [Test] - public void ShouldGetStacktraceForAggregateException() - { - var reflectionWrapper = new ReflectionWrapper(); - var activatorWrapper = new ActivatorWrapper(); - var path = new AssemblyLocater(new DirectoryWrapper()).GetTestAssembly(); - var assemblyLoader = new AssemblyLoader(path, new GaugeLoadContext(path), reflectionWrapper, activatorWrapper, new StepRegistry()); - var classInstanceManager = assemblyLoader.GetClassInstanceManager(); - var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); - var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, - classInstanceManager, - new HookExecutor(assemblyLoader, reflectionWrapper, classInstanceManager, executionInfoMapper), - new StepExecutor(assemblyLoader, reflectionWrapper, classInstanceManager)); - - var gaugeMethod = assemblyLoader.GetStepRegistry().MethodFor("I throw an AggregateException"); - var executionResult = executionOrchestrator.ExecuteStep(gaugeMethod); - - ClassicAssert.True(executionResult.Failed); - ClassicAssert.True(executionResult.StackTrace.Contains("First Exception")); - ClassicAssert.True(executionResult.StackTrace.Contains("Second Exception")); - } - - [Test] - public void ShouldGetStepTextsForMethod() - { - var reflectionWrapper = new ReflectionWrapper(); - var activatorWrapper = new ActivatorWrapper(); - var path = new AssemblyLocater(new DirectoryWrapper()).GetTestAssembly(); - var assemblyLoader = new AssemblyLoader(path, new GaugeLoadContext(path), reflectionWrapper, activatorWrapper, new StepRegistry()); - var registry = assemblyLoader.GetStepRegistry(); - var gaugeMethod = registry.MethodFor("and an alias"); - var stepTexts = gaugeMethod.Aliases.ToList(); - - ClassicAssert.Contains("Step with text", stepTexts); - ClassicAssert.Contains("and an alias", stepTexts); - } - - [Test] - public void SuccessIsFalseOnSerializableExceptionThrown() - { - const string expectedMessage = "I am a custom serializable exception"; - var reflectionWrapper = new ReflectionWrapper(); - var activatorWrapper = new ActivatorWrapper(); - var path = new AssemblyLocater(new DirectoryWrapper()).GetTestAssembly(); - var assemblyLoader = new AssemblyLoader(path, new GaugeLoadContext(path), reflectionWrapper, activatorWrapper, new StepRegistry()); - var classInstanceManager = assemblyLoader.GetClassInstanceManager(); - var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); - var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, - classInstanceManager, - new HookExecutor(assemblyLoader, reflectionWrapper, classInstanceManager, executionInfoMapper), - new StepExecutor(assemblyLoader, reflectionWrapper, classInstanceManager)); - var gaugeMethod = assemblyLoader.GetStepRegistry().MethodFor("I throw a serializable exception"); - - var executionResult = executionOrchestrator.ExecuteStep(gaugeMethod); - - ClassicAssert.True(executionResult.Failed); - ClassicAssert.AreEqual(expectedMessage, executionResult.ErrorMessage); - StringAssert.Contains("IntegrationTestSample.StepImplementation.ThrowSerializableException", - executionResult.StackTrace); - } - - [Test] - public void SuccessIsFalseOnUnserializableExceptionThrown() - { - const string expectedMessage = "I am a custom exception"; - var reflectionWrapper = new ReflectionWrapper(); - var activatorWrapper = new ActivatorWrapper(); - var path = new AssemblyLocater(new DirectoryWrapper()).GetTestAssembly(); - var assemblyLoader = new AssemblyLoader(path, new GaugeLoadContext(path), reflectionWrapper, activatorWrapper, new StepRegistry()); - var classInstanceManager = assemblyLoader.GetClassInstanceManager(); - var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); - var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, - classInstanceManager, - new HookExecutor(assemblyLoader, reflectionWrapper, classInstanceManager, executionInfoMapper), - new StepExecutor(assemblyLoader, reflectionWrapper, classInstanceManager)); - - var gaugeMethod = assemblyLoader.GetStepRegistry().MethodFor("I throw an unserializable exception"); - var executionResult = executionOrchestrator.ExecuteStep(gaugeMethod); - ClassicAssert.True(executionResult.Failed); - ClassicAssert.AreEqual(expectedMessage, executionResult.ErrorMessage); - StringAssert.Contains("IntegrationTestSample.StepImplementation.ThrowUnserializableException", - executionResult.StackTrace); - } + const string expectedMessage = "I am a custom exception"; + var reflectionWrapper = new ReflectionWrapper(); + var activatorWrapper = new ActivatorWrapper(); + var assemblyLocator = new AssemblyLocater(new DirectoryWrapper(), _configuration); + var assemblyLoader = new AssemblyLoader(assemblyLocator, new GaugeLoadContext(assemblyLocator, _loggerFactory.CreateLogger()), reflectionWrapper, + activatorWrapper, new StepRegistry(), _loggerFactory.CreateLogger()); + var hookRegistry = new HookRegistry(assemblyLoader); + var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); + var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, + new HookExecutor(assemblyLoader, executionInfoMapper, hookRegistry, _loggerFactory.CreateLogger()), + new StepExecutor(assemblyLoader, _loggerFactory.CreateLogger()), _configuration, _loggerFactory.CreateLogger()); + + var gaugeMethod = assemblyLoader.GetStepRegistry().MethodFor("I throw an unserializable exception"); + var executionResult = await executionOrchestrator.ExecuteStep(gaugeMethod, 1); + ClassicAssert.True(executionResult.Failed); + ClassicAssert.AreEqual(expectedMessage, executionResult.ErrorMessage); + StringAssert.Contains("IntegrationTestSample.StepImplementation.ThrowUnserializableException", + executionResult.StackTrace); } } \ No newline at end of file diff --git a/integration-test/ExternalReferenceTests.cs b/integration-test/ExternalReferenceTests.cs index d7df069..f55e912 100644 --- a/integration-test/ExternalReferenceTests.cs +++ b/integration-test/ExternalReferenceTests.cs @@ -5,79 +5,82 @@ *----------------------------------------------------------------*/ -using System; -using System.Threading; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Models; using Gauge.Dotnet.Processors; using Gauge.Dotnet.Wrappers; using Gauge.Messages; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Logging; -namespace Gauge.Dotnet.IntegrationTests -{ - public class ExternalReferenceTests - { - [Test] - [TestCase("DllReference", "Dll Reference: Vowels in English language are {}.", "Dll Reference: Vowels in English language are .", "Dll Reference: Vowels in English language are \"aeiou\".")] - [TestCase("ProjectReference", "Project Reference: Vowels in English language are {}.", "Project Reference: Vowels in English language are .", "Project Reference: Vowels in English language are \"aeiou\".")] - public void ShouldGetStepsFromReference(string referenceType, string stepText, string stepValue, string parameterizedStepValue) - { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", TestUtils.GetIntegrationTestSampleDirectory(referenceType)); - var path = new AssemblyLocater(new DirectoryWrapper()).GetTestAssembly(); - var assemblyLoader = new AssemblyLoader(path, new GaugeLoadContext(path), new ReflectionWrapper(), new ActivatorWrapper(), new StepRegistry()); +namespace Gauge.Dotnet.IntegrationTests; - var stepValidationProcessor = new StepValidationProcessor(assemblyLoader.GetStepRegistry()); - var message = new StepValidateRequest - { - StepText = stepText, - StepValue = new ProtoStepValue { StepValue = stepValue, ParameterizedStepValue = parameterizedStepValue }, - NumberOfParameters = 1, - }; - var result = stepValidationProcessor.Process(message); +public class ExternalReferenceTests +{ + protected readonly ILoggerFactory _loggerFactory = new LoggerFactory(); - ClassicAssert.IsTrue(result.IsValid, $"Expected valid step text, got error: {result.ErrorMessage}"); - } + [Test] + [TestCase("DllReference", "Dll Reference: Vowels in English language are {}.", "Dll Reference: Vowels in English language are .", "Dll Reference: Vowels in English language are \"aeiou\".")] + [TestCase("ProjectReference", "Project Reference: Vowels in English language are {}.", "Project Reference: Vowels in English language are .", "Project Reference: Vowels in English language are \"aeiou\".")] + public async Task ShouldGetStepsFromReference(string referenceType, string stepText, string stepValue, string parameterizedStepValue) + { + var testProjectPath = TestUtils.GetIntegrationTestSampleDirectory(referenceType); + var builder = new ConfigurationBuilder(); + builder.AddInMemoryCollection(new Dictionary { { "GAUGE_PROJECT_ROOT", testProjectPath } }); + var config = builder.Build(); + var assemblyLocator = new AssemblyLocater(new DirectoryWrapper(), config); + var assemblyLoader = new AssemblyLoader(assemblyLocator, new GaugeLoadContext(assemblyLocator, _loggerFactory.CreateLogger()), + new ReflectionWrapper(), new ActivatorWrapper(), new StepRegistry(), _loggerFactory.CreateLogger()); - [Test] - [TestCase("ProjectReference", "Take Screenshot in reference Project", "ReferenceProject-IDoNotExist.png")] - [TestCase("DllReference", "Take Screenshot in reference DLL", "ReferenceDll-IDoNotExist.png")] - public void ShouldRegisterScreenshotWriterFromReference(string referenceType, string stepText, string expected) + var stepValidationProcessor = new StepValidationProcessor(assemblyLoader.GetStepRegistry()); + var message = new StepValidateRequest { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", TestUtils.GetIntegrationTestSampleDirectory(referenceType)); - var reflectionWrapper = new ReflectionWrapper(); - var activatorWrapper = new ActivatorWrapper(); - var path = new AssemblyLocater(new DirectoryWrapper()).GetTestAssembly(); - var assemblyLoader = new AssemblyLoader(path, new GaugeLoadContext(path), reflectionWrapper, activatorWrapper, new StepRegistry()); - var classInstanceManager = new ThreadLocal(() => assemblyLoader.GetClassInstanceManager()).Value; - var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); - var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, - classInstanceManager, - new HookExecutor(assemblyLoader, reflectionWrapper, classInstanceManager, executionInfoMapper), - new StepExecutor(assemblyLoader, reflectionWrapper, classInstanceManager)); + StepText = stepText, + StepValue = new ProtoStepValue { StepValue = stepValue, ParameterizedStepValue = parameterizedStepValue }, + NumberOfParameters = 1, + }; + var result = await stepValidationProcessor.Process(1, message); + + ClassicAssert.IsTrue(result.IsValid, $"Expected valid step text, got error: {result.ErrorMessage}"); + } - var executeStepProcessor = new ExecuteStepProcessor(assemblyLoader.GetStepRegistry(), - executionOrchestrator, new TableFormatter(assemblyLoader, activatorWrapper)); - var message = new ExecuteStepRequest - { - ParsedStepText = stepText, - ActualStepText = stepText - }; + [Test] + [TestCase("ProjectReference", "Take Screenshot in reference Project", "ReferenceProject-IDoNotExist.png")] + [TestCase("DllReference", "Take Screenshot in reference DLL", "ReferenceDll-IDoNotExist.png")] + public async Task ShouldRegisterScreenshotWriterFromReference(string referenceType, string stepText, string expected) + { + var testProjectPath = TestUtils.GetIntegrationTestSampleDirectory(referenceType); + var builder = new ConfigurationBuilder(); + builder.AddInMemoryCollection(new Dictionary { { "GAUGE_PROJECT_ROOT", testProjectPath } }); + var config = builder.Build(); - var result = executeStepProcessor.Process(message); - var protoExecutionResult = result.ExecutionResult; + var reflectionWrapper = new ReflectionWrapper(); + var activatorWrapper = new ActivatorWrapper(); + var assemblyLocator = new AssemblyLocater(new DirectoryWrapper(), config); + var assemblyLoader = new AssemblyLoader(assemblyLocator, new GaugeLoadContext(assemblyLocator, _loggerFactory.CreateLogger()), reflectionWrapper, + activatorWrapper, new StepRegistry(), _loggerFactory.CreateLogger()); + var hookRegistry = new HookRegistry(assemblyLoader); + var executionInfoMapper = new ExecutionInfoMapper(assemblyLoader, activatorWrapper); + var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, + new HookExecutor(assemblyLoader, executionInfoMapper, hookRegistry, _loggerFactory.CreateLogger()), + new StepExecutor(assemblyLoader, _loggerFactory.CreateLogger()), config, _loggerFactory.CreateLogger()); - ClassicAssert.IsNotNull(protoExecutionResult); - Console.WriteLine(protoExecutionResult.ScreenshotFiles[0]); - ClassicAssert.AreEqual(protoExecutionResult.ScreenshotFiles[0], expected); - } + var executeStepProcessor = new ExecuteStepProcessor(assemblyLoader.GetStepRegistry(), + executionOrchestrator, new TableFormatter(assemblyLoader, activatorWrapper)); - [TearDown] - public void TearDown() + var message = new ExecuteStepRequest { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", null); - } + ParsedStepText = stepText, + ActualStepText = stepText + }; + + var result = await executeStepProcessor.Process(1, message); + var protoExecutionResult = result.ExecutionResult; + + ClassicAssert.IsNotNull(protoExecutionResult); + Console.WriteLine(protoExecutionResult.ScreenshotFiles[0]); + ClassicAssert.AreEqual(protoExecutionResult.ScreenshotFiles[0], expected); } } \ No newline at end of file diff --git a/integration-test/Gauge.Dotnet.IntegrationTests.csproj b/integration-test/Gauge.Dotnet.IntegrationTests.csproj index 5a2db39..4741f80 100644 --- a/integration-test/Gauge.Dotnet.IntegrationTests.csproj +++ b/integration-test/Gauge.Dotnet.IntegrationTests.csproj @@ -1,16 +1,17 @@ - - net8.0 - + + net8.0 + enable + - - - - - + + + + + - - - + + + diff --git a/integration-test/ImplementCodeProcessorTests.cs b/integration-test/ImplementCodeProcessorTests.cs index 3d2b7a5..0822c4d 100644 --- a/integration-test/ImplementCodeProcessorTests.cs +++ b/integration-test/ImplementCodeProcessorTests.cs @@ -5,122 +5,117 @@ *----------------------------------------------------------------*/ -using System; -using System.IO; using Gauge.Dotnet.Processors; using Gauge.Messages; -using NUnit.Framework; -using NUnit.Framework.Legacy; -namespace Gauge.Dotnet.IntegrationTests +namespace Gauge.Dotnet.IntegrationTests; + +public class StubImplementationCodeTests : IntegrationTestsBase { - public class StubImplementationCodeTests : IntegrationTestsBase + [Test] + public async Task ShouldProcessMessage() { - [Test] - public void ShouldProcessMessage() + var message = new StubImplementationCodeRequest { - var message = new StubImplementationCodeRequest - { - ImplementationFilePath = "New File", - Codes = - { - "method" - } - }; + ImplementationFilePath = "New File", + Codes = + { + "method" + } + }; - var processor = new StubImplementationCodeProcessor(); - var result = processor.Process(message); - ClassicAssert.AreEqual("StepImplementation1.cs", Path.GetFileName(result.FilePath)); - ClassicAssert.AreEqual(1, result.TextDiffs.Count); - Console.WriteLine(result.TextDiffs[0].Content); - ClassicAssert.True(result.TextDiffs[0].Content.Contains("namespace Sample")); - ClassicAssert.True(result.TextDiffs[0].Content.Contains("class StepImplementation1")); - ClassicAssert.AreEqual(result.TextDiffs[0].Span.Start, 0); - } + var processor = new StubImplementationCodeProcessor(_configuration); + var result = await processor.Process(1, message); + ClassicAssert.AreEqual("StepImplementation1.cs", Path.GetFileName(result.FilePath)); + ClassicAssert.AreEqual(1, result.TextDiffs.Count); + Console.WriteLine(result.TextDiffs[0].Content); + ClassicAssert.True(result.TextDiffs[0].Content.Contains("namespace Sample")); + ClassicAssert.True(result.TextDiffs[0].Content.Contains("class StepImplementation1")); + ClassicAssert.AreEqual(result.TextDiffs[0].Span.Start, 0); + } - [Test] - public void ShouldProcessMessageForExistingButEmptyFile() + [Test] + public async Task ShouldProcessMessageForExistingButEmptyFile() + { + var file = Path.Combine(_testProjectPath, "Empty.cs"); + var message = new StubImplementationCodeRequest { - var file = Path.Combine(_testProjectPath, "Empty.cs"); - var message = new StubImplementationCodeRequest - { - ImplementationFilePath = file, - Codes = - { - "Step Method" - } - }; + ImplementationFilePath = file, + Codes = + { + "Step Method" + } + }; - var processor = new StubImplementationCodeProcessor(); - var result = processor.Process(message); - ClassicAssert.AreEqual(1, result.TextDiffs.Count); - ClassicAssert.True(result.TextDiffs[0].Content.Contains("namespace Sample")); - ClassicAssert.True(result.TextDiffs[0].Content.Contains("class Empty")); - StringAssert.Contains("Step Method", result.TextDiffs[0].Content); - ClassicAssert.AreEqual(result.TextDiffs[0].Span.Start, 0); - } + var processor = new StubImplementationCodeProcessor(_configuration); + var result = await processor.Process(1, message); + ClassicAssert.AreEqual(1, result.TextDiffs.Count); + ClassicAssert.True(result.TextDiffs[0].Content.Contains("namespace Sample")); + ClassicAssert.True(result.TextDiffs[0].Content.Contains("class Empty")); + StringAssert.Contains("Step Method", result.TextDiffs[0].Content); + ClassicAssert.AreEqual(result.TextDiffs[0].Span.Start, 0); + } - [Test] - public void ShouldProcessMessageForExistingClass() + [Test] + public async Task ShouldProcessMessageForExistingClass() + { + var file = Path.Combine(_testProjectPath, "StepImplementation.cs"); + var message = new StubImplementationCodeRequest { - var file = Path.Combine(_testProjectPath, "StepImplementation.cs"); - var message = new StubImplementationCodeRequest - { - ImplementationFilePath = file, - Codes = - { - "Step Method" - } - }; + ImplementationFilePath = file, + Codes = + { + "Step Method" + } + }; - var processor = new StubImplementationCodeProcessor(); - var result = processor.Process(message); - ClassicAssert.AreEqual(1, result.TextDiffs.Count); - StringAssert.Contains("Step Method", result.TextDiffs[0].Content); - ClassicAssert.AreEqual(107, result.TextDiffs[0].Span.Start); - } + var processor = new StubImplementationCodeProcessor(_configuration); + var result = await processor.Process(1, message); + ClassicAssert.AreEqual(1, result.TextDiffs.Count); + StringAssert.Contains("Step Method", result.TextDiffs[0].Content); + ClassicAssert.AreEqual(100, result.TextDiffs[0].Span.Start); + } - [Test] - public void ShouldProcessMessageForExistingFileWithEmptyClass() + [Test] + public async Task ShouldProcessMessageForExistingFileWithEmptyClass() + { + var file = Path.Combine(_testProjectPath, "EmptyClass.cs"); + var message = new StubImplementationCodeRequest { - var file = Path.Combine(_testProjectPath, "EmptyClass.cs"); - var message = new StubImplementationCodeRequest - { - ImplementationFilePath = file, - Codes = - { - "Step Method" - } - }; + ImplementationFilePath = file, + Codes = + { + "Step Method" + } + }; - var processor = new StubImplementationCodeProcessor(); - var result = processor.Process(message); - ClassicAssert.AreEqual(1, result.TextDiffs.Count); - StringAssert.Contains("Step Method", result.TextDiffs[0].Content); - ClassicAssert.True(result.TextDiffs[0].Content.Contains("Step Method")); - ClassicAssert.AreEqual(result.TextDiffs[0].Span.Start, 8); - } + var processor = new StubImplementationCodeProcessor(_configuration); + var result = await processor.Process(1, message); + ClassicAssert.AreEqual(1, result.TextDiffs.Count); + StringAssert.Contains("Step Method", result.TextDiffs[0].Content); + ClassicAssert.True(result.TextDiffs[0].Content.Contains("Step Method")); + ClassicAssert.AreEqual(result.TextDiffs[0].Span.Start, 8); + } - [Test] - public void ShouldProcessMessageForExistingFileWithSomeComments() + [Test] + public async Task ShouldProcessMessageForExistingFileWithSomeComments() + { + var file = Path.Combine(_testProjectPath, "CommentFile.cs"); + var message = new StubImplementationCodeRequest { - var file = Path.Combine(_testProjectPath, "CommentFile.cs"); - var message = new StubImplementationCodeRequest - { - ImplementationFilePath = file, - Codes = - { - "Step Method" - } - }; + ImplementationFilePath = file, + Codes = + { + "Step Method" + } + }; - var processor = new StubImplementationCodeProcessor(); - var result = processor.Process(message); - ClassicAssert.AreEqual(1, result.TextDiffs.Count); - StringAssert.Contains("Step Method", result.TextDiffs[0].Content); - ClassicAssert.True(result.TextDiffs[0].Content.Contains("namespace Sample")); - ClassicAssert.True(result.TextDiffs[0].Content.Contains("class CommentFile")); - ClassicAssert.AreEqual(result.TextDiffs[0].Span.Start, 3); - } + var processor = new StubImplementationCodeProcessor(_configuration); + var result = await processor.Process(1, message); + ClassicAssert.AreEqual(1, result.TextDiffs.Count); + StringAssert.Contains("Step Method", result.TextDiffs[0].Content); + ClassicAssert.True(result.TextDiffs[0].Content.Contains("namespace Sample")); + ClassicAssert.True(result.TextDiffs[0].Content.Contains("class CommentFile")); + ClassicAssert.AreEqual(result.TextDiffs[0].Span.Start, 3); } } \ No newline at end of file diff --git a/integration-test/IntegrationTestsBase.cs b/integration-test/IntegrationTestsBase.cs index 45a3115..63b6303 100644 --- a/integration-test/IntegrationTestsBase.cs +++ b/integration-test/IntegrationTestsBase.cs @@ -5,39 +5,35 @@ *----------------------------------------------------------------*/ -using System; -using System.IO; using System.Runtime.Serialization.Json; using System.Text; using Gauge.CSharp.Lib; -using NUnit.Framework; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Logging; -namespace Gauge.Dotnet.IntegrationTests -{ - public class IntegrationTestsBase - { - protected string _testProjectPath = TestUtils.GetIntegrationTestSampleDirectory(); +namespace Gauge.Dotnet.IntegrationTests; - [SetUp] - public void Setup() - { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", _testProjectPath); - } +public class IntegrationTestsBase +{ + protected readonly ILoggerFactory _loggerFactory = new LoggerFactory(); + protected IConfiguration _configuration; + protected string _testProjectPath = TestUtils.GetIntegrationTestSampleDirectory(); - public static string SerializeTable(Table table) - { - var serializer = new DataContractJsonSerializer(typeof(Table)); - using (var memoryStream = new MemoryStream()) - { - serializer.WriteObject(memoryStream, table); - return Encoding.UTF8.GetString(memoryStream.ToArray()); - } - } + [SetUp] + public void Setup() + { + var builder = new ConfigurationBuilder(); + builder.AddInMemoryCollection(new Dictionary { { "GAUGE_PROJECT_ROOT", _testProjectPath } }); + _configuration = builder.Build(); + } - [TearDown] - public void TearDown() + public static string SerializeTable(Table table) + { + var serializer = new DataContractJsonSerializer(typeof(Table)); + using (var memoryStream = new MemoryStream()) { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", null); + serializer.WriteObject(memoryStream, table); + return Encoding.UTF8.GetString(memoryStream.ToArray()); } } } \ No newline at end of file diff --git a/integration-test/RefactorHelperTests.cs b/integration-test/RefactorHelperTests.cs index c38b9b5..61140e0 100644 --- a/integration-test/RefactorHelperTests.cs +++ b/integration-test/RefactorHelperTests.cs @@ -5,226 +5,216 @@ *----------------------------------------------------------------*/ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; using Gauge.CSharp.Lib.Attribute; using Gauge.Dotnet.Models; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; -using NUnit.Framework; -using NUnit.Framework.Legacy; -namespace Gauge.Dotnet.IntegrationTests +namespace Gauge.Dotnet.IntegrationTests; + +[TestFixture] +internal class RefactorHelperTests { - [TestFixture] - internal class RefactorHelperTests + [SetUp] + public void Setup() { - [SetUp] - public void Setup() - { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", _testProjectPath); + File.Copy(Path.Combine(_testProjectPath, "RefactoringSample.cs"), + Path.Combine(_testProjectPath, "RefactoringSample.copy"), true); + } - File.Copy(Path.Combine(_testProjectPath, "RefactoringSample.cs"), - Path.Combine(_testProjectPath, "RefactoringSample.copy"), true); - } + [TearDown] + public void TearDown() + { + var sourceFileName = Path.Combine(_testProjectPath, "RefactoringSample.copy"); + File.Copy(sourceFileName, Path.Combine(_testProjectPath, "RefactoringSample.cs"), true); + File.Delete(sourceFileName); + } - [TearDown] - public void TearDown() - { - var sourceFileName = Path.Combine(_testProjectPath, "RefactoringSample.copy"); - File.Copy(sourceFileName, Path.Combine(_testProjectPath, "RefactoringSample.cs"), true); - File.Delete(sourceFileName); - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", null); - } + private readonly string _testProjectPath = TestUtils.GetIntegrationTestSampleDirectory(); - private readonly string _testProjectPath = TestUtils.GetIntegrationTestSampleDirectory(); + private void ClassicAssertStepAttributeWithTextExists(RefactoringChange result, string methodName, string text) + { + var name = methodName.Split('.').Last().Split('-').First(); + var tree = + CSharpSyntaxTree.ParseText(result.FileContent); + var root = tree.GetRoot(); + + var stepTexts = root.DescendantNodes().OfType() + .Select( + node => new { node, attributeSyntaxes = node.AttributeLists.SelectMany(syntax => syntax.Attributes) }) + .Where(t => string.CompareOrdinal(t.node.Identifier.ValueText, name) == 0 + && + t.attributeSyntaxes.Any( + syntax => string.CompareOrdinal(syntax.ToFullString(), typeof(Step).ToString()) > 0)) + .SelectMany(t => t.node.AttributeLists.SelectMany(syntax => syntax.Attributes)) + .SelectMany(syntax => syntax.ArgumentList.Arguments) + .Select(syntax => syntax.GetText().ToString().Trim('"')); + ClassicAssert.True(stepTexts.Contains(text)); + } - private void ClassicAssertStepAttributeWithTextExists(RefactoringChange result, string methodName, string text) - { - var name = methodName.Split('.').Last().Split('-').First(); - var tree = - CSharpSyntaxTree.ParseText(result.FileContent); - var root = tree.GetRoot(); - - var stepTexts = root.DescendantNodes().OfType() - .Select( - node => new { node, attributeSyntaxes = node.AttributeLists.SelectMany(syntax => syntax.Attributes) }) - .Where(t => string.CompareOrdinal(t.node.Identifier.ValueText, name) == 0 - && - t.attributeSyntaxes.Any( - syntax => string.CompareOrdinal(syntax.ToFullString(), typeof(Step).ToString()) > 0)) - .SelectMany(t => t.node.AttributeLists.SelectMany(syntax => syntax.Attributes)) - .SelectMany(syntax => syntax.ArgumentList.Arguments) - .Select(syntax => syntax.GetText().ToString().Trim('"')); - ClassicAssert.True(stepTexts.Contains(text)); - } - - private void ClassicAssertParametersExist(RefactoringChange result, string methodName, - IReadOnlyList parameters) - { - var name = methodName.Split('.').Last().Split('-').First(); - var tree = - CSharpSyntaxTree.ParseText(result.FileContent); - var root = tree.GetRoot(); - var methodParameters = root.DescendantNodes().OfType() - .Where(syntax => string.CompareOrdinal(syntax.Identifier.Text, name) == 0) - .Select(syntax => syntax.ParameterList) - .SelectMany(syntax => syntax.Parameters) - .Select(syntax => syntax.Identifier.Text) - .ToArray(); - - for (var i = 0; i < parameters.Count; i++) - ClassicAssert.AreEqual(parameters[i], methodParameters[i]); - } - - [Test] - public void ShouldAddParameters() - { - const string newStepValue = "Refactoring Say to in "; - var gaugeMethod = new GaugeMethod - { - Name = "RefactoringSaySomething", - ClassName = "RefactoringSample", - FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") - }; - - var parameterPositions = new[] - {new Tuple(0, 0), new Tuple(1, 1), new Tuple(-1, 2)}; - var changes = RefactorHelper.Refactor(gaugeMethod, parameterPositions, - new List { "what", "who", "where" }, - newStepValue); - ClassicAssertStepAttributeWithTextExists(changes, gaugeMethod.Name, newStepValue); - ClassicAssertParametersExist(changes, gaugeMethod.Name, new[] { "what", "who", "where" }); - } - - [Test] - public void ShouldAddParametersWhenNoneExisted() + private void ClassicAssertParametersExist(RefactoringChange result, string methodName, + IReadOnlyList parameters) + { + var name = methodName.Split('.').Last().Split('-').First(); + var tree = + CSharpSyntaxTree.ParseText(result.FileContent); + var root = tree.GetRoot(); + var methodParameters = root.DescendantNodes().OfType() + .Where(syntax => string.CompareOrdinal(syntax.Identifier.Text, name) == 0) + .Select(syntax => syntax.ParameterList) + .SelectMany(syntax => syntax.Parameters) + .Select(syntax => syntax.Identifier.Text) + .ToArray(); + + for (var i = 0; i < parameters.Count; i++) + ClassicAssert.AreEqual(parameters[i], methodParameters[i]); + } + + [Test] + public void ShouldAddParameters() + { + const string newStepValue = "Refactoring Say to in "; + var gaugeMethod = new GaugeMethod { - const string newStepValue = "Refactoring this is a test step "; - var gaugeMethod = new GaugeMethod - { - Name = "RefactoringSampleTest", - ClassName = "RefactoringSample", - FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") - }; - var parameterPositions = new[] { new Tuple(-1, 0) }; - - var changes = - RefactorHelper.Refactor(gaugeMethod, parameterPositions, new List { "foo" }, newStepValue); - - ClassicAssertStepAttributeWithTextExists(changes, gaugeMethod.Name, newStepValue); - ClassicAssertParametersExist(changes, gaugeMethod.Name, new[] { "foo" }); - } - - [Test] - public void ShouldAddParametersWithReservedKeywordName() + Name = "RefactoringSaySomething", + ClassName = "RefactoringSample", + FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") + }; + + var parameterPositions = new[] + {new Tuple(0, 0), new Tuple(1, 1), new Tuple(-1, 2)}; + var changes = RefactorHelper.Refactor(gaugeMethod, parameterPositions, + new List { "what", "who", "where" }, + newStepValue); + ClassicAssertStepAttributeWithTextExists(changes, gaugeMethod.Name, newStepValue); + ClassicAssertParametersExist(changes, gaugeMethod.Name, new[] { "what", "who", "where" }); + } + + [Test] + public void ShouldAddParametersWhenNoneExisted() + { + const string newStepValue = "Refactoring this is a test step "; + var gaugeMethod = new GaugeMethod { - const string newStepValue = "Refactoring this is a test step "; + Name = "RefactoringSampleTest", + ClassName = "RefactoringSample", + FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") + }; + var parameterPositions = new[] { new Tuple(-1, 0) }; + + var changes = + RefactorHelper.Refactor(gaugeMethod, parameterPositions, new List { "foo" }, newStepValue); + + ClassicAssertStepAttributeWithTextExists(changes, gaugeMethod.Name, newStepValue); + ClassicAssertParametersExist(changes, gaugeMethod.Name, new[] { "foo" }); + } - var gaugeMethod = new GaugeMethod - { - Name = "RefactoringSampleTest", - ClassName = "RefactoringSample", - FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") - }; - var parameterPositions = new[] { new Tuple(-1, 0) }; + [Test] + public void ShouldAddParametersWithReservedKeywordName() + { + const string newStepValue = "Refactoring this is a test step "; - var changes = RefactorHelper.Refactor(gaugeMethod, parameterPositions, new List { "class" }, - newStepValue); + var gaugeMethod = new GaugeMethod + { + Name = "RefactoringSampleTest", + ClassName = "RefactoringSample", + FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") + }; + var parameterPositions = new[] { new Tuple(-1, 0) }; - ClassicAssertStepAttributeWithTextExists(changes, gaugeMethod.Name, newStepValue); - ClassicAssertParametersExist(changes, gaugeMethod.Name, new[] { "@class" }); - } + var changes = RefactorHelper.Refactor(gaugeMethod, parameterPositions, new List { "class" }, + newStepValue); + + ClassicAssertStepAttributeWithTextExists(changes, gaugeMethod.Name, newStepValue); + ClassicAssertParametersExist(changes, gaugeMethod.Name, new[] { "@class" }); + } - [Test] - public void ShouldRefactorAndReturnFilesChanged() + [Test] + public void ShouldRefactorAndReturnFilesChanged() + { + var gaugeMethod = new GaugeMethod { - var gaugeMethod = new GaugeMethod - { - Name = "RefactoringContext", - ClassName = "RefactoringSample", - FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") - }; + Name = "RefactoringContext", + ClassName = "RefactoringSample", + FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") + }; - var expectedPath = Path.GetFullPath(Path.Combine(_testProjectPath, "RefactoringSample.cs")); + var expectedPath = Path.GetFullPath(Path.Combine(_testProjectPath, "RefactoringSample.cs")); - var changes = - RefactorHelper.Refactor(gaugeMethod, new List>(), new List(), "foo"); + var changes = + RefactorHelper.Refactor(gaugeMethod, new List>(), new List(), "foo"); - ClassicAssert.AreEqual(expectedPath, changes.FileName); - } + ClassicAssert.AreEqual(expectedPath, changes.FileName); + } - [Test] - public void ShouldRefactorAttributeText() + [Test] + public void ShouldRefactorAttributeText() + { + var gaugeMethod = new GaugeMethod { - var gaugeMethod = new GaugeMethod - { - Name = "RefactoringContext", - ClassName = "RefactoringSample", - FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") - }; - var changes = RefactorHelper.Refactor(gaugeMethod, new List>(), new List(), "foo"); - - ClassicAssertStepAttributeWithTextExists(changes, gaugeMethod.Name, "foo"); - } - - [Test] - public void ShouldRemoveParameters() + Name = "RefactoringContext", + ClassName = "RefactoringSample", + FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") + }; + var changes = RefactorHelper.Refactor(gaugeMethod, new List>(), new List(), "foo"); + + ClassicAssertStepAttributeWithTextExists(changes, gaugeMethod.Name, "foo"); + } + + [Test] + public void ShouldRemoveParameters() + { + var gaugeMethod = new GaugeMethod { - var gaugeMethod = new GaugeMethod - { - Name = "RefactoringSaySomething", - ClassName = "RefactoringSample", - FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") - }; - var parameterPositions = new[] { new Tuple(0, 0) }; - - var changes = RefactorHelper.Refactor(gaugeMethod, parameterPositions, new List(), - "Refactoring Say to someone"); - - ClassicAssertParametersExist(changes, gaugeMethod.Name, new[] { "what" }); - } - - [Test] - public void ShouldRemoveParametersInAnyOrder() + Name = "RefactoringSaySomething", + ClassName = "RefactoringSample", + FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") + }; + var parameterPositions = new[] { new Tuple(0, 0) }; + + var changes = RefactorHelper.Refactor(gaugeMethod, parameterPositions, new List(), + "Refactoring Say to someone"); + + ClassicAssertParametersExist(changes, gaugeMethod.Name, new[] { "what" }); + } + + [Test] + public void ShouldRemoveParametersInAnyOrder() + { + var gaugeMethod = new GaugeMethod { - var gaugeMethod = new GaugeMethod - { - Name = "RefactoringSaySomething", - ClassName = "RefactoringSample", - FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") - }; + Name = "RefactoringSaySomething", + ClassName = "RefactoringSample", + FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") + }; - var parameterPositions = new[] { new Tuple(1, 0) }; + var parameterPositions = new[] { new Tuple(1, 0) }; - var changes = RefactorHelper.Refactor(gaugeMethod, parameterPositions, new List(), - "Refactoring Say something to "); + var changes = RefactorHelper.Refactor(gaugeMethod, parameterPositions, new List(), + "Refactoring Say something to "); - ClassicAssertParametersExist(changes, gaugeMethod.Name, new[] { "who" }); - } + ClassicAssertParametersExist(changes, gaugeMethod.Name, new[] { "who" }); + } + + [Test] + public void ShouldReorderParameters() + { + const string newStepValue = "Refactoring Say to "; - [Test] - public void ShouldReorderParameters() + var gaugeMethod = new GaugeMethod { - const string newStepValue = "Refactoring Say to "; - - var gaugeMethod = new GaugeMethod - { - Name = "RefactoringSaySomething", - ClassName = "RefactoringSample", - FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") - }; - - var parameterPositions = new[] { new Tuple(0, 1), new Tuple(1, 0) }; - var result = RefactorHelper.Refactor(gaugeMethod, parameterPositions, new List { "who", "what" }, - newStepValue); - - ClassicAssertStepAttributeWithTextExists(result, gaugeMethod.Name, newStepValue); - ClassicAssertParametersExist(result, gaugeMethod.Name, new[] { "who", "what" }); - ClassicAssert.True(result.Diffs.Any(d => d.Content == "\"Refactoring Say to \"")); - ClassicAssert.True(result.Diffs.Any(d => d.Content == "(string who,string what)")); - } + Name = "RefactoringSaySomething", + ClassName = "RefactoringSample", + FileName = Path.Combine(_testProjectPath, "RefactoringSample.cs") + }; + + var parameterPositions = new[] { new Tuple(0, 1), new Tuple(1, 0) }; + var result = RefactorHelper.Refactor(gaugeMethod, parameterPositions, new List { "who", "what" }, + newStepValue); + + ClassicAssertStepAttributeWithTextExists(result, gaugeMethod.Name, newStepValue); + ClassicAssertParametersExist(result, gaugeMethod.Name, new[] { "who", "what" }); + ClassicAssert.True(result.Diffs.Any(d => d.Content == "\"Refactoring Say to \"")); + ClassicAssert.True(result.Diffs.Any(d => d.Content == "(string who,string what)")); } } \ No newline at end of file diff --git a/integration-test/RefactorProcessorTests.cs b/integration-test/RefactorProcessorTests.cs index d1a1fb3..1fb0091 100644 --- a/integration-test/RefactorProcessorTests.cs +++ b/integration-test/RefactorProcessorTests.cs @@ -5,13 +5,9 @@ *----------------------------------------------------------------*/ -using System; -using System.IO; using Gauge.Dotnet.Models; using Gauge.Dotnet.Processors; using Gauge.Messages; -using NUnit.Framework; -using NUnit.Framework.Legacy; namespace Gauge.Dotnet.IntegrationTests { @@ -22,14 +18,12 @@ public class RefactorProcessorTests [SetUp] public void Setup() { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", _testProjectPath); - File.Copy(Path.Combine(_testProjectPath, "RefactoringSample.cs"), Path.Combine(_testProjectPath, "RefactoringSample.copy1"), true); } [Test] - public void ShouldAddParameters() + public async Task ShouldAddParameters() { const string parameterizedStepText = "Refactoring 1 Say to "; const string stepValue = "Refactoring 1 Say {} to {}"; @@ -65,7 +59,7 @@ public void ShouldAddParameters() }; var refactorProcessor = new RefactorProcessor(stepRegistry); - var result = refactorProcessor.Process(message); + var result = await refactorProcessor.Process(1, message); ClassicAssert.IsTrue(result.Success); } @@ -75,7 +69,6 @@ public void TearDown() var sourceFileName = Path.Combine(_testProjectPath, "RefactoringSample.copy1"); File.Copy(sourceFileName, Path.Combine(_testProjectPath, "RefactoringSample.cs"), true); File.Delete(sourceFileName); - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", null); } } } \ No newline at end of file diff --git a/integration-test/Usings.cs b/integration-test/Usings.cs new file mode 100644 index 0000000..9064743 --- /dev/null +++ b/integration-test/Usings.cs @@ -0,0 +1,2 @@ +global using NUnit.Framework; +global using NUnit.Framework.Legacy; \ No newline at end of file diff --git a/src/AssemblyLoader.cs b/src/AssemblyLoader.cs index 768d160..d119e83 100644 --- a/src/AssemblyLoader.cs +++ b/src/AssemblyLoader.cs @@ -5,184 +5,178 @@ *----------------------------------------------------------------*/ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; using System.Reflection; using System.Text.RegularExpressions; using Gauge.Dotnet.Extensions; using Gauge.Dotnet.Models; using Gauge.Dotnet.Wrappers; -namespace Gauge.Dotnet +namespace Gauge.Dotnet; + +public class AssemblyLoader : IAssemblyLoader { - public class AssemblyLoader : IAssemblyLoader + private const string GaugeLibAssemblyName = "Gauge.CSharp.Lib"; + private readonly IReflectionWrapper _reflectionWrapper; + private readonly IGaugeLoadContext _gaugeLoadContext; + private Assembly _targetLibAssembly; + private object _classInstanceManager; + + private readonly IActivatorWrapper _activatorWrapper; + private readonly IStepRegistry _registry; + private readonly ILogger _logger; + + public AssemblyLoader(IAssemblyLocater locater, IGaugeLoadContext gaugeLoadContext, IReflectionWrapper reflectionWrapper, + IActivatorWrapper activatorWrapper, IStepRegistry registry, ILogger logger) { - private const string GaugeLibAssemblyName = "Gauge.CSharp.Lib"; - private readonly IReflectionWrapper _reflectionWrapper; - private readonly IGaugeLoadContext _gaugeLoadContext; - private Assembly _targetLibAssembly; + var assemblyPath = locater.GetTestAssembly(); + _reflectionWrapper = reflectionWrapper; + _activatorWrapper = activatorWrapper; + AssembliesReferencingGaugeLib = new List(); + _registry = registry; + _logger = logger; + + _logger.LogDebug("Loading assembly from : {AssemblyPath}", assemblyPath); + _gaugeLoadContext = gaugeLoadContext; + this._targetLibAssembly = _gaugeLoadContext.LoadFromAssemblyName(new AssemblyName(GaugeLibAssemblyName)); + ScanAndLoad(assemblyPath); + AssembliesReferencingGaugeLib = _gaugeLoadContext.GetAssembliesReferencingGaugeLib().ToList(); + _logger.LogDebug("Number of AssembliesReferencingGaugeLib : {AssembliesReferencingGaugeLibCount}", AssembliesReferencingGaugeLib.Count); + SetDefaultTypes(); + _registry = GetStepRegistry(); + } - private readonly IActivatorWrapper _activatorWrapper; - private readonly IStepRegistry _registry; + public List AssembliesReferencingGaugeLib { get; } + public Type ScreenshotWriter { get; private set; } + public Type ClassInstanceManagerType { get; private set; } + + public IEnumerable GetMethods(LibType type) + { + var attributeType = _targetLibAssembly.ExportedTypes.First(x => x.FullName == type.FullName()); - public AssemblyLoader(AssemblyPath assemblyPath, IGaugeLoadContext gaugeLoadContext, - IReflectionWrapper reflectionWrapper, IActivatorWrapper activatorWrapper, IStepRegistry registry) + IEnumerable MethodSelector(Type t) { - _reflectionWrapper = reflectionWrapper; - _activatorWrapper = activatorWrapper; - AssembliesReferencingGaugeLib = new List(); - _registry = registry; - - Logger.Debug($"Loading assembly from : {assemblyPath}"); - _gaugeLoadContext = gaugeLoadContext; - this._targetLibAssembly = _gaugeLoadContext.LoadFromAssemblyName(new AssemblyName(GaugeLibAssemblyName)); - ScanAndLoad(assemblyPath); - AssembliesReferencingGaugeLib = _gaugeLoadContext.GetAssembliesReferencingGaugeLib().ToList(); - Logger.Debug($"Number of AssembliesReferencingGaugeLib : {AssembliesReferencingGaugeLib.Count()}"); - SetDefaultTypes(); + return _reflectionWrapper.GetMethods(t) + .Where(info => info.GetCustomAttributes(false).Any(attributeType.IsInstanceOfType)); } + return AssembliesReferencingGaugeLib.SelectMany(assembly => assembly.ExportedTypes.SelectMany(MethodSelector)); + } - public List AssembliesReferencingGaugeLib { get; } - public Type ScreenshotWriter { get; private set; } - public Type ClassInstanceManagerType { get; private set; } - - public IEnumerable GetMethods(LibType type) + public Type GetLibType(LibType type) + { + try { - var attributeType = _targetLibAssembly.ExportedTypes.First(x => x.FullName == type.FullName()); - - IEnumerable MethodSelector(Type t) - { - return _reflectionWrapper.GetMethods(t) - .Where(info => info.GetCustomAttributes(false).Any(attributeType.IsInstanceOfType)); - } - return AssembliesReferencingGaugeLib.SelectMany(assembly => assembly.ExportedTypes.SelectMany(MethodSelector)); + return _targetLibAssembly.ExportedTypes.First(t => t.FullName == type.FullName()); } - - public Type GetLibType(LibType type) + catch (InvalidOperationException ex) { - try - { - return _targetLibAssembly.ExportedTypes.First(t => t.FullName == type.FullName()); - } - catch (InvalidOperationException ex) - { - throw new InvalidOperationException($"Cannot locate {type.FullName()} in Gauge.CSharp.Lib", ex); - } + throw new InvalidOperationException($"Cannot locate {type.FullName()} in Gauge.CSharp.Lib", ex); } + } - public IStepRegistry GetStepRegistry() + public IStepRegistry GetStepRegistry() + { + _logger.LogDebug("Building StepRegistry..."); + var infos = GetMethods(LibType.Step); + _logger.LogDebug("{InfosCount} Step implementations found. Adding to registry...", infos.Count()); + foreach (var info in infos) { - Logger.Debug("Building StepRegistry..."); - var infos = GetMethods(LibType.Step); - Logger.Debug($"{infos.Count()} Step implementations found. Adding to registry..."); - foreach (var info in infos) + var stepTexts = Attribute.GetCustomAttributes(info).Where(x => x.GetType().FullName == LibType.Step.FullName()) + .SelectMany(x => x.GetType().GetProperty("Names").GetValue(x, null) as string[]); + foreach (var stepText in stepTexts) { - var stepTexts = info.GetCustomAttributes().Where(x => x.GetType().FullName == LibType.Step.FullName()) - .SelectMany(x => x.GetType().GetProperty("Names").GetValue(x, null) as string[]); - foreach (var stepText in stepTexts) + var stepValue = GetStepValue(stepText); + if (_registry.ContainsStep(stepValue)) { - var stepValue = GetStepValue(stepText); - if (_registry.ContainsStep(stepValue)) - { - Logger.Debug($"'{stepValue}': implementation found in StepRegistry, setting reflected methodInfo"); - _registry.MethodFor(stepValue).MethodInfo = info; - _registry.MethodFor(stepValue).ContinueOnFailure = info.IsRecoverableStep(this); - } - else + _logger.LogDebug("'{StepValue}': implementation found in StepRegistry, setting reflected methodInfo", stepValue); + _registry.MethodFor(stepValue).MethodInfo = info; + _registry.MethodFor(stepValue).ContinueOnFailure = info.IsRecoverableStep(this); + } + else + { + _logger.LogDebug("'{StepValue}': no implementation in StepRegistry, adding via reflection", stepValue); + var hasAlias = stepTexts.Count() > 1; + var stepMethod = new GaugeMethod { - Logger.Debug($"'{stepValue}': no implementation in StepRegistry, adding via reflection"); - var hasAlias = stepTexts.Count() > 1; - var stepMethod = new GaugeMethod - { - Name = info.FullyQuallifiedName(), - ParameterCount = info.GetParameters().Length, - StepText = stepText, - HasAlias = hasAlias, - Aliases = stepTexts, - MethodInfo = info, - ContinueOnFailure = info.IsRecoverableStep(this), - StepValue = stepValue, - IsExternal = true, - }; - _registry.AddStep(stepValue, stepMethod); - } - + Name = info.FullyQuallifiedName(), + ParameterCount = info.GetParameters().Length, + StepText = stepText, + HasAlias = hasAlias, + Aliases = stepTexts, + MethodInfo = info, + ContinueOnFailure = info.IsRecoverableStep(this), + StepValue = stepValue, + IsExternal = true, + }; + _registry.AddStep(stepValue, stepMethod); } + } - return _registry; } + return _registry; + } - public object GetClassInstanceManager() - { - if (ClassInstanceManagerType == null) return null; - var classInstanceManager = _activatorWrapper.CreateInstance(ClassInstanceManagerType); - Logger.Debug("Loaded Instance Manager of Type:" + classInstanceManager.GetType().FullName); - _reflectionWrapper.InvokeMethod(ClassInstanceManagerType, classInstanceManager, "Initialize", - AssembliesReferencingGaugeLib); - return classInstanceManager; - } + public object GetClassInstanceManager() + { + if (_classInstanceManager != null) return _classInstanceManager; + if (ClassInstanceManagerType == null) return null; + _classInstanceManager = _activatorWrapper.CreateInstance(ClassInstanceManagerType); + _logger.LogDebug("Loaded Instance Manager of Type: {ClassInstanceManagerType}", _classInstanceManager.GetType().FullName); + _reflectionWrapper.InvokeMethod(ClassInstanceManagerType, _classInstanceManager, "Initialize", AssembliesReferencingGaugeLib); + return _classInstanceManager; + } + + private static string GetStepValue(string stepText) + { + return Regex.Replace(stepText, @"(<.*?>)", @"{}"); + } - private static string GetStepValue(string stepText) + private void ScanAndLoad(string path) + { + var assembly = _gaugeLoadContext.LoadFromAssemblyName(new AssemblyName(Path.GetFileNameWithoutExtension(path))); + foreach (var reference in assembly.GetReferencedAssemblies()) { - return Regex.Replace(stepText, @"(<.*?>)", @"{}"); + _gaugeLoadContext.LoadFromAssemblyName(reference); } - - private void ScanAndLoad(string path) + try { - var assembly = _gaugeLoadContext.LoadFromAssemblyName(new AssemblyName(Path.GetFileNameWithoutExtension(path))); - foreach (var reference in assembly.GetReferencedAssemblies()) - { - _gaugeLoadContext.LoadFromAssemblyName(reference); - } - try - { - if (ScreenshotWriter is null) - ScanForCustomScreenshotWriter(assembly.ExportedTypes); + var exportedTypes = _gaugeLoadContext.GetAssembliesReferencingGaugeLib().SelectMany(x => x.ExportedTypes).ToList(); + if (ScreenshotWriter is null) + ScanForCustomScreenshotWriter(exportedTypes); - if (ClassInstanceManagerType is null) - ScanForCustomInstanceManager(assembly.ExportedTypes); - } - catch (ReflectionTypeLoadException ex) - { - foreach (var e in ex.LoaderExceptions) - Logger.Error(e.ToString()); - } + if (ClassInstanceManagerType is null) + ScanForCustomInstanceManager(exportedTypes); } - - private void ScanForCustomScreenshotWriter(IEnumerable types) + catch (ReflectionTypeLoadException ex) { - var deprecatedImplementations = types.Where(type => type.GetInterfaces().Any(t => t.FullName == "Gauge.CSharp.Lib.ICustomScreenshotGrabber")); - if (deprecatedImplementations.Any()) - { - Logger.Error("These types implement DEPRECATED ICustomScreenshotGrabber interface and will not be used. Use ICustomScreenshotWriter instead.\n" + - deprecatedImplementations.Select(x => x.FullName).Aggregate((a, b) => $"{a}, {b}")); - } - var implementingTypes = types.Where(type => - type.GetInterfaces().Any(t => t.FullName == "Gauge.CSharp.Lib.ICustomScreenshotWriter")); - ScreenshotWriter = implementingTypes.FirstOrDefault(); - if (ScreenshotWriter is null) return; - var csg = _activatorWrapper.CreateInstance(ScreenshotWriter); - var gaugeScreenshotsType = _targetLibAssembly.ExportedTypes.First(x => x.FullName == "Gauge.CSharp.Lib.GaugeScreenshots"); - _reflectionWrapper.InvokeMethod(gaugeScreenshotsType, null, "RegisterCustomScreenshotWriter", - BindingFlags.Static | BindingFlags.Public, new[] {csg}); + foreach (var e in ex.LoaderExceptions) + _logger.LogError(e.ToString()); } + } - private void ScanForCustomInstanceManager(IEnumerable types) - { - var implementingTypes = types.Where(type => - type.GetInterfaces().Any(t => t.FullName == "Gauge.CSharp.Lib.IClassInstanceManager")); - ClassInstanceManagerType = implementingTypes.FirstOrDefault(); - } + private void ScanForCustomScreenshotWriter(IEnumerable types) + { + var implementingTypes = types.Where(type => type.GetInterfaces().Any(t => t.FullName == "Gauge.CSharp.Lib.ICustomScreenshotWriter")); + ScreenshotWriter = implementingTypes.FirstOrDefault(); + if (ScreenshotWriter is null) return; + var csg = _activatorWrapper.CreateInstance(ScreenshotWriter); + var gaugeScreenshotsType = _targetLibAssembly.ExportedTypes.First(x => x.FullName == "Gauge.CSharp.Lib.GaugeScreenshots"); + _reflectionWrapper.InvokeMethod(gaugeScreenshotsType, null, "RegisterCustomScreenshotWriter", + BindingFlags.Static | BindingFlags.Public, new[] { csg }); + } - private void SetDefaultTypes() - { - ClassInstanceManagerType = ClassInstanceManagerType ?? - _targetLibAssembly.GetType(LibType.DefaultClassInstanceManager.FullName()); - ScreenshotWriter = ScreenshotWriter ?? - _targetLibAssembly.GetType(LibType.DefaultScreenshotWriter.FullName()); - } + private void ScanForCustomInstanceManager(IEnumerable types) + { + var implementingTypes = types.Where(type => + type.GetInterfaces().Any(t => t.FullName == "Gauge.CSharp.Lib.IClassInstanceManager")); + ClassInstanceManagerType = implementingTypes.FirstOrDefault(); + } + + private void SetDefaultTypes() + { + ClassInstanceManagerType = ClassInstanceManagerType ?? + _targetLibAssembly.GetType(LibType.DefaultClassInstanceManager.FullName()); + ScreenshotWriter = ScreenshotWriter ?? + _targetLibAssembly.GetType(LibType.DefaultScreenshotWriter.FullName()); } } \ No newline at end of file diff --git a/src/AssemblyLocater.cs b/src/AssemblyLocater.cs index 22709fd..f967946 100644 --- a/src/AssemblyLocater.cs +++ b/src/AssemblyLocater.cs @@ -5,36 +5,35 @@ *----------------------------------------------------------------*/ -using System.IO; -using System.Linq; -using Gauge.CSharp.Core; using Gauge.Dotnet.Exceptions; +using Gauge.Dotnet.Extensions; using Gauge.Dotnet.Wrappers; -namespace Gauge.Dotnet +namespace Gauge.Dotnet; + +public class AssemblyLocater : IAssemblyLocater { - public class AssemblyLocater : IAssemblyLocater + private readonly IDirectoryWrapper _directoryWrapper; + private readonly IConfiguration _config; + + public AssemblyLocater(IDirectoryWrapper directoryWrapper, IConfiguration config) { - private readonly IDirectoryWrapper _directoryWrapper; + _directoryWrapper = directoryWrapper; + _config = config; + } - public AssemblyLocater(IDirectoryWrapper directoryWrapper) + public string GetTestAssembly() + { + var gaugeBinDir = _config.GetGaugeBinDir(); + try { - _directoryWrapper = directoryWrapper; + return _directoryWrapper + .EnumerateFiles(gaugeBinDir, "*.deps.json", SearchOption.TopDirectoryOnly) + .First().Replace(".deps.json", ".dll"); } - - public AssemblyPath GetTestAssembly() + catch (System.InvalidOperationException) { - var gaugeBinDir = Utils.GetGaugeBinDir(); - try - { - return _directoryWrapper - .EnumerateFiles(gaugeBinDir, "*.deps.json", SearchOption.TopDirectoryOnly) - .First().Replace(".deps.json", ".dll"); - } - catch (System.InvalidOperationException) - { - throw new GaugeTestAssemblyNotFoundException(gaugeBinDir); - } + throw new GaugeTestAssemblyNotFoundException(gaugeBinDir); } } } \ No newline at end of file diff --git a/src/AssemblyPath.cs b/src/AssemblyPath.cs deleted file mode 100644 index 760759c..0000000 --- a/src/AssemblyPath.cs +++ /dev/null @@ -1,29 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -namespace Gauge.Dotnet -{ - public class AssemblyPath - { - private readonly string _path; - - public AssemblyPath(string path) - { - this._path = path; - } - - public static implicit operator string(AssemblyPath path) - { - return path._path; - } - - public static implicit operator AssemblyPath(string path) - { - return new AssemblyPath(path); - } - } -} \ No newline at end of file diff --git a/src/AttributesLoader.cs b/src/AttributesLoader.cs index 185f8f8..cec37e9 100644 --- a/src/AttributesLoader.cs +++ b/src/AttributesLoader.cs @@ -5,19 +5,24 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; using System.Xml.Linq; -using Gauge.CSharp.Core; +using Gauge.Dotnet.Extensions; -namespace Gauge.Dotnet +namespace Gauge.Dotnet; + +public class AttributesLoader : IAttributesLoader { - public class AttributesLoader : IAttributesLoader + private readonly IConfiguration _config; + + public AttributesLoader(IConfiguration config) + { + _config = config; + } + + public virtual IEnumerable GetRemovedAttributes() { - public virtual IEnumerable GetRemovedAttributes() - { - var xmldoc = XDocument.Load(Utils.ReadEnvValue("GAUGE_CSHARP_PROJECT_FILE")); - var attributes = xmldoc.Descendants().Attributes("Remove"); - return attributes; - } + var xmldoc = XDocument.Load(_config.GetGaugeCSharpProjectFile()); + var attributes = xmldoc.Descendants().Attributes("Remove"); + return attributes; } } \ No newline at end of file diff --git a/src/AuthoringRunnerServiceHandler.cs b/src/AuthoringRunnerServiceHandler.cs index 3d4596c..0199073 100644 --- a/src/AuthoringRunnerServiceHandler.cs +++ b/src/AuthoringRunnerServiceHandler.cs @@ -5,119 +5,78 @@ *----------------------------------------------------------------*/ -using System.Threading.Tasks; -using Gauge.Dotnet.Executor; -using Gauge.Dotnet.Helpers; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Models; -using Gauge.Dotnet.Processors; using Gauge.Messages; using Grpc.Core; -using Microsoft.Extensions.Hosting; -namespace Gauge.Dotnet -{ - internal class AuthoringRunnerServiceHandler : Runner.RunnerBase - { - private readonly int DefaultExecutionStream = 1; - - private readonly IStaticLoader _loader; - protected readonly ExecutorPool _pool; - private readonly IHostApplicationLifetime lifetime; - protected IStepRegistry _stepRegistry; - - private StepValidationProcessor stepValidateRequestProcessor; - private StepNameProcessor stepNameRequestProcessor; - private RefactorProcessor refactorRequestProcessor; - private CacheFileProcessor cacheFileRequestProcessor; - private StubImplementationCodeProcessor stubImplementationCodeRequestProcessor; - private StepPositionsProcessor stepPositionsRequestProcessor; - private StepNamesProcessor stepNamesRequestProcessor; - - public AuthoringRunnerServiceHandler(IStaticLoader loader, ExecutorPool pool, IHostApplicationLifetime lifetime) - { - this._pool = pool; - this.lifetime = lifetime; - this._loader = loader; - _stepRegistry = loader.GetStepRegistry(); - this.InitializeMessageProcessors(); - } - - public override Task ValidateStep(StepValidateRequest request, ServerCallContext context) - { - return _pool.Execute(DefaultExecutionStream, () => this.stepValidateRequestProcessor.Process(request)); - } +namespace Gauge.Dotnet; +internal class AuthoringRunnerServiceHandler : Runner.RunnerBase +{ + private const int DefaultStream = 1; + protected IExecutor Executor { get; private init; } + private readonly IHostApplicationLifetime _lifetime; + protected IStepRegistry _stepRegistry; + protected ILogger _logger; - public override Task CacheFile(CacheFileRequest request, ServerCallContext context) - { - return _pool.Execute(1, () => this.cacheFileRequestProcessor.Process(request)); - } + public AuthoringRunnerServiceHandler(IExecutor executor, IHostApplicationLifetime lifetime, IStepRegistry stepRegistry, ILogger logger) + { + Executor = executor; + _lifetime = lifetime; + _stepRegistry = stepRegistry; + _logger = logger; + } - public override Task GetGlobPatterns(Empty request, ServerCallContext context) - { - var response = new ImplementationFileGlobPatternResponse(); - response.GlobPatterns.Add(FileHelper.GetImplementationGlobPatterns()); - return _pool.Execute(1, () => response); - } + public override Task ValidateStep(StepValidateRequest request, ServerCallContext context) + { + return Executor.Execute(DefaultStream, request); + } + public override Task CacheFile(CacheFileRequest request, ServerCallContext context) + { + return Executor.Execute(DefaultStream, request); + } - public override Task GetImplementationFiles(Empty request, ServerCallContext context) - { - return _pool.Execute(DefaultExecutionStream,() => { - var response = new ImplementationFileListResponse(); - response.ImplementationFilePaths.AddRange(FileHelper.GetImplementationFiles()); - return response; - }); - } + public override Task GetGlobPatterns(Empty request, ServerCallContext context) + { + return Executor.Execute(DefaultStream, request); + } - public override Task GetStepName(StepNameRequest request, ServerCallContext context) - { - return _pool.Execute(DefaultExecutionStream, () => this.stepNameRequestProcessor.Process(request)); - } + public override Task GetImplementationFiles(Empty request, ServerCallContext context) + { + return Executor.Execute(DefaultStream, request); + } - public override Task GetStepNames(StepNamesRequest request, ServerCallContext context) - { - return _pool.Execute(DefaultExecutionStream, () => this.stepNamesRequestProcessor.Process(request)); - } + public override Task GetStepName(StepNameRequest request, ServerCallContext context) + { + return Executor.Execute(DefaultStream, request); + } - public override Task GetStepPositions(StepPositionsRequest request, ServerCallContext context) - { - return _pool.Execute(DefaultExecutionStream, () => this.stepPositionsRequestProcessor.Process(request)); - } + public override Task GetStepNames(StepNamesRequest request, ServerCallContext context) + { + return Executor.Execute(DefaultStream, request); + } - public override Task ImplementStub(StubImplementationCodeRequest request, ServerCallContext context) - { - return _pool.Execute(DefaultExecutionStream, () => this.stubImplementationCodeRequestProcessor.Process(request)); - } + public override Task GetStepPositions(StepPositionsRequest request, ServerCallContext context) + { + return Executor.Execute(DefaultStream, request); + } - public override Task Refactor(RefactorRequest request, ServerCallContext context) - { - return _pool.Execute(DefaultExecutionStream, () => this.refactorRequestProcessor.Process(request)); - } + public override Task ImplementStub(StubImplementationCodeRequest request, ServerCallContext context) + { + return Executor.Execute(DefaultStream, request); + } - protected void InitializeMessageProcessors() - { - this.stepValidateRequestProcessor = new StepValidationProcessor(_stepRegistry); - this.stepNameRequestProcessor = new StepNameProcessor(_stepRegistry); - this.refactorRequestProcessor = new RefactorProcessor(_stepRegistry); - this.cacheFileRequestProcessor = new CacheFileProcessor(_loader); - this.stubImplementationCodeRequestProcessor = new StubImplementationCodeProcessor(); - this.stepPositionsRequestProcessor = new StepPositionsProcessor(_stepRegistry); - this.stepNamesRequestProcessor = new StepNamesProcessor(_stepRegistry); - } + public override Task Refactor(RefactorRequest request, ServerCallContext context) + { + return Executor.Execute(DefaultStream, request); + } - public override Task Kill(KillProcessRequest request, ServerCallContext context) - { - try - { - Logger.Debug("KillProcessrequest received"); - lifetime.StopApplication(); - return Task.FromResult(new Empty()); - } - finally - { - _pool.Dispose(); - } - } + public override Task Kill(KillProcessRequest request, ServerCallContext context) + { + _logger.LogDebug("KillProcessrequest received"); + _lifetime.StopApplication(); + return Task.FromResult(new Empty()); } } \ No newline at end of file diff --git a/src/Exceptions/StreamNotFountException.cs b/src/Exceptions/StreamNotFountException.cs deleted file mode 100644 index ef6cbc2..0000000 --- a/src/Exceptions/StreamNotFountException.cs +++ /dev/null @@ -1,20 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - -using System; - -namespace Gauge.Dotnet.Executor -{ - [Serializable] - internal class StreamNotFountException : Exception - { - private static string _message = "Requested stream {0} not found."; - - public StreamNotFountException(int stream) : base(String.Format(_message, stream)) - { - } - } -} \ No newline at end of file diff --git a/src/ExecutableRunnerServiceHandler.cs b/src/ExecutableRunnerServiceHandler.cs index 9d72d89..8eacb12 100644 --- a/src/ExecutableRunnerServiceHandler.cs +++ b/src/ExecutableRunnerServiceHandler.cs @@ -5,163 +5,117 @@ *----------------------------------------------------------------*/ -using System; -using System.Threading; -using System.Threading.Tasks; -using Gauge.Dotnet.Executor; -using Gauge.Dotnet.Processors; -using Gauge.Dotnet.Wrappers; +using Gauge.Dotnet.Executors; +using Gauge.Dotnet.Extensions; +using Gauge.Dotnet.Models; using Gauge.Messages; using Grpc.Core; -using Microsoft.Extensions.Hosting; -namespace Gauge.Dotnet +namespace Gauge.Dotnet; + +internal class ExecutableRunnerServiceHandler : AuthoringRunnerServiceHandler { - internal class ExecutableRunnerServiceHandler : AuthoringRunnerServiceHandler - { - private readonly IActivatorWrapper _activatorWrapper; - private readonly IReflectionWrapper _reflectionWrapper; - private readonly IAssemblyLoader _assemblyLoader; - private ExecutionStartingProcessor executionStartingProcessor; - private ExecutionEndingProcessor executionEndingProcessor; - private SpecExecutionStartingProcessor specExecutionStartingProcessor; - private SpecExecutionEndingProcessor specExecutionEndingProcessor; - private ScenarioExecutionStartingProcessor scenarioExecutionStartingProcessor; - private ScenarioExecutionEndingProcessor scenarioExecutionEndingProcessor; - private StepExecutionStartingProcessor stepExecutionStartingProcessor; - private StepExecutionEndingProcessor stepExecutionEndingProcessor; - private ConceptExecutionStartingProcessor conceptExecutionStartingProcessor; - private ConceptExecutionEndingProcessor conceptExecutionEndingProcessor; - private ExecuteStepProcessor executeStepProcessor; - private ScenarioDataStoreInitProcessor scenarioDataStoreInitProcessor; - private SpecDataStoreInitProcessor specDataStoreInitProcessor; - private SuiteDataStoreInitProcessor suiteDataStoreInitProcessor; - public ExecutableRunnerServiceHandler(IActivatorWrapper activationWrapper, IReflectionWrapper reflectionWrapper, - IAssemblyLoader assemblyLoader, IStaticLoader loader, ExecutorPool pool, IHostApplicationLifetime lifetime) - : base(loader, pool, lifetime) - { - this._activatorWrapper = activationWrapper; - this._reflectionWrapper = reflectionWrapper; - this._assemblyLoader = assemblyLoader; - _stepRegistry = assemblyLoader.GetStepRegistry(); - InitializeExecutionMessageHandlers(); - } - public override Task InitializeSuiteDataStore(SuiteDataStoreInitRequest request, ServerCallContext context) - { - return _pool.Execute(getStream(request.Stream), () => this.suiteDataStoreInitProcessor.Process()); - } + private readonly IConfiguration _config; - public override Task ExecuteStep(ExecuteStepRequest request, ServerCallContext context) - { - return _pool.Execute(getStream(request.Stream), () => this.executeStepProcessor.Process(request)); - } + public IAssemblyLoader AssemblyLoader { get; private set; } - public override Task FinishExecution(ExecutionEndingRequest request, ServerCallContext context) - { - return _pool.Execute(getStream(request.Stream), () => this.executionEndingProcessor.Process(request)); - } + public ExecutableRunnerServiceHandler(IExecutor executor, IAssemblyLoader assemblyLoader, IHostApplicationLifetime lifetime, IStepRegistry stepRegistry, + IConfiguration config, ILogger logger) + : base(executor, lifetime, stepRegistry, logger) + { + _config = config; + AssemblyLoader = assemblyLoader; + } + public override Task InitializeSuiteDataStore(SuiteDataStoreInitRequest request, ServerCallContext context) + { + request.Stream = GetStream(request.Stream); + return Executor.Execute(request.Stream, request); + } - public override Task FinishScenarioExecution(ScenarioExecutionEndingRequest request, ServerCallContext context) - { - return _pool.Execute(getStream(request.Stream), () => this.scenarioExecutionEndingProcessor.Process(request)); - } + public override Task ExecuteStep(ExecuteStepRequest request, ServerCallContext context) + { + request.Stream = GetStream(request.Stream); + return Executor.Execute(request.Stream, request); + } - public override Task FinishSpecExecution(SpecExecutionEndingRequest request, ServerCallContext context) - { - return _pool.Execute(getStream(request.Stream), () => this.specExecutionEndingProcessor.Process(request)); - } + public override Task FinishExecution(ExecutionEndingRequest request, ServerCallContext context) + { + request.Stream = GetStream(request.Stream); + return Executor.Execute(request.Stream, request); + } - public override Task FinishStepExecution(StepExecutionEndingRequest request, ServerCallContext context) - { - return _pool.Execute(getStream(request.Stream), () => this.stepExecutionEndingProcessor.Process(request)); - } + public override Task FinishScenarioExecution(ScenarioExecutionEndingRequest request, ServerCallContext context) + { + request.Stream = GetStream(request.Stream); + return Executor.Execute(request.Stream, request); + } - public override Task InitializeScenarioDataStore(ScenarioDataStoreInitRequest request, ServerCallContext context) - { - return _pool.Execute(getStream(request.Stream), () => this.scenarioDataStoreInitProcessor.Process()); - } + public override Task FinishSpecExecution(SpecExecutionEndingRequest request, ServerCallContext context) + { + request.Stream = GetStream(request.Stream); + return Executor.Execute(request.Stream, request); + } - public override Task InitializeSpecDataStore(SpecDataStoreInitRequest request, ServerCallContext context) - { - try - { - return _pool.Execute(getStream(request.Stream), () => this.specDataStoreInitProcessor.Process()); - } - catch (System.Exception e) - { - Console.WriteLine(e); - Environment.Exit(1); - } - return null; - } + public override Task FinishStepExecution(StepExecutionEndingRequest request, ServerCallContext context) + { + request.Stream = GetStream(request.Stream); + return Executor.Execute(request.Stream, request); + } - public override Task StartExecution(ExecutionStartingRequest request, ServerCallContext context) - { - return _pool.Execute(getStream(request.Stream), () => this.executionStartingProcessor.Process(request)); - } + public override Task InitializeScenarioDataStore(ScenarioDataStoreInitRequest request, ServerCallContext context) + { + request.Stream = GetStream(request.Stream); + return Executor.Execute(request.Stream, request); + } - public override Task StartScenarioExecution(ScenarioExecutionStartingRequest request, ServerCallContext context) - { - return _pool.Execute(getStream(request.Stream), () => this.scenarioExecutionStartingProcessor.Process(request)); - } + public override Task InitializeSpecDataStore(SpecDataStoreInitRequest request, ServerCallContext context) + { + request.Stream = GetStream(request.Stream); + return Executor.Execute(request.Stream, request); + } - public override Task StartSpecExecution(SpecExecutionStartingRequest request, ServerCallContext context) - { - return _pool.Execute(getStream(request.Stream), () => this.specExecutionStartingProcessor.Process(request)); - } + public override Task StartExecution(ExecutionStartingRequest request, ServerCallContext context) + { + request.Stream = GetStream(request.Stream); + return Executor.Execute(request.Stream, request); + } - public override Task StartStepExecution(StepExecutionStartingRequest request, ServerCallContext context) - { - return _pool.Execute(getStream(request.Stream), () => this.stepExecutionStartingProcessor.Process(request)); - } + public override Task StartScenarioExecution(ScenarioExecutionStartingRequest request, ServerCallContext context) + { + request.Stream = GetStream(request.Stream); + return Executor.Execute(request.Stream, request); + } - public override Task NotifyConceptExecutionStarting(ConceptExecutionStartingRequest request, ServerCallContext context) - { - return _pool.Execute(getStream(request.Stream), () => this.conceptExecutionStartingProcessor.Process(request)); - } + public override Task StartSpecExecution(SpecExecutionStartingRequest request, ServerCallContext context) + { + request.Stream = GetStream(request.Stream); + return Executor.Execute(request.Stream, request); + } - public override Task NotifyConceptExecutionEnding(ConceptExecutionEndingRequest request, ServerCallContext context) - { - return _pool.Execute(getStream(request.Stream), () => this.conceptExecutionEndingProcessor.Process(request)); - } + public override Task StartStepExecution(StepExecutionStartingRequest request, ServerCallContext context) + { + request.Stream = GetStream(request.Stream); + return Executor.Execute(request.Stream, request); + } + public override Task NotifyConceptExecutionStarting(ConceptExecutionStartingRequest request, ServerCallContext context) + { + request.Stream = GetStream(request.Stream); + return Executor.Execute(request.Stream, request); + } - private void InitializeExecutionMessageHandlers() - { - var tableFormatter = new TableFormatter(this._assemblyLoader, this._activatorWrapper); - var classInstanceManager = new ThreadLocal(() => - { - return this._assemblyLoader.GetClassInstanceManager(); - }); - var executionInfoMapper = new ExecutionInfoMapper(this._assemblyLoader, this._activatorWrapper); - var executionOrchestrator = new ExecutionOrchestrator(this._reflectionWrapper, this._assemblyLoader, - classInstanceManager.Value, - new HookExecutor(this._assemblyLoader, this._reflectionWrapper, classInstanceManager.Value, executionInfoMapper), - new StepExecutor(this._assemblyLoader, this._reflectionWrapper, classInstanceManager.Value)); - - this.executionStartingProcessor = new ExecutionStartingProcessor(executionOrchestrator); - this.executionEndingProcessor = new ExecutionEndingProcessor(executionOrchestrator); - this.specExecutionStartingProcessor = new SpecExecutionStartingProcessor(executionOrchestrator); - this.specExecutionEndingProcessor = new SpecExecutionEndingProcessor(executionOrchestrator); - this.scenarioExecutionStartingProcessor = new ScenarioExecutionStartingProcessor(executionOrchestrator); - this.scenarioExecutionEndingProcessor = new ScenarioExecutionEndingProcessor(executionOrchestrator); - this.stepExecutionStartingProcessor = new StepExecutionStartingProcessor(executionOrchestrator); - this.stepExecutionEndingProcessor = new StepExecutionEndingProcessor(executionOrchestrator); - this.conceptExecutionStartingProcessor = new ConceptExecutionStartingProcessor(executionOrchestrator); - this.conceptExecutionEndingProcessor = new ConceptExecutionEndingProcessor(executionOrchestrator); - this.executeStepProcessor = new ExecuteStepProcessor(_stepRegistry, executionOrchestrator, tableFormatter); - this.scenarioDataStoreInitProcessor = new ScenarioDataStoreInitProcessor(this._assemblyLoader); - this.specDataStoreInitProcessor = new SpecDataStoreInitProcessor(this._assemblyLoader); - this.suiteDataStoreInitProcessor = new SuiteDataStoreInitProcessor(this._assemblyLoader); - } + public override Task NotifyConceptExecutionEnding(ConceptExecutionEndingRequest request, ServerCallContext context) + { + request.Stream = GetStream(request.Stream); + return Executor.Execute(request.Stream, request); + } - private int getStream(int stream) + private int GetStream(int stream) + { + if (!_config.IsMultithreading()) { - if (!_pool.IsMultithreading) - { - return 1; - } - return Math.Max(stream, 1); + return 1; } + return Math.Max(stream, 1); } } \ No newline at end of file diff --git a/src/ExecutionInfoMapper.cs b/src/ExecutionInfoMapper.cs deleted file mode 100644 index a8a519e..0000000 --- a/src/ExecutionInfoMapper.cs +++ /dev/null @@ -1,96 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using System; -using System.Collections.Generic; -using System.Linq; -using Gauge.Dotnet.Wrappers; -using Gauge.Messages; -using Gauge.CSharp.Lib; -using Gauge.Dotnet.Processors; - -namespace Gauge.Dotnet -{ - public class ExecutionInfoMapper : IExecutionInfoMapper - { - private Type _executionContextType; - private readonly IActivatorWrapper activatorWrapper; - private readonly ITableFormatter tableFormatter; - - public ExecutionInfoMapper(IAssemblyLoader assemblyLoader, IActivatorWrapper activatorWrapper) - { - _executionContextType = assemblyLoader.GetLibType(LibType.ExecutionContext); - this.activatorWrapper = activatorWrapper; - tableFormatter = new TableFormatter(assemblyLoader, activatorWrapper); - } - - public dynamic ExecutionContextFrom(ExecutionInfo currentExecutionInfo) - { - if (currentExecutionInfo == null) - return activatorWrapper.CreateInstance(_executionContextType); - - return activatorWrapper.CreateInstance(_executionContextType, SpecificationFrom(currentExecutionInfo.CurrentSpec), - ScenarioFrom(currentExecutionInfo.CurrentScenario), - StepFrom(currentExecutionInfo.CurrentStep)); - } - - private dynamic SpecificationFrom(SpecInfo currentSpec) - { - var executionContextSpecType = _executionContextType.GetNestedType("Specification"); - return currentSpec != null - ? activatorWrapper.CreateInstance(executionContextSpecType, currentSpec.Name, currentSpec.FileName, currentSpec.IsFailed, - currentSpec.Tags.ToArray()) - : activatorWrapper.CreateInstance(executionContextSpecType); - } - - private dynamic ScenarioFrom(ScenarioInfo currentScenario) - { - var executionContextScenarioType = _executionContextType.GetNestedType("Scenario"); - if (currentScenario != null && currentScenario.Retries == null) - { - currentScenario.Retries = new ScenarioRetriesInfo{MaxRetries=0, CurrentRetry=0}; - } - return currentScenario != null - ? activatorWrapper.CreateInstance(executionContextScenarioType, currentScenario.Name, currentScenario.IsFailed, - currentScenario.Tags.ToArray(), currentScenario.Retries.MaxRetries, currentScenario.Retries.CurrentRetry) - : activatorWrapper.CreateInstance(executionContextScenarioType); - } - - private dynamic StepFrom(StepInfo currentStep) - { - var executionContextStepType = _executionContextType.GetNestedType("StepDetails"); ; - if (currentStep == null || currentStep.Step == null) - return activatorWrapper.CreateInstance(executionContextStepType); - - var parameters = new List>(); - foreach (var parameter in currentStep.Step.Parameters) { - if (parameter.ParameterType == Parameter.Types.ParameterType.Static) { - parameters.Add(new List { "Static", parameter.Name, parameter.Value }); - } - else if (parameter.ParameterType == Parameter.Types.ParameterType.Dynamic) { - parameters.Add(new List { "Dynamic", parameter.Name, parameter.Value }); - } - else if (parameter.ParameterType == Parameter.Types.ParameterType.SpecialString) { - parameters.Add(new List { "Special", parameter.Name, parameter.Value }); - } - else if (parameter.ParameterType == Parameter.Types.ParameterType.SpecialTable || - parameter.ParameterType == Parameter.Types.ParameterType.Table) { - var asJSon = tableFormatter.GetJSON(parameter.Table); - parameters.Add(new List { "Table", parameter.Name, asJSon }); - } - } - - var inst = activatorWrapper.CreateInstance( - executionContextStepType, - currentStep.Step.ActualStepText, currentStep.IsFailed, - currentStep.StackTrace, currentStep.ErrorMessage, - parameters); - - return inst; - } - } -} \ No newline at end of file diff --git a/src/ExecutionOrchestrator.cs b/src/ExecutionOrchestrator.cs deleted file mode 100644 index 0c8e3f9..0000000 --- a/src/ExecutionOrchestrator.cs +++ /dev/null @@ -1,152 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using System.Reflection; -using Gauge.CSharp.Core; -using Gauge.Dotnet.Models; -using Gauge.Dotnet.Strategy; -using Gauge.Dotnet.Wrappers; -using Gauge.Messages; - -namespace Gauge.Dotnet -{ - public class ExecutionOrchestrator : IExecutionOrchestrator - { - private readonly IAssemblyLoader _assemblyLoader; - private readonly object _classInstanceManager; - private readonly IHookExecutor _hookExecutor; - private readonly IReflectionWrapper _reflectionWrapper; - private readonly IStepExecutor _stepExecutor; - - public ExecutionOrchestrator(IReflectionWrapper reflectionWrapper, IAssemblyLoader assemblyLoader, - object classInstanceManager, IHookExecutor hookExecutor, - IStepExecutor stepExecutor) - { - _reflectionWrapper = reflectionWrapper; - _assemblyLoader = assemblyLoader; - _classInstanceManager = classInstanceManager; - _hookExecutor = hookExecutor; - _stepExecutor = stepExecutor; - } - - - [DebuggerHidden] - public ProtoExecutionResult ExecuteStep(GaugeMethod method, params string[] args) - { - var stopwatch = Stopwatch.StartNew(); - - var executionResult = _stepExecutor.Execute(method, args); - return BuildResult(stopwatch, executionResult); - } - - public void ClearCache() - { - _reflectionWrapper.InvokeMethod(_assemblyLoader.ClassInstanceManagerType, _classInstanceManager, - "ClearCache"); - } - - public void StartExecutionScope(string tag) - { - _reflectionWrapper.InvokeMethod(_assemblyLoader.ClassInstanceManagerType, _classInstanceManager, - "StartScope", tag); - } - - public void CloseExecutionScope() - { - _reflectionWrapper.InvokeMethod(_assemblyLoader.ClassInstanceManagerType, _classInstanceManager, - "CloseScope"); - } - - public IEnumerable GetAllPendingMessages() - { - var messageCollectorType = _assemblyLoader.GetLibType(LibType.MessageCollector); - return _reflectionWrapper.InvokeMethod(messageCollectorType, null, "GetAllPendingMessages", - BindingFlags.Static | BindingFlags.Public) as IEnumerable; - } - - public IEnumerable GetAllPendingScreenshotFiles() - { - var messageCollectorType = _assemblyLoader.GetLibType(LibType.ScreenshotFilesCollector); - return _reflectionWrapper.InvokeMethod(messageCollectorType, null, "GetAllPendingScreenshotFiles", - BindingFlags.Static | BindingFlags.Public) as IEnumerable; - } - - [DebuggerHidden] - public ProtoExecutionResult ExecuteHooks(string hookType, HooksStrategy strategy, IList applicableTags, - ExecutionInfo info) - { - var stopwatch = Stopwatch.StartNew(); - var executionResult = _hookExecutor.Execute(hookType, strategy, applicableTags, info); - return BuildResult(stopwatch, executionResult); - } - - private ProtoExecutionResult BuildResult(Stopwatch stopwatch, ExecutionResult executionResult) - { - var result = new ProtoExecutionResult - { - Failed = false, - ExecutionTime = stopwatch.ElapsedMilliseconds, - SkipScenario = executionResult.SkipScenario - }; - var allPendingMessages = GetAllPendingMessages().Where(m => m != null); - result.Message.AddRange(allPendingMessages); - var allPendingScreenShotFiles = GetAllPendingScreenshotFiles().Where(s => s != null); - result.ScreenshotFiles.AddRange(allPendingScreenShotFiles); - - // If runtime skipped scenario return Error message and stack info - if (!string.IsNullOrEmpty(executionResult.ExceptionMessage)) - { - result.ErrorMessage = executionResult.ExceptionMessage; - } - if (!string.IsNullOrEmpty(executionResult.StackTrace)) - { - result.StackTrace = executionResult.StackTrace; - } - if (executionResult.Success) return result; - - var elapsedMilliseconds = stopwatch.ElapsedMilliseconds; - result.Failed = true; - var isScreenShotEnabled = Utils.TryReadEnvValue("SCREENSHOT_ON_FAILURE"); - if (isScreenShotEnabled == null || isScreenShotEnabled.ToLower() != "false") - { - var screenshotFile = TryScreenCapture(); - if(!string.IsNullOrEmpty(screenshotFile)){ - result.FailureScreenshotFile = screenshotFile; - } - } - - result.RecoverableError = executionResult.Recoverable; - result.ExecutionTime = elapsedMilliseconds; - return result; - } - - private string TryScreenCapture() - { - try - { - InvokeScreenshotCapture(); - } - catch (System.Exception ex) - { - Logger.Warning($"Unable to capture screenshot, CustomScreenshotWriter is probably not set.({ex.Message})\n{ex.StackTrace}"); - return null; - } - var messageCollectorType = _assemblyLoader.GetLibType(LibType.ScreenshotFilesCollector); - return (_reflectionWrapper.InvokeMethod(messageCollectorType, null, "GetAllPendingScreenshotFiles", - BindingFlags.Static | BindingFlags.Public) as IEnumerable).FirstOrDefault(); - } - - private void InvokeScreenshotCapture() { - var gaugeScreenshotsType = _assemblyLoader.GetLibType(LibType.GaugeScreenshots); - _reflectionWrapper.InvokeMethod(gaugeScreenshotsType, null, "Capture", - BindingFlags.Static | BindingFlags.Public); - } - } -} \ No newline at end of file diff --git a/src/Executor/CustomTaskScheduler.cs b/src/Executor/CustomTaskScheduler.cs deleted file mode 100644 index b409f76..0000000 --- a/src/Executor/CustomTaskScheduler.cs +++ /dev/null @@ -1,58 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; - -namespace Gauge.Dotnet.Executor -{ - public sealed class CustomTaskScheduler : TaskScheduler, IDisposable - { - private BlockingCollection tasksCollection = new BlockingCollection(); - - private readonly Thread thread = null; - - public CustomTaskScheduler() - { - thread = new Thread(new ThreadStart(Execute)); - if (!thread.IsAlive) - { - thread.Start(); - } - } - - private void Execute() - { - foreach (var task in tasksCollection.GetConsumingEnumerable()) - { - TryExecuteTask(task); - } - } - protected override IEnumerable GetScheduledTasks() - { - return tasksCollection.ToArray(); - } - protected override void QueueTask(Task task) - { - if (task != null) - tasksCollection.Add(task); - } - protected override bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued) - { - return false; - } - - public void Dispose() - { - tasksCollection.CompleteAdding(); - thread.Join(); - tasksCollection.Dispose(); - } - } -} \ No newline at end of file diff --git a/src/Executor/ExecutorPool.cs b/src/Executor/ExecutorPool.cs deleted file mode 100644 index df7751b..0000000 --- a/src/Executor/ExecutorPool.cs +++ /dev/null @@ -1,57 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - -using System; -using System.Collections.Concurrent; -using System.Threading; -using System.Threading.Tasks; - -namespace Gauge.Dotnet.Executor -{ - public class ExecutorPool : IDisposable - { - public bool IsMultithreading { get; internal set; } - private ConcurrentDictionary _workers = new ConcurrentDictionary(); - - public ExecutorPool(int size, bool isMultithreading) - { - for (int i = 1; i <= size; i++) - { - bool added = _workers.TryAdd(GetName(i), new CustomTaskScheduler()); - if (!added) - { - Logger.Fatal("Failed to add Wroker for stream " + i); - } - } - - IsMultithreading = isMultithreading; - } - - public void Dispose() - { - foreach (var w in _workers) - { - w.Value.Dispose(); - } - } - - public Task Execute(int stream, Func fn) - { - bool found = _workers.TryGetValue(GetName(stream), out CustomTaskScheduler scheduler); - if (found) - { - return Task.Factory.StartNew(fn, new CancellationToken(), TaskCreationOptions.None, scheduler); - } - throw new StreamNotFountException(stream); - } - - private string GetName(int i) - { - return $"Executor-{i}"; - } - - } -} \ No newline at end of file diff --git a/src/Executors/ExecutionInfoMapper.cs b/src/Executors/ExecutionInfoMapper.cs new file mode 100644 index 0000000..5aa03b1 --- /dev/null +++ b/src/Executors/ExecutionInfoMapper.cs @@ -0,0 +1,96 @@ +/*---------------------------------------------------------------- + * Copyright (c) ThoughtWorks, Inc. + * Licensed under the Apache License, Version 2.0 + * See LICENSE.txt in the project root for license information. + *----------------------------------------------------------------*/ + + +using Gauge.Dotnet.Processors; +using Gauge.Dotnet.Wrappers; +using Gauge.Messages; + +namespace Gauge.Dotnet.Executors; + +public class ExecutionInfoMapper : IExecutionInfoMapper +{ + private Type _executionContextType; + private readonly IActivatorWrapper activatorWrapper; + private readonly ITableFormatter tableFormatter; + + public ExecutionInfoMapper(IAssemblyLoader assemblyLoader, IActivatorWrapper activatorWrapper) + { + _executionContextType = assemblyLoader.GetLibType(LibType.ExecutionContext); + this.activatorWrapper = activatorWrapper; + tableFormatter = new TableFormatter(assemblyLoader, activatorWrapper); + } + + public dynamic ExecutionContextFrom(ExecutionInfo currentExecutionInfo) + { + if (currentExecutionInfo == null) + return activatorWrapper.CreateInstance(_executionContextType); + + return activatorWrapper.CreateInstance(_executionContextType, SpecificationFrom(currentExecutionInfo.CurrentSpec), + ScenarioFrom(currentExecutionInfo.CurrentScenario), + StepFrom(currentExecutionInfo.CurrentStep)); + } + + private dynamic SpecificationFrom(SpecInfo currentSpec) + { + var executionContextSpecType = _executionContextType.GetNestedType("Specification"); + return currentSpec != null + ? activatorWrapper.CreateInstance(executionContextSpecType, currentSpec.Name, currentSpec.FileName, currentSpec.IsFailed, + currentSpec.Tags.ToArray()) + : activatorWrapper.CreateInstance(executionContextSpecType); + } + + private dynamic ScenarioFrom(ScenarioInfo currentScenario) + { + var executionContextScenarioType = _executionContextType.GetNestedType("Scenario"); + if (currentScenario != null && currentScenario.Retries == null) + { + currentScenario.Retries = new ScenarioRetriesInfo { MaxRetries = 0, CurrentRetry = 0 }; + } + return currentScenario != null + ? activatorWrapper.CreateInstance(executionContextScenarioType, currentScenario.Name, currentScenario.IsFailed, + currentScenario.Tags.ToArray(), currentScenario.Retries.MaxRetries, currentScenario.Retries.CurrentRetry) + : activatorWrapper.CreateInstance(executionContextScenarioType); + } + + private dynamic StepFrom(StepInfo currentStep) + { + var executionContextStepType = _executionContextType.GetNestedType("StepDetails"); ; + if (currentStep == null || currentStep.Step == null) + return activatorWrapper.CreateInstance(executionContextStepType); + + var parameters = new List>(); + foreach (var parameter in currentStep.Step.Parameters) + { + if (parameter.ParameterType == Parameter.Types.ParameterType.Static) + { + parameters.Add(new List { "Static", parameter.Name, parameter.Value }); + } + else if (parameter.ParameterType == Parameter.Types.ParameterType.Dynamic) + { + parameters.Add(new List { "Dynamic", parameter.Name, parameter.Value }); + } + else if (parameter.ParameterType == Parameter.Types.ParameterType.SpecialString) + { + parameters.Add(new List { "Special", parameter.Name, parameter.Value }); + } + else if (parameter.ParameterType == Parameter.Types.ParameterType.SpecialTable || + parameter.ParameterType == Parameter.Types.ParameterType.Table) + { + var asJSon = tableFormatter.GetJSON(parameter.Table); + parameters.Add(new List { "Table", parameter.Name, asJSon }); + } + } + + var inst = activatorWrapper.CreateInstance( + executionContextStepType, + currentStep.Step.ActualStepText, currentStep.IsFailed, + currentStep.StackTrace, currentStep.ErrorMessage, + parameters); + + return inst; + } +} \ No newline at end of file diff --git a/src/Executors/ExecutionOrchestrator.cs b/src/Executors/ExecutionOrchestrator.cs new file mode 100644 index 0000000..3c19ed5 --- /dev/null +++ b/src/Executors/ExecutionOrchestrator.cs @@ -0,0 +1,149 @@ +/*---------------------------------------------------------------- + * Copyright (c) ThoughtWorks, Inc. + * Licensed under the Apache License, Version 2.0 + * See LICENSE.txt in the project root for license information. + *----------------------------------------------------------------*/ + + +using System.Diagnostics; +using System.Reflection; +using Gauge.Dotnet.Extensions; +using Gauge.Dotnet.Models; +using Gauge.Dotnet.Strategy; +using Gauge.Dotnet.Wrappers; +using Gauge.Messages; + +namespace Gauge.Dotnet.Executors; + +public class ExecutionOrchestrator : IExecutionOrchestrator +{ + private readonly IAssemblyLoader _assemblyLoader; + private readonly object _classInstanceManager; + private readonly IHookExecutor _hookExecutor; + private readonly IReflectionWrapper _reflectionWrapper; + private readonly IStepExecutor _stepExecutor; + private readonly IConfiguration _config; + private readonly ILogger _logger; + + public ExecutionOrchestrator(IReflectionWrapper reflectionWrapper, IAssemblyLoader assemblyLoader, IHookExecutor hookExecutor, IStepExecutor stepExecutor, + IConfiguration config, ILogger logger) + { + _reflectionWrapper = reflectionWrapper; + _assemblyLoader = assemblyLoader; + _classInstanceManager = assemblyLoader.GetClassInstanceManager(); + _hookExecutor = hookExecutor; + _stepExecutor = stepExecutor; + _config = config; + _logger = logger; + } + + + [DebuggerHidden] + public async Task ExecuteStep(GaugeMethod method, int streamId, params string[] args) + { + var stopwatch = Stopwatch.StartNew(); + + var executionResult = await _stepExecutor.Execute(method, streamId, args); + return BuildResult(stopwatch, executionResult); + } + + public void ClearCache() + { + _reflectionWrapper.InvokeMethod(_assemblyLoader.ClassInstanceManagerType, _classInstanceManager, "ClearCache"); + } + + public void StartExecutionScope(string tag) + { + _reflectionWrapper.InvokeMethod(_assemblyLoader.ClassInstanceManagerType, _classInstanceManager, "StartScope", tag); + } + + public void CloseExecutionScope() + { + _reflectionWrapper.InvokeMethod(_assemblyLoader.ClassInstanceManagerType, _classInstanceManager, "CloseScope"); + } + + public IEnumerable GetAllPendingMessages() + { + var messageCollectorType = _assemblyLoader.GetLibType(LibType.MessageCollector); + return _reflectionWrapper.InvokeMethod(messageCollectorType, null, "GetAllPendingMessages", + BindingFlags.Static | BindingFlags.Public) as IEnumerable; + } + + public IEnumerable GetAllPendingScreenshotFiles() + { + var messageCollectorType = _assemblyLoader.GetLibType(LibType.ScreenshotFilesCollector); + return _reflectionWrapper.InvokeMethod(messageCollectorType, null, "GetAllPendingScreenshotFiles", + BindingFlags.Static | BindingFlags.Public) as IEnumerable; + } + + [DebuggerHidden] + public async Task ExecuteHooks(string hookType, HooksStrategy strategy, IList applicableTags, int streamId, ExecutionInfo info) + { + var stopwatch = Stopwatch.StartNew(); + var executionResult = await _hookExecutor.Execute(hookType, strategy, applicableTags, streamId, info); + return BuildResult(stopwatch, executionResult); + } + + private ProtoExecutionResult BuildResult(Stopwatch stopwatch, ExecutionResult executionResult) + { + var result = new ProtoExecutionResult + { + Failed = false, + ExecutionTime = stopwatch.ElapsedMilliseconds, + SkipScenario = executionResult.SkipScenario + }; + var allPendingMessages = GetAllPendingMessages().Where(m => m != null); + result.Message.AddRange(allPendingMessages); + var allPendingScreenShotFiles = GetAllPendingScreenshotFiles().Where(s => s != null); + result.ScreenshotFiles.AddRange(allPendingScreenShotFiles); + + // If runtime skipped scenario return Error message and stack info + if (!string.IsNullOrEmpty(executionResult.ExceptionMessage)) + { + result.ErrorMessage = executionResult.ExceptionMessage; + } + if (!string.IsNullOrEmpty(executionResult.StackTrace)) + { + result.StackTrace = executionResult.StackTrace; + } + if (executionResult.Success) return result; + + var elapsedMilliseconds = stopwatch.ElapsedMilliseconds; + result.Failed = true; + if (_config.ScreenshotOnFailure()) + { + var screenshotFile = TryScreenCapture(); + if (!string.IsNullOrEmpty(screenshotFile)) + { + result.FailureScreenshotFile = screenshotFile; + } + } + + result.RecoverableError = executionResult.Recoverable; + result.ExecutionTime = elapsedMilliseconds; + return result; + } + + private string TryScreenCapture() + { + try + { + InvokeScreenshotCapture(); + } + catch (Exception ex) + { + _logger.LogWarning("Unable to capture screenshot, CustomScreenshotWriter is probably not set.({Message})\n{StackTrace}", ex.Message, ex.StackTrace); + return null; + } + var messageCollectorType = _assemblyLoader.GetLibType(LibType.ScreenshotFilesCollector); + return (_reflectionWrapper.InvokeMethod(messageCollectorType, null, "GetAllPendingScreenshotFiles", + BindingFlags.Static | BindingFlags.Public) as IEnumerable).FirstOrDefault(); + } + + private void InvokeScreenshotCapture() + { + var gaugeScreenshotsType = _assemblyLoader.GetLibType(LibType.GaugeScreenshots); + _reflectionWrapper.InvokeMethod(gaugeScreenshotsType, null, "Capture", + BindingFlags.Static | BindingFlags.Public); + } +} \ No newline at end of file diff --git a/src/Executors/Executor.cs b/src/Executors/Executor.cs new file mode 100644 index 0000000..ad5b16d --- /dev/null +++ b/src/Executors/Executor.cs @@ -0,0 +1,20 @@ +using Gauge.Dotnet.Processors; + +namespace Gauge.Dotnet.Executors; + +internal class Executor : IExecutor +{ + private readonly IServiceProvider _serviceProvider; + + public Executor(IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + } + + public Task Execute(int streamId, TRequest request) + { + var processor = _serviceProvider.GetRequiredService>(); + var result = processor.Process(streamId, request); + return result; + } +} diff --git a/src/Executors/HookExecutor.cs b/src/Executors/HookExecutor.cs new file mode 100644 index 0000000..3a95d24 --- /dev/null +++ b/src/Executors/HookExecutor.cs @@ -0,0 +1,127 @@ +/*---------------------------------------------------------------- + * Copyright (c) ThoughtWorks, Inc. + * Licensed under the Apache License, Version 2.0 + * See LICENSE.txt in the project root for license information. + *----------------------------------------------------------------*/ + + +using System.Reflection; +using Gauge.Dotnet.Models; +using Gauge.Dotnet.Strategy; +using Gauge.Messages; + +namespace Gauge.Dotnet.Executors; + +public class HookExecutor : MethodExecutor, IHookExecutor +{ + private readonly IAssemblyLoader _assemblyLoader; + private readonly IHookRegistry _registry; + private readonly IExecutionInfoMapper _executionInfoMapper; + private readonly ILogger _logger; + + public HookExecutor(IAssemblyLoader assemblyLoader, IExecutionInfoMapper mapper, IHookRegistry registry, ILogger logger) + : base(assemblyLoader) + { + _assemblyLoader = assemblyLoader; + _registry = registry; + _executionInfoMapper = mapper; + _logger = logger; + } + + public async Task Execute(string hookType, IHooksStrategy strategy, IList applicableTags, int streamId, ExecutionInfo info) + { + var methods = GetHookMethods(hookType, strategy, applicableTags); + var executionResult = new ExecutionResult + { + Success = true, + SkipScenario = false + }; + foreach (var method in methods) + { + var methodInfo = _registry.MethodFor(method); + try + { + var context = _executionInfoMapper.ExecutionContextFrom(info); + await ExecuteHook(methodInfo, streamId, context); + } + catch (Exception ex) + { + var baseException = ex.GetBaseException(); + if (baseException != null && + baseException.GetType().Name.Contains("SkipScenario", StringComparison.OrdinalIgnoreCase)) + { + _logger.LogDebug("Skipping scenario when executing hook: {ClassFullName}.{MethodName} : {ExceptionMessage}", methodInfo.DeclaringType.FullName, methodInfo.Name, baseException.Message); + executionResult.StackTrace = baseException.StackTrace; + executionResult.ExceptionMessage = baseException.Message; + executionResult.Source = baseException.Source; + executionResult.Success = true; + executionResult.SkipScenario = true; + } + else + { + _logger.LogDebug("{HookType} Hook execution failed : {ClassFullName}.{MethodName}", hookType, methodInfo.DeclaringType.FullName, methodInfo.Name); + var innerException = ex.InnerException ?? ex; + executionResult.ExceptionMessage = innerException.Message; + executionResult.StackTrace = innerException.StackTrace; + executionResult.Source = innerException.Source; + executionResult.Success = false; + } + } + } + + return executionResult; + } + + private async Task ExecuteHook(MethodInfo method, int streamId, params object[] objects) + { + if (HasArguments(method, objects)) + await Execute(method, streamId, objects); + else + await Execute(method, streamId); + } + + + private static bool HasArguments(MethodInfo method, object[] args) + { + if (method.GetParameters().Length != args.Length) + return false; + return !args.Where((t, i) => t.GetType() != method.GetParameters()[i].ParameterType).Any(); + } + + + private IEnumerable GetHookMethods(string hookType, IHooksStrategy strategy, IEnumerable applicableTags) + { + var hooksFromRegistry = GetHooksFromRegistry(hookType); + return strategy.GetApplicableHooks(applicableTags, hooksFromRegistry); + } + + + private IEnumerable GetHooksFromRegistry(string hookType) + { + switch (hookType) + { + case "BeforeSuite": + return _registry.BeforeSuiteHooks; + case "BeforeSpec": + return _registry.BeforeSpecHooks; + case "BeforeScenario": + return _registry.BeforeScenarioHooks; + case "BeforeStep": + return _registry.BeforeStepHooks; + case "AfterStep": + return _registry.AfterStepHooks; + case "BeforeConcept": + return _registry.BeforeConceptHooks; + case "AfterConcept": + return _registry.AfterConceptHooks; + case "AfterScenario": + return _registry.AfterScenarioHooks; + case "AfterSpec": + return _registry.AfterSpecHooks; + case "AfterSuite": + return _registry.AfterSuiteHooks; + default: + return null; + } + } +} \ No newline at end of file diff --git a/src/IExecutionInfoMapper.cs b/src/Executors/IExecutionInfoMapper.cs similarity index 67% rename from src/IExecutionInfoMapper.cs rename to src/Executors/IExecutionInfoMapper.cs index 353b4bd..fde6b93 100644 --- a/src/IExecutionInfoMapper.cs +++ b/src/Executors/IExecutionInfoMapper.cs @@ -7,10 +7,9 @@ using Gauge.Messages; -namespace Gauge.Dotnet +namespace Gauge.Dotnet.Executors; + +public interface IExecutionInfoMapper { - public interface IExecutionInfoMapper - { - dynamic ExecutionContextFrom(ExecutionInfo currentExecutionInfo); - } + dynamic ExecutionContextFrom(ExecutionInfo currentExecutionInfo); } \ No newline at end of file diff --git a/src/Executors/IExecutionOrchestrator.cs b/src/Executors/IExecutionOrchestrator.cs new file mode 100644 index 0000000..c894835 --- /dev/null +++ b/src/Executors/IExecutionOrchestrator.cs @@ -0,0 +1,27 @@ +/*---------------------------------------------------------------- + * Copyright (c) ThoughtWorks, Inc. + * Licensed under the Apache License, Version 2.0 + * See LICENSE.txt in the project root for license information. + *----------------------------------------------------------------*/ + + +using Gauge.Dotnet.Models; +using Gauge.Dotnet.Strategy; +using Gauge.Messages; + +namespace Gauge.Dotnet.Executors; + +public interface IExecutionOrchestrator +{ + Task ExecuteStep(GaugeMethod method, int streamId, params string[] args); + + Task ExecuteHooks(string hookType, HooksStrategy strategy, IList applicableTags, int streamId, ExecutionInfo context); + + void ClearCache(); + + void StartExecutionScope(string tag); + void CloseExecutionScope(); + IEnumerable GetAllPendingMessages(); + IEnumerable GetAllPendingScreenshotFiles(); + +} \ No newline at end of file diff --git a/src/Executors/IExecutor.cs b/src/Executors/IExecutor.cs new file mode 100644 index 0000000..19ff207 --- /dev/null +++ b/src/Executors/IExecutor.cs @@ -0,0 +1,6 @@ +namespace Gauge.Dotnet.Executors; + +public interface IExecutor +{ + Task Execute(int stream, TRequest request); +} diff --git a/src/IHookExecutor.cs b/src/Executors/IHookExecutor.cs similarity index 60% rename from src/IHookExecutor.cs rename to src/Executors/IHookExecutor.cs index 90a7acf..1e13b12 100644 --- a/src/IHookExecutor.cs +++ b/src/Executors/IHookExecutor.cs @@ -5,16 +5,13 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using Gauge.Messages; using Gauge.Dotnet.Models; using Gauge.Dotnet.Strategy; +using Gauge.Messages; + +namespace Gauge.Dotnet.Executors; -namespace Gauge.Dotnet +public interface IHookExecutor { - public interface IHookExecutor - { - ExecutionResult Execute(string hookType, IHooksStrategy strategy, IList applicableTags, - ExecutionInfo context); - } + Task Execute(string hookType, IHooksStrategy strategy, IList applicableTags, int streamId, ExecutionInfo context); } \ No newline at end of file diff --git a/src/IStepExecutor.cs b/src/Executors/IStepExecutor.cs similarity index 67% rename from src/IStepExecutor.cs rename to src/Executors/IStepExecutor.cs index 334073c..470a9ae 100644 --- a/src/IStepExecutor.cs +++ b/src/Executors/IStepExecutor.cs @@ -7,10 +7,9 @@ using Gauge.Dotnet.Models; -namespace Gauge.Dotnet +namespace Gauge.Dotnet.Executors; + +public interface IStepExecutor { - public interface IStepExecutor - { - ExecutionResult Execute(GaugeMethod gaugeMethod, string[] args); - } + Task Execute(GaugeMethod gaugeMethod, int streamId, string[] args); } \ No newline at end of file diff --git a/src/Executors/MethodExecutor.cs b/src/Executors/MethodExecutor.cs new file mode 100644 index 0000000..9c2d801 --- /dev/null +++ b/src/Executors/MethodExecutor.cs @@ -0,0 +1,33 @@ +/*---------------------------------------------------------------- + * Copyright (c) ThoughtWorks, Inc. + * Licensed under the Apache License, Version 2.0 + * See LICENSE.txt in the project root for license information. + *----------------------------------------------------------------*/ + + +using System.Reflection; + +namespace Gauge.Dotnet.Executors; + +public abstract class MethodExecutor +{ + private readonly object _classInstanceManager; + private readonly Type _classInstanceManagerType; + + + protected MethodExecutor(IAssemblyLoader assemblyLoader) + { + _classInstanceManagerType = assemblyLoader.ClassInstanceManagerType; + _classInstanceManager = assemblyLoader.GetClassInstanceManager(); + } + + protected async Task Execute(MethodInfo method, int streamId, params object[] parameters) + { + var invokeMethod = _classInstanceManagerType.GetMethod("InvokeMethod"); + var response = invokeMethod.Invoke(_classInstanceManager, new object[] { method, streamId, parameters }); + if (response is Task task) + { + await task; + } + } +} \ No newline at end of file diff --git a/src/Executors/StepExecutor.cs b/src/Executors/StepExecutor.cs new file mode 100644 index 0000000..abf4e17 --- /dev/null +++ b/src/Executors/StepExecutor.cs @@ -0,0 +1,92 @@ +/*---------------------------------------------------------------- + * Copyright (c) ThoughtWorks, Inc. + * Licensed under the Apache License, Version 2.0 + * See LICENSE.txt in the project root for license information. + *----------------------------------------------------------------*/ + + +using System.Runtime.Serialization.Json; +using System.Text; +using Gauge.Dotnet.Converters; +using Gauge.Dotnet.Models; + +namespace Gauge.Dotnet.Executors; + +public class StepExecutor : MethodExecutor, IStepExecutor +{ + private readonly IAssemblyLoader _assemblyLoader; + private readonly ILogger _logger; + + public StepExecutor(IAssemblyLoader assemblyLoader, ILogger logger) + : base(assemblyLoader) + { + _assemblyLoader = assemblyLoader; + _logger = logger; + } + + public async Task Execute(GaugeMethod gaugeMethod, int streamId, params string[] args) + { + { + var method = gaugeMethod.MethodInfo; + var executionResult = new ExecutionResult + { + Success = true, + SkipScenario = false + }; + try + { + var parameters = args.Select(o => + { + try + { + return GetTable(o); + } + catch + { + return o; + } + }).ToArray(); + _logger.LogDebug("Executing method: {MethodName}", gaugeMethod.Name); + await Execute(method, streamId, StringParamConverter.TryConvertParams(method, parameters)); + executionResult.Success = true; + } + catch (Exception ex) + { + var baseException = ex.GetBaseException(); + if (baseException != null && + baseException.GetType().Name.Contains("SkipScenario", StringComparison.OrdinalIgnoreCase)) + { + _logger.LogDebug("Skipping scenario when executing method: {MethodName} : {ExceptionMessage}", method.Name, baseException.Message); + executionResult.ExceptionMessage = baseException.Message; + executionResult.StackTrace = baseException.StackTrace; + executionResult.Source = baseException.Source; + executionResult.Success = true; + executionResult.SkipScenario = true; + } + else + { + _logger.LogDebug("Error executing {MethodName} : {ExceptionMessage}", method.Name, method.Name); + var innerException = ex.InnerException ?? ex; + executionResult.ExceptionMessage = innerException.Message; + executionResult.StackTrace = innerException is AggregateException + ? innerException.ToString() + : innerException.StackTrace; + executionResult.Source = innerException.Source; + executionResult.Recoverable = gaugeMethod.ContinueOnFailure; + executionResult.Success = false; + } + } + + return executionResult; + } + } + + private object GetTable(string jsonString) + { + var serializer = new DataContractJsonSerializer(_assemblyLoader.GetLibType(LibType.Table)); + using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString))) + { + return serializer.ReadObject(ms); + } + } +} \ No newline at end of file diff --git a/src/Extensions/ConfigurationExtensions.cs b/src/Extensions/ConfigurationExtensions.cs new file mode 100644 index 0000000..bc8ec65 --- /dev/null +++ b/src/Extensions/ConfigurationExtensions.cs @@ -0,0 +1,63 @@ +namespace Gauge.Dotnet.Extensions; + +public static class ConfigurationExtensions +{ + public static bool IgnoreBuildFailures(this IConfiguration config) => + config.GetValue("GAUGE_IGNORE_RUNNER_BUILD_FAILURES", false); + + public static bool IsDaemon(this IConfiguration config) => + config.GetValue("IS_DAEMON", false); + + public static bool IsMultithreading(this IConfiguration config) => + config.GetValue("ENABLE_MULTITHREADING", false); + + public static bool ScreenshotOnFailure(this IConfiguration config) => + config.GetValue("SCREENSHOT_ON_FAILURE", true); + + public static bool IsDebugging(this IConfiguration config) => + config.GetValue("DEBUGGING", false); + + public static string GetGaugeProjectRoot(this IConfiguration config) => + config.GetValue("GAUGE_PROJECT_ROOT"); + + public static string GetGaugeCustomBuildPath(this IConfiguration config) => + config.GetValue("GAUGE_CUSTOM_BUILD_PATH"); + + public static string GetGaugeCSharpProjectFile(this IConfiguration config) => + config.GetValue("GAUGE_CSHARP_PROJECT_FILE"); + + public static string GetGaugeCSharpBuildArgs(this IConfiguration config) => + config.GetValue("GAUGE_DOTNET_BUILD_ARGS"); + + public static string GetGaugeCSharpRuntime(this IConfiguration config) => + config.GetValue("GAUGE_DOTNET_RUNTIME"); + + public static string GetGaugeCSharpConfig(this IConfiguration config) => + config.GetValue("GAUGE_CSHARP_PROJECT_CONFIG") ?? "release"; + + public static string GetGaugeLogLevel(this IConfiguration config) => + config.GetValue("GAUGE_LOG_LEVEL"); + + public static string GetGaugeClearStateFlag(this IConfiguration config) => + config.GetValue("GAUGE_CLEAR_STATE_LEVEL"); + + public static string GetGaugeExcludeDirs(this IConfiguration config) => + config.GetValue("GAUGE_EXCLUDE_DIRS"); + + public static string GetGaugeBinDir(this IConfiguration config) + { + var customBuildPath = config.GetValue("GAUGE_CUSTOM_BUILD_PATH"); + if (string.IsNullOrEmpty(customBuildPath)) + return Path.Combine(config.GetGaugeProjectRoot(), "gauge_bin"); + try + { + return Uri.TryCreate(customBuildPath, UriKind.Absolute, out _) + ? customBuildPath + : Path.Combine(config.GetGaugeProjectRoot(), customBuildPath); + } + catch (Exception) + { + return Path.Combine(config.GetGaugeProjectRoot(), "gauge_bin"); + } + } +} diff --git a/src/Gauge.CSharp.Core/AbstractGaugeConnection.cs b/src/Gauge.CSharp.Core/AbstractGaugeConnection.cs deleted file mode 100644 index 5621295..0000000 --- a/src/Gauge.CSharp.Core/AbstractGaugeConnection.cs +++ /dev/null @@ -1,50 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ -using System; -using System.Collections.Generic; -using Google.Protobuf; - -namespace Gauge.CSharp.Core -{ - public abstract class AbstractGaugeConnection : IDisposable - { - protected readonly ITcpClientWrapper TcpClientWrapper; - - protected AbstractGaugeConnection(ITcpClientWrapper tcpClientWrapper) - { - TcpClientWrapper = tcpClientWrapper; - } - - public bool Connected => TcpClientWrapper.Connected; - - public void Dispose() - { - TcpClientWrapper.Close(); - } - - public void WriteMessage(IMessage request) - { - var bytes = request.ToByteArray(); - var cos = new CodedOutputStream(TcpClientWrapper.GetStream()); - cos.WriteUInt64((ulong) bytes.Length); - cos.Flush(); - TcpClientWrapper.GetStream().Write(bytes, 0, bytes.Length); - TcpClientWrapper.GetStream().Flush(); - } - - public IEnumerable ReadBytes() - { - var networkStream = TcpClientWrapper.GetStream(); - var codedInputStream = new CodedInputStream(networkStream); - return codedInputStream.ReadBytes(); - } - - protected static long GenerateMessageId() - { - return DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond; - } - } -} \ No newline at end of file diff --git a/src/Gauge.CSharp.Core/Api.cs b/src/Gauge.CSharp.Core/Api.cs deleted file mode 100644 index b0dcc4b..0000000 --- a/src/Gauge.CSharp.Core/Api.cs +++ /dev/null @@ -1,7026 +0,0 @@ -// -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: api.proto -// -#pragma warning disable 1591, 0612, 3021, 8981 -#region Designer generated code - -using pb = global::Google.Protobuf; -using pbc = global::Google.Protobuf.Collections; -using pbr = global::Google.Protobuf.Reflection; -using scg = global::System.Collections.Generic; -namespace Gauge.Messages { - - /// Holder for reflection information generated from api.proto - public static partial class ApiReflection { - - #region Descriptor - /// File descriptor for api.proto - public static pbr::FileDescriptor Descriptor { - get { return descriptor; } - } - private static pbr::FileDescriptor descriptor; - - static ApiReflection() { - byte[] descriptorData = global::System.Convert.FromBase64String( - string.Concat( - "CglhcGkucHJvdG8SDmdhdWdlLm1lc3NhZ2VzGgpzcGVjLnByb3RvIhcKFUdl", - "dFByb2plY3RSb290UmVxdWVzdCItChZHZXRQcm9qZWN0Um9vdFJlc3BvbnNl", - "EhMKC3Byb2plY3RSb290GAEgASgJIhwKGkdldEluc3RhbGxhdGlvblJvb3RS", - "ZXF1ZXN0IjcKG0dldEluc3RhbGxhdGlvblJvb3RSZXNwb25zZRIYChBpbnN0", - "YWxsYXRpb25Sb290GAEgASgJIhQKEkdldEFsbFN0ZXBzUmVxdWVzdCJHChNH", - "ZXRBbGxTdGVwc1Jlc3BvbnNlEjAKCGFsbFN0ZXBzGAEgAygLMh4uZ2F1Z2Uu", - "bWVzc2FnZXMuUHJvdG9TdGVwVmFsdWUiHQoMU3BlY3NSZXF1ZXN0Eg0KBXNw", - "ZWNzGAEgAygJIq0BCg1TcGVjc1Jlc3BvbnNlEjkKB2RldGFpbHMYASADKAsy", - "KC5nYXVnZS5tZXNzYWdlcy5TcGVjc1Jlc3BvbnNlLlNwZWNEZXRhaWwaYQoK", - "U3BlY0RldGFpbBInCgRzcGVjGAEgASgLMhkuZ2F1Z2UubWVzc2FnZXMuUHJv", - "dG9TcGVjEioKC3BhcnNlRXJyb3JzGAIgAygLMhUuZ2F1Z2UubWVzc2FnZXMu", - "RXJyb3IiFwoVR2V0QWxsQ29uY2VwdHNSZXF1ZXN0IkcKFkdldEFsbENvbmNl", - "cHRzUmVzcG9uc2USLQoIY29uY2VwdHMYASADKAsyGy5nYXVnZS5tZXNzYWdl", - "cy5Db25jZXB0SW5mbyJmCgtDb25jZXB0SW5mbxIxCglzdGVwVmFsdWUYASAB", - "KAsyHi5nYXVnZS5tZXNzYWdlcy5Qcm90b1N0ZXBWYWx1ZRIQCghmaWxlcGF0", - "aBgCIAEoCRISCgpsaW5lTnVtYmVyGAMgASgFIj8KE0dldFN0ZXBWYWx1ZVJl", - "cXVlc3QSEAoIc3RlcFRleHQYASABKAkSFgoOaGFzSW5saW5lVGFibGUYAiAB", - "KAgiSQoUR2V0U3RlcFZhbHVlUmVzcG9uc2USMQoJc3RlcFZhbHVlGAEgASgL", - "Mh4uZ2F1Z2UubWVzc2FnZXMuUHJvdG9TdGVwVmFsdWUiMwofR2V0TGFuZ3Vh", - "Z2VQbHVnaW5MaWJQYXRoUmVxdWVzdBIQCghsYW5ndWFnZRgBIAEoCSIwCiBH", - "ZXRMYW5ndWFnZVBsdWdpbkxpYlBhdGhSZXNwb25zZRIMCgRwYXRoGAEgASgJ", - "Ih4KDUVycm9yUmVzcG9uc2USDQoFZXJyb3IYASABKAkiPQoZUGVyZm9ybVJl", - "ZmFjdG9yaW5nUmVxdWVzdBIPCgdvbGRTdGVwGAEgASgJEg8KB25ld1N0ZXAY", - "AiABKAkiUwoaUGVyZm9ybVJlZmFjdG9yaW5nUmVzcG9uc2USDwoHc3VjY2Vz", - "cxgBIAEoCBIOCgZlcnJvcnMYAiADKAkSFAoMZmlsZXNDaGFuZ2VkGAMgAygJ", - "ItEBChVFeHRyYWN0Q29uY2VwdFJlcXVlc3QSKQoLY29uY2VwdE5hbWUYASAB", - "KAsyFC5nYXVnZS5tZXNzYWdlcy5zdGVwEiMKBXN0ZXBzGAIgAygLMhQuZ2F1", - "Z2UubWVzc2FnZXMuc3RlcBIbChNjaGFuZ2VBY3Jvc3NQcm9qZWN0GAMgASgI", - "EhcKD2NvbmNlcHRGaWxlTmFtZRgEIAEoCRIyChBzZWxlY3RlZFRleHRJbmZv", - "GAUgASgLMhguZ2F1Z2UubWVzc2FnZXMudGV4dEluZm8iRwoIdGV4dEluZm8S", - "EAoIZmlsZU5hbWUYASABKAkSFgoOc3RhcnRpbmdMaW5lTm8YAiABKAUSEQoJ", - "ZW5kTGluZU5vGAMgASgFIjsKBHN0ZXASDAoEbmFtZRgBIAEoCRINCgV0YWJs", - "ZRgCIAEoCRIWCg5wYXJhbVRhYmxlTmFtZRgDIAEoCSJQChZFeHRyYWN0Q29u", - "Y2VwdFJlc3BvbnNlEhEKCWlzU3VjY2VzcxgBIAEoCBINCgVlcnJvchgCIAEo", - "CRIUCgxmaWxlc0NoYW5nZWQYAyADKAkiIwoSRm9ybWF0U3BlY3NSZXF1ZXN0", - "Eg0KBXNwZWNzGAEgAygJIjcKE0Zvcm1hdFNwZWNzUmVzcG9uc2USDgoGZXJy", - "b3JzGAEgAygJEhAKCHdhcm5pbmdzGAIgAygJIh8KHVVuc3VwcG9ydGVkQXBp", - "TWVzc2FnZVJlc3BvbnNlIqkRCgpBUElNZXNzYWdlEj4KC21lc3NhZ2VUeXBl", - "GAEgASgOMikuZ2F1Z2UubWVzc2FnZXMuQVBJTWVzc2FnZS5BUElNZXNzYWdl", - "VHlwZRIRCgltZXNzYWdlSWQYAiABKAMSQQoScHJvamVjdFJvb3RSZXF1ZXN0", - "GAMgASgLMiUuZ2F1Z2UubWVzc2FnZXMuR2V0UHJvamVjdFJvb3RSZXF1ZXN0", - "EkMKE3Byb2plY3RSb290UmVzcG9uc2UYBCABKAsyJi5nYXVnZS5tZXNzYWdl", - "cy5HZXRQcm9qZWN0Um9vdFJlc3BvbnNlEksKF2luc3RhbGxhdGlvblJvb3RS", - "ZXF1ZXN0GAUgASgLMiouZ2F1Z2UubWVzc2FnZXMuR2V0SW5zdGFsbGF0aW9u", - "Um9vdFJlcXVlc3QSTQoYaW5zdGFsbGF0aW9uUm9vdFJlc3BvbnNlGAYgASgL", - "MisuZ2F1Z2UubWVzc2FnZXMuR2V0SW5zdGFsbGF0aW9uUm9vdFJlc3BvbnNl", - "EjsKD2FsbFN0ZXBzUmVxdWVzdBgHIAEoCzIiLmdhdWdlLm1lc3NhZ2VzLkdl", - "dEFsbFN0ZXBzUmVxdWVzdBI9ChBhbGxTdGVwc1Jlc3BvbnNlGAggASgLMiMu", - "Z2F1Z2UubWVzc2FnZXMuR2V0QWxsU3RlcHNSZXNwb25zZRIyCgxzcGVjc1Jl", - "cXVlc3QYCSABKAsyHC5nYXVnZS5tZXNzYWdlcy5TcGVjc1JlcXVlc3QSNAoN", - "c3BlY3NSZXNwb25zZRgKIAEoCzIdLmdhdWdlLm1lc3NhZ2VzLlNwZWNzUmVz", - "cG9uc2USPQoQc3RlcFZhbHVlUmVxdWVzdBgLIAEoCzIjLmdhdWdlLm1lc3Nh", - "Z2VzLkdldFN0ZXBWYWx1ZVJlcXVlc3QSPwoRc3RlcFZhbHVlUmVzcG9uc2UY", - "DCABKAsyJC5nYXVnZS5tZXNzYWdlcy5HZXRTdGVwVmFsdWVSZXNwb25zZRJH", - "Cg5saWJQYXRoUmVxdWVzdBgNIAEoCzIvLmdhdWdlLm1lc3NhZ2VzLkdldExh", - "bmd1YWdlUGx1Z2luTGliUGF0aFJlcXVlc3QSSQoPbGliUGF0aFJlc3BvbnNl", - "GA4gASgLMjAuZ2F1Z2UubWVzc2FnZXMuR2V0TGFuZ3VhZ2VQbHVnaW5MaWJQ", - "YXRoUmVzcG9uc2USLAoFZXJyb3IYDyABKAsyHS5nYXVnZS5tZXNzYWdlcy5F", - "cnJvclJlc3BvbnNlEkEKEmFsbENvbmNlcHRzUmVxdWVzdBgQIAEoCzIlLmdh", - "dWdlLm1lc3NhZ2VzLkdldEFsbENvbmNlcHRzUmVxdWVzdBJDChNhbGxDb25j", - "ZXB0c1Jlc3BvbnNlGBEgASgLMiYuZ2F1Z2UubWVzc2FnZXMuR2V0QWxsQ29u", - "Y2VwdHNSZXNwb25zZRJMChlwZXJmb3JtUmVmYWN0b3JpbmdSZXF1ZXN0GBIg", - "ASgLMikuZ2F1Z2UubWVzc2FnZXMuUGVyZm9ybVJlZmFjdG9yaW5nUmVxdWVz", - "dBJOChpwZXJmb3JtUmVmYWN0b3JpbmdSZXNwb25zZRgTIAEoCzIqLmdhdWdl", - "Lm1lc3NhZ2VzLlBlcmZvcm1SZWZhY3RvcmluZ1Jlc3BvbnNlEkQKFWV4dHJh", - "Y3RDb25jZXB0UmVxdWVzdBgUIAEoCzIlLmdhdWdlLm1lc3NhZ2VzLkV4dHJh", - "Y3RDb25jZXB0UmVxdWVzdBJGChZleHRyYWN0Q29uY2VwdFJlc3BvbnNlGBUg", - "ASgLMiYuZ2F1Z2UubWVzc2FnZXMuRXh0cmFjdENvbmNlcHRSZXNwb25zZRI+", - "ChJmb3JtYXRTcGVjc1JlcXVlc3QYFiABKAsyIi5nYXVnZS5tZXNzYWdlcy5G", - "b3JtYXRTcGVjc1JlcXVlc3QSQAoTZm9ybWF0U3BlY3NSZXNwb25zZRgXIAEo", - "CzIjLmdhdWdlLm1lc3NhZ2VzLkZvcm1hdFNwZWNzUmVzcG9uc2USVAoddW5z", - "dXBwb3J0ZWRBcGlNZXNzYWdlUmVzcG9uc2UYGCABKAsyLS5nYXVnZS5tZXNz", - "YWdlcy5VbnN1cHBvcnRlZEFwaU1lc3NhZ2VSZXNwb25zZSLvBAoOQVBJTWVz", - "c2FnZVR5cGUSGQoVR2V0UHJvamVjdFJvb3RSZXF1ZXN0EAASGgoWR2V0UHJv", - "amVjdFJvb3RSZXNwb25zZRABEh4KGkdldEluc3RhbGxhdGlvblJvb3RSZXF1", - "ZXN0EAISHwobR2V0SW5zdGFsbGF0aW9uUm9vdFJlc3BvbnNlEAMSFgoSR2V0", - "QWxsU3RlcHNSZXF1ZXN0EAQSFgoSR2V0QWxsU3RlcFJlc3BvbnNlEAUSEAoM", - "U3BlY3NSZXF1ZXN0EAYSEQoNU3BlY3NSZXNwb25zZRAHEhcKE0dldFN0ZXBW", - "YWx1ZVJlcXVlc3QQCBIYChRHZXRTdGVwVmFsdWVSZXNwb25zZRAJEiMKH0dl", - "dExhbmd1YWdlUGx1Z2luTGliUGF0aFJlcXVlc3QQChIkCiBHZXRMYW5ndWFn", - "ZVBsdWdpbkxpYlBhdGhSZXNwb25zZRALEhEKDUVycm9yUmVzcG9uc2UQDBIZ", - "ChVHZXRBbGxDb25jZXB0c1JlcXVlc3QQDRIaChZHZXRBbGxDb25jZXB0c1Jl", - "c3BvbnNlEA4SHQoZUGVyZm9ybVJlZmFjdG9yaW5nUmVxdWVzdBAPEh4KGlBl", - "cmZvcm1SZWZhY3RvcmluZ1Jlc3BvbnNlEBASGQoVRXh0cmFjdENvbmNlcHRS", - "ZXF1ZXN0EBESGgoWRXh0cmFjdENvbmNlcHRSZXNwb25zZRASEhYKEkZvcm1h", - "dFNwZWNzUmVxdWVzdBATEhcKE0Zvcm1hdFNwZWNzUmVzcG9uc2UQFBIhCh1V", - "bnN1cHBvcnRlZEFwaU1lc3NhZ2VSZXNwb25zZRAVQlwKFmNvbS50aG91Z2h0", - "d29ya3MuZ2F1Z2VaMWdpdGh1Yi5jb20vZ2V0Z2F1Z2UvZ2F1Z2UtcHJvdG8v", - "Z28vZ2F1Z2VfbWVzc2FnZXOqAg5HYXVnZS5NZXNzYWdlc2IGcHJvdG8z")); - descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { global::Gauge.Messages.SpecReflection.Descriptor, }, - new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.GetProjectRootRequest), global::Gauge.Messages.GetProjectRootRequest.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.GetProjectRootResponse), global::Gauge.Messages.GetProjectRootResponse.Parser, new[]{ "ProjectRoot" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.GetInstallationRootRequest), global::Gauge.Messages.GetInstallationRootRequest.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.GetInstallationRootResponse), global::Gauge.Messages.GetInstallationRootResponse.Parser, new[]{ "InstallationRoot" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.GetAllStepsRequest), global::Gauge.Messages.GetAllStepsRequest.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.GetAllStepsResponse), global::Gauge.Messages.GetAllStepsResponse.Parser, new[]{ "AllSteps" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.SpecsRequest), global::Gauge.Messages.SpecsRequest.Parser, new[]{ "Specs" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.SpecsResponse), global::Gauge.Messages.SpecsResponse.Parser, new[]{ "Details" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.SpecsResponse.Types.SpecDetail), global::Gauge.Messages.SpecsResponse.Types.SpecDetail.Parser, new[]{ "Spec", "ParseErrors" }, null, null, null, null)}), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.GetAllConceptsRequest), global::Gauge.Messages.GetAllConceptsRequest.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.GetAllConceptsResponse), global::Gauge.Messages.GetAllConceptsResponse.Parser, new[]{ "Concepts" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ConceptInfo), global::Gauge.Messages.ConceptInfo.Parser, new[]{ "StepValue", "Filepath", "LineNumber" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.GetStepValueRequest), global::Gauge.Messages.GetStepValueRequest.Parser, new[]{ "StepText", "HasInlineTable" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.GetStepValueResponse), global::Gauge.Messages.GetStepValueResponse.Parser, new[]{ "StepValue" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.GetLanguagePluginLibPathRequest), global::Gauge.Messages.GetLanguagePluginLibPathRequest.Parser, new[]{ "Language" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.GetLanguagePluginLibPathResponse), global::Gauge.Messages.GetLanguagePluginLibPathResponse.Parser, new[]{ "Path" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ErrorResponse), global::Gauge.Messages.ErrorResponse.Parser, new[]{ "Error" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.PerformRefactoringRequest), global::Gauge.Messages.PerformRefactoringRequest.Parser, new[]{ "OldStep", "NewStep" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.PerformRefactoringResponse), global::Gauge.Messages.PerformRefactoringResponse.Parser, new[]{ "Success", "Errors", "FilesChanged" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ExtractConceptRequest), global::Gauge.Messages.ExtractConceptRequest.Parser, new[]{ "ConceptName", "Steps", "ChangeAcrossProject", "ConceptFileName", "SelectedTextInfo" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.textInfo), global::Gauge.Messages.textInfo.Parser, new[]{ "FileName", "StartingLineNo", "EndLineNo" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.step), global::Gauge.Messages.step.Parser, new[]{ "Name", "Table", "ParamTableName" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ExtractConceptResponse), global::Gauge.Messages.ExtractConceptResponse.Parser, new[]{ "IsSuccess", "Error", "FilesChanged" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.FormatSpecsRequest), global::Gauge.Messages.FormatSpecsRequest.Parser, new[]{ "Specs" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.FormatSpecsResponse), global::Gauge.Messages.FormatSpecsResponse.Parser, new[]{ "Errors", "Warnings" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.UnsupportedApiMessageResponse), global::Gauge.Messages.UnsupportedApiMessageResponse.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.APIMessage), global::Gauge.Messages.APIMessage.Parser, new[]{ "MessageType", "MessageId", "ProjectRootRequest", "ProjectRootResponse", "InstallationRootRequest", "InstallationRootResponse", "AllStepsRequest", "AllStepsResponse", "SpecsRequest", "SpecsResponse", "StepValueRequest", "StepValueResponse", "LibPathRequest", "LibPathResponse", "Error", "AllConceptsRequest", "AllConceptsResponse", "PerformRefactoringRequest", "PerformRefactoringResponse", "ExtractConceptRequest", "ExtractConceptResponse", "FormatSpecsRequest", "FormatSpecsResponse", "UnsupportedApiMessageResponse" }, null, new[]{ typeof(global::Gauge.Messages.APIMessage.Types.APIMessageType) }, null, null) - })); - } - #endregion - - } - #region Messages - /// - //// Request to get the Root Directory of the project - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class GetProjectRootRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetProjectRootRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[0]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetProjectRootRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetProjectRootRequest(GetProjectRootRequest other) : this() { - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetProjectRootRequest Clone() { - return new GetProjectRootRequest(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as GetProjectRootRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(GetProjectRootRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(GetProjectRootRequest other) { - if (other == null) { - return; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - } - } - } - #endif - - } - - /// - //// Response of GetProjectRootRequest. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class GetProjectRootResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetProjectRootResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[1]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetProjectRootResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetProjectRootResponse(GetProjectRootResponse other) : this() { - projectRoot_ = other.projectRoot_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetProjectRootResponse Clone() { - return new GetProjectRootResponse(this); - } - - /// Field number for the "projectRoot" field. - public const int ProjectRootFieldNumber = 1; - private string projectRoot_ = ""; - /// - //// Holds the absolute path of the Project Root directory. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ProjectRoot { - get { return projectRoot_; } - set { - projectRoot_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as GetProjectRootResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(GetProjectRootResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (ProjectRoot != other.ProjectRoot) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (ProjectRoot.Length != 0) hash ^= ProjectRoot.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (ProjectRoot.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ProjectRoot); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ProjectRoot.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ProjectRoot); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (ProjectRoot.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ProjectRoot); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(GetProjectRootResponse other) { - if (other == null) { - return; - } - if (other.ProjectRoot.Length != 0) { - ProjectRoot = other.ProjectRoot; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - ProjectRoot = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - ProjectRoot = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// Request to get the Root Directory of the Gauge installation - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class GetInstallationRootRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetInstallationRootRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[2]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetInstallationRootRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetInstallationRootRequest(GetInstallationRootRequest other) : this() { - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetInstallationRootRequest Clone() { - return new GetInstallationRootRequest(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as GetInstallationRootRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(GetInstallationRootRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(GetInstallationRootRequest other) { - if (other == null) { - return; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - } - } - } - #endif - - } - - /// - //// Response of GetInstallationRootRequest - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class GetInstallationRootResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetInstallationRootResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[3]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetInstallationRootResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetInstallationRootResponse(GetInstallationRootResponse other) : this() { - installationRoot_ = other.installationRoot_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetInstallationRootResponse Clone() { - return new GetInstallationRootResponse(this); - } - - /// Field number for the "installationRoot" field. - public const int InstallationRootFieldNumber = 1; - private string installationRoot_ = ""; - /// - //// Holds the absolute path of the Gauge installation directory - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string InstallationRoot { - get { return installationRoot_; } - set { - installationRoot_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as GetInstallationRootResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(GetInstallationRootResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (InstallationRoot != other.InstallationRoot) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (InstallationRoot.Length != 0) hash ^= InstallationRoot.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (InstallationRoot.Length != 0) { - output.WriteRawTag(10); - output.WriteString(InstallationRoot); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (InstallationRoot.Length != 0) { - output.WriteRawTag(10); - output.WriteString(InstallationRoot); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (InstallationRoot.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(InstallationRoot); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(GetInstallationRootResponse other) { - if (other == null) { - return; - } - if (other.InstallationRoot.Length != 0) { - InstallationRoot = other.InstallationRoot; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - InstallationRoot = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - InstallationRoot = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// Request to get all Steps in the project - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class GetAllStepsRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetAllStepsRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[4]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetAllStepsRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetAllStepsRequest(GetAllStepsRequest other) : this() { - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetAllStepsRequest Clone() { - return new GetAllStepsRequest(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as GetAllStepsRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(GetAllStepsRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(GetAllStepsRequest other) { - if (other == null) { - return; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - } - } - } - #endif - - } - - /// - //// Response to GetAllStepsRequest - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class GetAllStepsResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetAllStepsResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[5]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetAllStepsResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetAllStepsResponse(GetAllStepsResponse other) : this() { - allSteps_ = other.allSteps_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetAllStepsResponse Clone() { - return new GetAllStepsResponse(this); - } - - /// Field number for the "allSteps" field. - public const int AllStepsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_allSteps_codec - = pb::FieldCodec.ForMessage(10, global::Gauge.Messages.ProtoStepValue.Parser); - private readonly pbc::RepeatedField allSteps_ = new pbc::RepeatedField(); - /// - //// Holds a collection of Steps that are defined in the project. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField AllSteps { - get { return allSteps_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as GetAllStepsResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(GetAllStepsResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!allSteps_.Equals(other.allSteps_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - hash ^= allSteps_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - allSteps_.WriteTo(output, _repeated_allSteps_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - allSteps_.WriteTo(ref output, _repeated_allSteps_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - size += allSteps_.CalculateSize(_repeated_allSteps_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(GetAllStepsResponse other) { - if (other == null) { - return; - } - allSteps_.Add(other.allSteps_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - allSteps_.AddEntriesFrom(input, _repeated_allSteps_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - allSteps_.AddEntriesFrom(ref input, _repeated_allSteps_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Request to get all Specs in the project - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class SpecsRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SpecsRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[6]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecsRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecsRequest(SpecsRequest other) : this() { - specs_ = other.specs_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecsRequest Clone() { - return new SpecsRequest(this); - } - - /// Field number for the "specs" field. - public const int SpecsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_specs_codec - = pb::FieldCodec.ForString(10); - private readonly pbc::RepeatedField specs_ = new pbc::RepeatedField(); - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Specs { - get { return specs_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SpecsRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SpecsRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!specs_.Equals(other.specs_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - hash ^= specs_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - specs_.WriteTo(output, _repeated_specs_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - specs_.WriteTo(ref output, _repeated_specs_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - size += specs_.CalculateSize(_repeated_specs_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SpecsRequest other) { - if (other == null) { - return; - } - specs_.Add(other.specs_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - specs_.AddEntriesFrom(input, _repeated_specs_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - specs_.AddEntriesFrom(ref input, _repeated_specs_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Response to GetAllSpecsRequest - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class SpecsResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SpecsResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[7]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecsResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecsResponse(SpecsResponse other) : this() { - details_ = other.details_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecsResponse Clone() { - return new SpecsResponse(this); - } - - /// Field number for the "details" field. - public const int DetailsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_details_codec - = pb::FieldCodec.ForMessage(10, global::Gauge.Messages.SpecsResponse.Types.SpecDetail.Parser); - private readonly pbc::RepeatedField details_ = new pbc::RepeatedField(); - /// - //// Holds a collection of Spec details. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Details { - get { return details_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SpecsResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SpecsResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!details_.Equals(other.details_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - hash ^= details_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - details_.WriteTo(output, _repeated_details_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - details_.WriteTo(ref output, _repeated_details_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - size += details_.CalculateSize(_repeated_details_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SpecsResponse other) { - if (other == null) { - return; - } - details_.Add(other.details_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - details_.AddEntriesFrom(input, _repeated_details_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - details_.AddEntriesFrom(ref input, _repeated_details_codec); - break; - } - } - } - } - #endif - - #region Nested types - /// Container for nested types declared in the SpecsResponse message type. - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static partial class Types { - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class SpecDetail : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SpecDetail()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecsResponse.Descriptor.NestedTypes[0]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecDetail() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecDetail(SpecDetail other) : this() { - spec_ = other.spec_ != null ? other.spec_.Clone() : null; - parseErrors_ = other.parseErrors_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecDetail Clone() { - return new SpecDetail(this); - } - - /// Field number for the "spec" field. - public const int SpecFieldNumber = 1; - private global::Gauge.Messages.ProtoSpec spec_; - /// - //// Holds a collection of Specs that are defined in the project. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoSpec Spec { - get { return spec_; } - set { - spec_ = value; - } - } - - /// Field number for the "parseErrors" field. - public const int ParseErrorsFieldNumber = 2; - private static readonly pb::FieldCodec _repeated_parseErrors_codec - = pb::FieldCodec.ForMessage(18, global::Gauge.Messages.Error.Parser); - private readonly pbc::RepeatedField parseErrors_ = new pbc::RepeatedField(); - /// - //// Holds a collection of parse errors present in the above spec. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField ParseErrors { - get { return parseErrors_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SpecDetail); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SpecDetail other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(Spec, other.Spec)) return false; - if(!parseErrors_.Equals(other.parseErrors_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (spec_ != null) hash ^= Spec.GetHashCode(); - hash ^= parseErrors_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (spec_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Spec); - } - parseErrors_.WriteTo(output, _repeated_parseErrors_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (spec_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Spec); - } - parseErrors_.WriteTo(ref output, _repeated_parseErrors_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (spec_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Spec); - } - size += parseErrors_.CalculateSize(_repeated_parseErrors_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SpecDetail other) { - if (other == null) { - return; - } - if (other.spec_ != null) { - if (spec_ == null) { - Spec = new global::Gauge.Messages.ProtoSpec(); - } - Spec.MergeFrom(other.Spec); - } - parseErrors_.Add(other.parseErrors_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (spec_ == null) { - Spec = new global::Gauge.Messages.ProtoSpec(); - } - input.ReadMessage(Spec); - break; - } - case 18: { - parseErrors_.AddEntriesFrom(input, _repeated_parseErrors_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (spec_ == null) { - Spec = new global::Gauge.Messages.ProtoSpec(); - } - input.ReadMessage(Spec); - break; - } - case 18: { - parseErrors_.AddEntriesFrom(ref input, _repeated_parseErrors_codec); - break; - } - } - } - } - #endif - - } - - } - #endregion - - } - - /// - //// Request to get all Concepts in the project - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class GetAllConceptsRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetAllConceptsRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[8]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetAllConceptsRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetAllConceptsRequest(GetAllConceptsRequest other) : this() { - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetAllConceptsRequest Clone() { - return new GetAllConceptsRequest(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as GetAllConceptsRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(GetAllConceptsRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(GetAllConceptsRequest other) { - if (other == null) { - return; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - } - } - } - #endif - - } - - /// - //// Response to GetAllConceptsResponse - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class GetAllConceptsResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetAllConceptsResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[9]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetAllConceptsResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetAllConceptsResponse(GetAllConceptsResponse other) : this() { - concepts_ = other.concepts_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetAllConceptsResponse Clone() { - return new GetAllConceptsResponse(this); - } - - /// Field number for the "concepts" field. - public const int ConceptsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_concepts_codec - = pb::FieldCodec.ForMessage(10, global::Gauge.Messages.ConceptInfo.Parser); - private readonly pbc::RepeatedField concepts_ = new pbc::RepeatedField(); - /// - //// Holds a collection of Concepts that are defined in the project. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Concepts { - get { return concepts_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as GetAllConceptsResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(GetAllConceptsResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!concepts_.Equals(other.concepts_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - hash ^= concepts_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - concepts_.WriteTo(output, _repeated_concepts_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - concepts_.WriteTo(ref output, _repeated_concepts_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - size += concepts_.CalculateSize(_repeated_concepts_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(GetAllConceptsResponse other) { - if (other == null) { - return; - } - concepts_.Add(other.concepts_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - concepts_.AddEntriesFrom(input, _repeated_concepts_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - concepts_.AddEntriesFrom(ref input, _repeated_concepts_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Details of a Concept - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ConceptInfo : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ConceptInfo()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[10]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ConceptInfo() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ConceptInfo(ConceptInfo other) : this() { - stepValue_ = other.stepValue_ != null ? other.stepValue_.Clone() : null; - filepath_ = other.filepath_; - lineNumber_ = other.lineNumber_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ConceptInfo Clone() { - return new ConceptInfo(this); - } - - /// Field number for the "stepValue" field. - public const int StepValueFieldNumber = 1; - private global::Gauge.Messages.ProtoStepValue stepValue_; - /// - //// The text that defines a concept - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoStepValue StepValue { - get { return stepValue_; } - set { - stepValue_ = value; - } - } - - /// Field number for the "filepath" field. - public const int FilepathFieldNumber = 2; - private string filepath_ = ""; - /// - //// The absolute path to the file that contains the Concept - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Filepath { - get { return filepath_; } - set { - filepath_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "lineNumber" field. - public const int LineNumberFieldNumber = 3; - private int lineNumber_; - /// - //// The line number in the file where the concept is defined. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int LineNumber { - get { return lineNumber_; } - set { - lineNumber_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ConceptInfo); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ConceptInfo other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(StepValue, other.StepValue)) return false; - if (Filepath != other.Filepath) return false; - if (LineNumber != other.LineNumber) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (stepValue_ != null) hash ^= StepValue.GetHashCode(); - if (Filepath.Length != 0) hash ^= Filepath.GetHashCode(); - if (LineNumber != 0) hash ^= LineNumber.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (stepValue_ != null) { - output.WriteRawTag(10); - output.WriteMessage(StepValue); - } - if (Filepath.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Filepath); - } - if (LineNumber != 0) { - output.WriteRawTag(24); - output.WriteInt32(LineNumber); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (stepValue_ != null) { - output.WriteRawTag(10); - output.WriteMessage(StepValue); - } - if (Filepath.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Filepath); - } - if (LineNumber != 0) { - output.WriteRawTag(24); - output.WriteInt32(LineNumber); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (stepValue_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepValue); - } - if (Filepath.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Filepath); - } - if (LineNumber != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(LineNumber); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ConceptInfo other) { - if (other == null) { - return; - } - if (other.stepValue_ != null) { - if (stepValue_ == null) { - StepValue = new global::Gauge.Messages.ProtoStepValue(); - } - StepValue.MergeFrom(other.StepValue); - } - if (other.Filepath.Length != 0) { - Filepath = other.Filepath; - } - if (other.LineNumber != 0) { - LineNumber = other.LineNumber; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (stepValue_ == null) { - StepValue = new global::Gauge.Messages.ProtoStepValue(); - } - input.ReadMessage(StepValue); - break; - } - case 18: { - Filepath = input.ReadString(); - break; - } - case 24: { - LineNumber = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (stepValue_ == null) { - StepValue = new global::Gauge.Messages.ProtoStepValue(); - } - input.ReadMessage(StepValue); - break; - } - case 18: { - Filepath = input.ReadString(); - break; - } - case 24: { - LineNumber = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Request to get a Step Value. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class GetStepValueRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetStepValueRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[11]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetStepValueRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetStepValueRequest(GetStepValueRequest other) : this() { - stepText_ = other.stepText_; - hasInlineTable_ = other.hasInlineTable_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetStepValueRequest Clone() { - return new GetStepValueRequest(this); - } - - /// Field number for the "stepText" field. - public const int StepTextFieldNumber = 1; - private string stepText_ = ""; - /// - //// The text of the Step. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string StepText { - get { return stepText_; } - set { - stepText_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "hasInlineTable" field. - public const int HasInlineTableFieldNumber = 2; - private bool hasInlineTable_; - /// - //// Flag to indicate if the Step has an inline table. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool HasInlineTable { - get { return hasInlineTable_; } - set { - hasInlineTable_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as GetStepValueRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(GetStepValueRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (StepText != other.StepText) return false; - if (HasInlineTable != other.HasInlineTable) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (StepText.Length != 0) hash ^= StepText.GetHashCode(); - if (HasInlineTable != false) hash ^= HasInlineTable.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (StepText.Length != 0) { - output.WriteRawTag(10); - output.WriteString(StepText); - } - if (HasInlineTable != false) { - output.WriteRawTag(16); - output.WriteBool(HasInlineTable); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (StepText.Length != 0) { - output.WriteRawTag(10); - output.WriteString(StepText); - } - if (HasInlineTable != false) { - output.WriteRawTag(16); - output.WriteBool(HasInlineTable); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (StepText.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(StepText); - } - if (HasInlineTable != false) { - size += 1 + 1; - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(GetStepValueRequest other) { - if (other == null) { - return; - } - if (other.StepText.Length != 0) { - StepText = other.StepText; - } - if (other.HasInlineTable != false) { - HasInlineTable = other.HasInlineTable; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - StepText = input.ReadString(); - break; - } - case 16: { - HasInlineTable = input.ReadBool(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - StepText = input.ReadString(); - break; - } - case 16: { - HasInlineTable = input.ReadBool(); - break; - } - } - } - } - #endif - - } - - /// - //// Response to GetStepValueRequest - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class GetStepValueResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetStepValueResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[12]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetStepValueResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetStepValueResponse(GetStepValueResponse other) : this() { - stepValue_ = other.stepValue_ != null ? other.stepValue_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetStepValueResponse Clone() { - return new GetStepValueResponse(this); - } - - /// Field number for the "stepValue" field. - public const int StepValueFieldNumber = 1; - private global::Gauge.Messages.ProtoStepValue stepValue_; - /// - //// The Step corresponding to the request provided. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoStepValue StepValue { - get { return stepValue_; } - set { - stepValue_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as GetStepValueResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(GetStepValueResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(StepValue, other.StepValue)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (stepValue_ != null) hash ^= StepValue.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (stepValue_ != null) { - output.WriteRawTag(10); - output.WriteMessage(StepValue); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (stepValue_ != null) { - output.WriteRawTag(10); - output.WriteMessage(StepValue); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (stepValue_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepValue); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(GetStepValueResponse other) { - if (other == null) { - return; - } - if (other.stepValue_ != null) { - if (stepValue_ == null) { - StepValue = new global::Gauge.Messages.ProtoStepValue(); - } - StepValue.MergeFrom(other.StepValue); - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (stepValue_ == null) { - StepValue = new global::Gauge.Messages.ProtoStepValue(); - } - input.ReadMessage(StepValue); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (stepValue_ == null) { - StepValue = new global::Gauge.Messages.ProtoStepValue(); - } - input.ReadMessage(StepValue); - break; - } - } - } - } - #endif - - } - - /// - //// Request to get the location of language plugin's Lib directory - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class GetLanguagePluginLibPathRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetLanguagePluginLibPathRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[13]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetLanguagePluginLibPathRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetLanguagePluginLibPathRequest(GetLanguagePluginLibPathRequest other) : this() { - language_ = other.language_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetLanguagePluginLibPathRequest Clone() { - return new GetLanguagePluginLibPathRequest(this); - } - - /// Field number for the "language" field. - public const int LanguageFieldNumber = 1; - private string language_ = ""; - /// - //// The language to locate the lib directory for. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Language { - get { return language_; } - set { - language_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as GetLanguagePluginLibPathRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(GetLanguagePluginLibPathRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Language != other.Language) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Language.Length != 0) hash ^= Language.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Language.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Language); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Language.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Language); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Language.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Language); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(GetLanguagePluginLibPathRequest other) { - if (other == null) { - return; - } - if (other.Language.Length != 0) { - Language = other.Language; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - Language = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - Language = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// Response to GetLanguagePluginLibPathRequest - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class GetLanguagePluginLibPathResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetLanguagePluginLibPathResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[14]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetLanguagePluginLibPathResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetLanguagePluginLibPathResponse(GetLanguagePluginLibPathResponse other) : this() { - path_ = other.path_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public GetLanguagePluginLibPathResponse Clone() { - return new GetLanguagePluginLibPathResponse(this); - } - - /// Field number for the "path" field. - public const int PathFieldNumber = 1; - private string path_ = ""; - /// - //// Absolute path to the Lib directory of the language. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Path { - get { return path_; } - set { - path_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as GetLanguagePluginLibPathResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(GetLanguagePluginLibPathResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Path != other.Path) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Path.Length != 0) hash ^= Path.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Path.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Path); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Path.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Path); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Path.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Path); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(GetLanguagePluginLibPathResponse other) { - if (other == null) { - return; - } - if (other.Path.Length != 0) { - Path = other.Path; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - Path = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - Path = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// A generic failure response - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ErrorResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ErrorResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[15]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ErrorResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ErrorResponse(ErrorResponse other) : this() { - error_ = other.error_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ErrorResponse Clone() { - return new ErrorResponse(this); - } - - /// Field number for the "error" field. - public const int ErrorFieldNumber = 1; - private string error_ = ""; - /// - //// Actual error message - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Error { - get { return error_; } - set { - error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ErrorResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ErrorResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Error != other.Error) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Error.Length != 0) hash ^= Error.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Error.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Error); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Error.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Error); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Error.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ErrorResponse other) { - if (other == null) { - return; - } - if (other.Error.Length != 0) { - Error = other.Error; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - Error = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - Error = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// Request to perform a Refactor - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class PerformRefactoringRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PerformRefactoringRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[16]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public PerformRefactoringRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public PerformRefactoringRequest(PerformRefactoringRequest other) : this() { - oldStep_ = other.oldStep_; - newStep_ = other.newStep_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public PerformRefactoringRequest Clone() { - return new PerformRefactoringRequest(this); - } - - /// Field number for the "oldStep" field. - public const int OldStepFieldNumber = 1; - private string oldStep_ = ""; - /// - //// Step to refactor - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string OldStep { - get { return oldStep_; } - set { - oldStep_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "newStep" field. - public const int NewStepFieldNumber = 2; - private string newStep_ = ""; - /// - //// Change to be made - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string NewStep { - get { return newStep_; } - set { - newStep_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as PerformRefactoringRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(PerformRefactoringRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (OldStep != other.OldStep) return false; - if (NewStep != other.NewStep) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (OldStep.Length != 0) hash ^= OldStep.GetHashCode(); - if (NewStep.Length != 0) hash ^= NewStep.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (OldStep.Length != 0) { - output.WriteRawTag(10); - output.WriteString(OldStep); - } - if (NewStep.Length != 0) { - output.WriteRawTag(18); - output.WriteString(NewStep); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (OldStep.Length != 0) { - output.WriteRawTag(10); - output.WriteString(OldStep); - } - if (NewStep.Length != 0) { - output.WriteRawTag(18); - output.WriteString(NewStep); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (OldStep.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(OldStep); - } - if (NewStep.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(NewStep); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(PerformRefactoringRequest other) { - if (other == null) { - return; - } - if (other.OldStep.Length != 0) { - OldStep = other.OldStep; - } - if (other.NewStep.Length != 0) { - NewStep = other.NewStep; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - OldStep = input.ReadString(); - break; - } - case 18: { - NewStep = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - OldStep = input.ReadString(); - break; - } - case 18: { - NewStep = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// Response to PerformRefactoringRequest - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class PerformRefactoringResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PerformRefactoringResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[17]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public PerformRefactoringResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public PerformRefactoringResponse(PerformRefactoringResponse other) : this() { - success_ = other.success_; - errors_ = other.errors_.Clone(); - filesChanged_ = other.filesChanged_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public PerformRefactoringResponse Clone() { - return new PerformRefactoringResponse(this); - } - - /// Field number for the "success" field. - public const int SuccessFieldNumber = 1; - private bool success_; - /// - //// Flag indicating Success - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Success { - get { return success_; } - set { - success_ = value; - } - } - - /// Field number for the "errors" field. - public const int ErrorsFieldNumber = 2; - private static readonly pb::FieldCodec _repeated_errors_codec - = pb::FieldCodec.ForString(18); - private readonly pbc::RepeatedField errors_ = new pbc::RepeatedField(); - /// - //// Error message if the refactoring was unsuccessful. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Errors { - get { return errors_; } - } - - /// Field number for the "filesChanged" field. - public const int FilesChangedFieldNumber = 3; - private static readonly pb::FieldCodec _repeated_filesChanged_codec - = pb::FieldCodec.ForString(26); - private readonly pbc::RepeatedField filesChanged_ = new pbc::RepeatedField(); - /// - //// Collection of files that were changed as part of the Refactoring. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField FilesChanged { - get { return filesChanged_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as PerformRefactoringResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(PerformRefactoringResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Success != other.Success) return false; - if(!errors_.Equals(other.errors_)) return false; - if(!filesChanged_.Equals(other.filesChanged_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Success != false) hash ^= Success.GetHashCode(); - hash ^= errors_.GetHashCode(); - hash ^= filesChanged_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Success != false) { - output.WriteRawTag(8); - output.WriteBool(Success); - } - errors_.WriteTo(output, _repeated_errors_codec); - filesChanged_.WriteTo(output, _repeated_filesChanged_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Success != false) { - output.WriteRawTag(8); - output.WriteBool(Success); - } - errors_.WriteTo(ref output, _repeated_errors_codec); - filesChanged_.WriteTo(ref output, _repeated_filesChanged_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Success != false) { - size += 1 + 1; - } - size += errors_.CalculateSize(_repeated_errors_codec); - size += filesChanged_.CalculateSize(_repeated_filesChanged_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(PerformRefactoringResponse other) { - if (other == null) { - return; - } - if (other.Success != false) { - Success = other.Success; - } - errors_.Add(other.errors_); - filesChanged_.Add(other.filesChanged_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - Success = input.ReadBool(); - break; - } - case 18: { - errors_.AddEntriesFrom(input, _repeated_errors_codec); - break; - } - case 26: { - filesChanged_.AddEntriesFrom(input, _repeated_filesChanged_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - Success = input.ReadBool(); - break; - } - case 18: { - errors_.AddEntriesFrom(ref input, _repeated_errors_codec); - break; - } - case 26: { - filesChanged_.AddEntriesFrom(ref input, _repeated_filesChanged_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Request to perform Extract to Concept refactoring - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ExtractConceptRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ExtractConceptRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[18]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExtractConceptRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExtractConceptRequest(ExtractConceptRequest other) : this() { - conceptName_ = other.conceptName_ != null ? other.conceptName_.Clone() : null; - steps_ = other.steps_.Clone(); - changeAcrossProject_ = other.changeAcrossProject_; - conceptFileName_ = other.conceptFileName_; - selectedTextInfo_ = other.selectedTextInfo_ != null ? other.selectedTextInfo_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExtractConceptRequest Clone() { - return new ExtractConceptRequest(this); - } - - /// Field number for the "conceptName" field. - public const int ConceptNameFieldNumber = 1; - private global::Gauge.Messages.step conceptName_; - /// - //// The Concept name given by the user - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.step ConceptName { - get { return conceptName_; } - set { - conceptName_ = value; - } - } - - /// Field number for the "steps" field. - public const int StepsFieldNumber = 2; - private static readonly pb::FieldCodec _repeated_steps_codec - = pb::FieldCodec.ForMessage(18, global::Gauge.Messages.step.Parser); - private readonly pbc::RepeatedField steps_ = new pbc::RepeatedField(); - /// - //// steps to extract - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Steps { - get { return steps_; } - } - - /// Field number for the "changeAcrossProject" field. - public const int ChangeAcrossProjectFieldNumber = 3; - private bool changeAcrossProject_; - /// - //// Flag indicating if refactoring should be done across project - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool ChangeAcrossProject { - get { return changeAcrossProject_; } - set { - changeAcrossProject_ = value; - } - } - - /// Field number for the "conceptFileName" field. - public const int ConceptFileNameFieldNumber = 4; - private string conceptFileName_ = ""; - /// - //// The concept filename in which extracted concept will be added - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ConceptFileName { - get { return conceptFileName_; } - set { - conceptFileName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "selectedTextInfo" field. - public const int SelectedTextInfoFieldNumber = 5; - private global::Gauge.Messages.textInfo selectedTextInfo_; - /// - //// Info related to selected text, only if changeAcrossProject is false - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.textInfo SelectedTextInfo { - get { return selectedTextInfo_; } - set { - selectedTextInfo_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ExtractConceptRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ExtractConceptRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(ConceptName, other.ConceptName)) return false; - if(!steps_.Equals(other.steps_)) return false; - if (ChangeAcrossProject != other.ChangeAcrossProject) return false; - if (ConceptFileName != other.ConceptFileName) return false; - if (!object.Equals(SelectedTextInfo, other.SelectedTextInfo)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (conceptName_ != null) hash ^= ConceptName.GetHashCode(); - hash ^= steps_.GetHashCode(); - if (ChangeAcrossProject != false) hash ^= ChangeAcrossProject.GetHashCode(); - if (ConceptFileName.Length != 0) hash ^= ConceptFileName.GetHashCode(); - if (selectedTextInfo_ != null) hash ^= SelectedTextInfo.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (conceptName_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ConceptName); - } - steps_.WriteTo(output, _repeated_steps_codec); - if (ChangeAcrossProject != false) { - output.WriteRawTag(24); - output.WriteBool(ChangeAcrossProject); - } - if (ConceptFileName.Length != 0) { - output.WriteRawTag(34); - output.WriteString(ConceptFileName); - } - if (selectedTextInfo_ != null) { - output.WriteRawTag(42); - output.WriteMessage(SelectedTextInfo); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (conceptName_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ConceptName); - } - steps_.WriteTo(ref output, _repeated_steps_codec); - if (ChangeAcrossProject != false) { - output.WriteRawTag(24); - output.WriteBool(ChangeAcrossProject); - } - if (ConceptFileName.Length != 0) { - output.WriteRawTag(34); - output.WriteString(ConceptFileName); - } - if (selectedTextInfo_ != null) { - output.WriteRawTag(42); - output.WriteMessage(SelectedTextInfo); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (conceptName_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ConceptName); - } - size += steps_.CalculateSize(_repeated_steps_codec); - if (ChangeAcrossProject != false) { - size += 1 + 1; - } - if (ConceptFileName.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ConceptFileName); - } - if (selectedTextInfo_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SelectedTextInfo); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ExtractConceptRequest other) { - if (other == null) { - return; - } - if (other.conceptName_ != null) { - if (conceptName_ == null) { - ConceptName = new global::Gauge.Messages.step(); - } - ConceptName.MergeFrom(other.ConceptName); - } - steps_.Add(other.steps_); - if (other.ChangeAcrossProject != false) { - ChangeAcrossProject = other.ChangeAcrossProject; - } - if (other.ConceptFileName.Length != 0) { - ConceptFileName = other.ConceptFileName; - } - if (other.selectedTextInfo_ != null) { - if (selectedTextInfo_ == null) { - SelectedTextInfo = new global::Gauge.Messages.textInfo(); - } - SelectedTextInfo.MergeFrom(other.SelectedTextInfo); - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (conceptName_ == null) { - ConceptName = new global::Gauge.Messages.step(); - } - input.ReadMessage(ConceptName); - break; - } - case 18: { - steps_.AddEntriesFrom(input, _repeated_steps_codec); - break; - } - case 24: { - ChangeAcrossProject = input.ReadBool(); - break; - } - case 34: { - ConceptFileName = input.ReadString(); - break; - } - case 42: { - if (selectedTextInfo_ == null) { - SelectedTextInfo = new global::Gauge.Messages.textInfo(); - } - input.ReadMessage(SelectedTextInfo); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (conceptName_ == null) { - ConceptName = new global::Gauge.Messages.step(); - } - input.ReadMessage(ConceptName); - break; - } - case 18: { - steps_.AddEntriesFrom(ref input, _repeated_steps_codec); - break; - } - case 24: { - ChangeAcrossProject = input.ReadBool(); - break; - } - case 34: { - ConceptFileName = input.ReadString(); - break; - } - case 42: { - if (selectedTextInfo_ == null) { - SelectedTextInfo = new global::Gauge.Messages.textInfo(); - } - input.ReadMessage(SelectedTextInfo); - break; - } - } - } - } - #endif - - } - - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class textInfo : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new textInfo()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[19]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public textInfo() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public textInfo(textInfo other) : this() { - fileName_ = other.fileName_; - startingLineNo_ = other.startingLineNo_; - endLineNo_ = other.endLineNo_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public textInfo Clone() { - return new textInfo(this); - } - - /// Field number for the "fileName" field. - public const int FileNameFieldNumber = 1; - private string fileName_ = ""; - /// - //// The filename from where concept is being extracted - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string FileName { - get { return fileName_; } - set { - fileName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "startingLineNo" field. - public const int StartingLineNoFieldNumber = 2; - private int startingLineNo_; - /// - //// storing the starting and ending line number of selected text - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int StartingLineNo { - get { return startingLineNo_; } - set { - startingLineNo_ = value; - } - } - - /// Field number for the "endLineNo" field. - public const int EndLineNoFieldNumber = 3; - private int endLineNo_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int EndLineNo { - get { return endLineNo_; } - set { - endLineNo_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as textInfo); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(textInfo other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (FileName != other.FileName) return false; - if (StartingLineNo != other.StartingLineNo) return false; - if (EndLineNo != other.EndLineNo) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (FileName.Length != 0) hash ^= FileName.GetHashCode(); - if (StartingLineNo != 0) hash ^= StartingLineNo.GetHashCode(); - if (EndLineNo != 0) hash ^= EndLineNo.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (FileName.Length != 0) { - output.WriteRawTag(10); - output.WriteString(FileName); - } - if (StartingLineNo != 0) { - output.WriteRawTag(16); - output.WriteInt32(StartingLineNo); - } - if (EndLineNo != 0) { - output.WriteRawTag(24); - output.WriteInt32(EndLineNo); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (FileName.Length != 0) { - output.WriteRawTag(10); - output.WriteString(FileName); - } - if (StartingLineNo != 0) { - output.WriteRawTag(16); - output.WriteInt32(StartingLineNo); - } - if (EndLineNo != 0) { - output.WriteRawTag(24); - output.WriteInt32(EndLineNo); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (FileName.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(FileName); - } - if (StartingLineNo != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(StartingLineNo); - } - if (EndLineNo != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(EndLineNo); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(textInfo other) { - if (other == null) { - return; - } - if (other.FileName.Length != 0) { - FileName = other.FileName; - } - if (other.StartingLineNo != 0) { - StartingLineNo = other.StartingLineNo; - } - if (other.EndLineNo != 0) { - EndLineNo = other.EndLineNo; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - FileName = input.ReadString(); - break; - } - case 16: { - StartingLineNo = input.ReadInt32(); - break; - } - case 24: { - EndLineNo = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - FileName = input.ReadString(); - break; - } - case 16: { - StartingLineNo = input.ReadInt32(); - break; - } - case 24: { - EndLineNo = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class step : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new step()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[20]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public step() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public step(step other) : this() { - name_ = other.name_; - table_ = other.table_; - paramTableName_ = other.paramTableName_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public step Clone() { - return new step(this); - } - - /// Field number for the "name" field. - public const int NameFieldNumber = 1; - private string name_ = ""; - /// - //// name of the step - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Name { - get { return name_; } - set { - name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "table" field. - public const int TableFieldNumber = 2; - private string table_ = ""; - /// - //// table present in step as parameter - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Table { - get { return table_; } - set { - table_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "paramTableName" field. - public const int ParamTableNameFieldNumber = 3; - private string paramTableName_ = ""; - /// - //// name of table in concept heading, if it comes as a param to concept - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParamTableName { - get { return paramTableName_; } - set { - paramTableName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as step); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(step other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Name != other.Name) return false; - if (Table != other.Table) return false; - if (ParamTableName != other.ParamTableName) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Name.Length != 0) hash ^= Name.GetHashCode(); - if (Table.Length != 0) hash ^= Table.GetHashCode(); - if (ParamTableName.Length != 0) hash ^= ParamTableName.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Name.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Name); - } - if (Table.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Table); - } - if (ParamTableName.Length != 0) { - output.WriteRawTag(26); - output.WriteString(ParamTableName); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Name.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Name); - } - if (Table.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Table); - } - if (ParamTableName.Length != 0) { - output.WriteRawTag(26); - output.WriteString(ParamTableName); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Name.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); - } - if (Table.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Table); - } - if (ParamTableName.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParamTableName); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(step other) { - if (other == null) { - return; - } - if (other.Name.Length != 0) { - Name = other.Name; - } - if (other.Table.Length != 0) { - Table = other.Table; - } - if (other.ParamTableName.Length != 0) { - ParamTableName = other.ParamTableName; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - Name = input.ReadString(); - break; - } - case 18: { - Table = input.ReadString(); - break; - } - case 26: { - ParamTableName = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - Name = input.ReadString(); - break; - } - case 18: { - Table = input.ReadString(); - break; - } - case 26: { - ParamTableName = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// Response to perform Extract to Concept refactoring - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ExtractConceptResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ExtractConceptResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[21]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExtractConceptResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExtractConceptResponse(ExtractConceptResponse other) : this() { - isSuccess_ = other.isSuccess_; - error_ = other.error_; - filesChanged_ = other.filesChanged_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExtractConceptResponse Clone() { - return new ExtractConceptResponse(this); - } - - /// Field number for the "isSuccess" field. - public const int IsSuccessFieldNumber = 1; - private bool isSuccess_; - /// - //// Flag indicating Success - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool IsSuccess { - get { return isSuccess_; } - set { - isSuccess_ = value; - } - } - - /// Field number for the "error" field. - public const int ErrorFieldNumber = 2; - private string error_ = ""; - /// - //// Error message if the refactoring was unsuccessful. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Error { - get { return error_; } - set { - error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "filesChanged" field. - public const int FilesChangedFieldNumber = 3; - private static readonly pb::FieldCodec _repeated_filesChanged_codec - = pb::FieldCodec.ForString(26); - private readonly pbc::RepeatedField filesChanged_ = new pbc::RepeatedField(); - /// - //// Collection of files that were changed as part of the Refactoring. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField FilesChanged { - get { return filesChanged_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ExtractConceptResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ExtractConceptResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (IsSuccess != other.IsSuccess) return false; - if (Error != other.Error) return false; - if(!filesChanged_.Equals(other.filesChanged_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (IsSuccess != false) hash ^= IsSuccess.GetHashCode(); - if (Error.Length != 0) hash ^= Error.GetHashCode(); - hash ^= filesChanged_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (IsSuccess != false) { - output.WriteRawTag(8); - output.WriteBool(IsSuccess); - } - if (Error.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Error); - } - filesChanged_.WriteTo(output, _repeated_filesChanged_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (IsSuccess != false) { - output.WriteRawTag(8); - output.WriteBool(IsSuccess); - } - if (Error.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Error); - } - filesChanged_.WriteTo(ref output, _repeated_filesChanged_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (IsSuccess != false) { - size += 1 + 1; - } - if (Error.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); - } - size += filesChanged_.CalculateSize(_repeated_filesChanged_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ExtractConceptResponse other) { - if (other == null) { - return; - } - if (other.IsSuccess != false) { - IsSuccess = other.IsSuccess; - } - if (other.Error.Length != 0) { - Error = other.Error; - } - filesChanged_.Add(other.filesChanged_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - IsSuccess = input.ReadBool(); - break; - } - case 18: { - Error = input.ReadString(); - break; - } - case 26: { - filesChanged_.AddEntriesFrom(input, _repeated_filesChanged_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - IsSuccess = input.ReadBool(); - break; - } - case 18: { - Error = input.ReadString(); - break; - } - case 26: { - filesChanged_.AddEntriesFrom(ref input, _repeated_filesChanged_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Request to format spec files - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class FormatSpecsRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FormatSpecsRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[22]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FormatSpecsRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FormatSpecsRequest(FormatSpecsRequest other) : this() { - specs_ = other.specs_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FormatSpecsRequest Clone() { - return new FormatSpecsRequest(this); - } - - /// Field number for the "specs" field. - public const int SpecsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_specs_codec - = pb::FieldCodec.ForString(10); - private readonly pbc::RepeatedField specs_ = new pbc::RepeatedField(); - /// - //// Specs to be formatted - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Specs { - get { return specs_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as FormatSpecsRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(FormatSpecsRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!specs_.Equals(other.specs_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - hash ^= specs_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - specs_.WriteTo(output, _repeated_specs_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - specs_.WriteTo(ref output, _repeated_specs_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - size += specs_.CalculateSize(_repeated_specs_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(FormatSpecsRequest other) { - if (other == null) { - return; - } - specs_.Add(other.specs_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - specs_.AddEntriesFrom(input, _repeated_specs_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - specs_.AddEntriesFrom(ref input, _repeated_specs_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Response on formatting spec files - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class FormatSpecsResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FormatSpecsResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[23]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FormatSpecsResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FormatSpecsResponse(FormatSpecsResponse other) : this() { - errors_ = other.errors_.Clone(); - warnings_ = other.warnings_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FormatSpecsResponse Clone() { - return new FormatSpecsResponse(this); - } - - /// Field number for the "errors" field. - public const int ErrorsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_errors_codec - = pb::FieldCodec.ForString(10); - private readonly pbc::RepeatedField errors_ = new pbc::RepeatedField(); - /// - //// Errors occurred on formatting - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Errors { - get { return errors_; } - } - - /// Field number for the "warnings" field. - public const int WarningsFieldNumber = 2; - private static readonly pb::FieldCodec _repeated_warnings_codec - = pb::FieldCodec.ForString(18); - private readonly pbc::RepeatedField warnings_ = new pbc::RepeatedField(); - /// - //// Warnings occurred on formatting - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Warnings { - get { return warnings_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as FormatSpecsResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(FormatSpecsResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!errors_.Equals(other.errors_)) return false; - if(!warnings_.Equals(other.warnings_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - hash ^= errors_.GetHashCode(); - hash ^= warnings_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - errors_.WriteTo(output, _repeated_errors_codec); - warnings_.WriteTo(output, _repeated_warnings_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - errors_.WriteTo(ref output, _repeated_errors_codec); - warnings_.WriteTo(ref output, _repeated_warnings_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - size += errors_.CalculateSize(_repeated_errors_codec); - size += warnings_.CalculateSize(_repeated_warnings_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(FormatSpecsResponse other) { - if (other == null) { - return; - } - errors_.Add(other.errors_); - warnings_.Add(other.warnings_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - errors_.AddEntriesFrom(input, _repeated_errors_codec); - break; - } - case 18: { - warnings_.AddEntriesFrom(input, _repeated_warnings_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - errors_.AddEntriesFrom(ref input, _repeated_errors_codec); - break; - } - case 18: { - warnings_.AddEntriesFrom(ref input, _repeated_warnings_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Response when a API message request is not supported. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class UnsupportedApiMessageResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new UnsupportedApiMessageResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[24]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public UnsupportedApiMessageResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public UnsupportedApiMessageResponse(UnsupportedApiMessageResponse other) : this() { - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public UnsupportedApiMessageResponse Clone() { - return new UnsupportedApiMessageResponse(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as UnsupportedApiMessageResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(UnsupportedApiMessageResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(UnsupportedApiMessageResponse other) { - if (other == null) { - return; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - } - } - } - #endif - - } - - /// - //// A generic message composing of all possible operations. - //// One of the Request/Response fields will have value, depending on the MessageType set. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class APIMessage : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new APIMessage()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.ApiReflection.Descriptor.MessageTypes[25]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public APIMessage() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public APIMessage(APIMessage other) : this() { - messageType_ = other.messageType_; - messageId_ = other.messageId_; - projectRootRequest_ = other.projectRootRequest_ != null ? other.projectRootRequest_.Clone() : null; - projectRootResponse_ = other.projectRootResponse_ != null ? other.projectRootResponse_.Clone() : null; - installationRootRequest_ = other.installationRootRequest_ != null ? other.installationRootRequest_.Clone() : null; - installationRootResponse_ = other.installationRootResponse_ != null ? other.installationRootResponse_.Clone() : null; - allStepsRequest_ = other.allStepsRequest_ != null ? other.allStepsRequest_.Clone() : null; - allStepsResponse_ = other.allStepsResponse_ != null ? other.allStepsResponse_.Clone() : null; - specsRequest_ = other.specsRequest_ != null ? other.specsRequest_.Clone() : null; - specsResponse_ = other.specsResponse_ != null ? other.specsResponse_.Clone() : null; - stepValueRequest_ = other.stepValueRequest_ != null ? other.stepValueRequest_.Clone() : null; - stepValueResponse_ = other.stepValueResponse_ != null ? other.stepValueResponse_.Clone() : null; - libPathRequest_ = other.libPathRequest_ != null ? other.libPathRequest_.Clone() : null; - libPathResponse_ = other.libPathResponse_ != null ? other.libPathResponse_.Clone() : null; - error_ = other.error_ != null ? other.error_.Clone() : null; - allConceptsRequest_ = other.allConceptsRequest_ != null ? other.allConceptsRequest_.Clone() : null; - allConceptsResponse_ = other.allConceptsResponse_ != null ? other.allConceptsResponse_.Clone() : null; - performRefactoringRequest_ = other.performRefactoringRequest_ != null ? other.performRefactoringRequest_.Clone() : null; - performRefactoringResponse_ = other.performRefactoringResponse_ != null ? other.performRefactoringResponse_.Clone() : null; - extractConceptRequest_ = other.extractConceptRequest_ != null ? other.extractConceptRequest_.Clone() : null; - extractConceptResponse_ = other.extractConceptResponse_ != null ? other.extractConceptResponse_.Clone() : null; - formatSpecsRequest_ = other.formatSpecsRequest_ != null ? other.formatSpecsRequest_.Clone() : null; - formatSpecsResponse_ = other.formatSpecsResponse_ != null ? other.formatSpecsResponse_.Clone() : null; - unsupportedApiMessageResponse_ = other.unsupportedApiMessageResponse_ != null ? other.unsupportedApiMessageResponse_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public APIMessage Clone() { - return new APIMessage(this); - } - - /// Field number for the "messageType" field. - public const int MessageTypeFieldNumber = 1; - private global::Gauge.Messages.APIMessage.Types.APIMessageType messageType_ = global::Gauge.Messages.APIMessage.Types.APIMessageType.GetProjectRootRequest; - /// - //// Type of API call being made - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.APIMessage.Types.APIMessageType MessageType { - get { return messageType_; } - set { - messageType_ = value; - } - } - - /// Field number for the "messageId" field. - public const int MessageIdFieldNumber = 2; - private long messageId_; - /// - //// A unique id to represent this message. A response to the message should copy over this value. - //// This is used to synchronize messages & responses - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long MessageId { - get { return messageId_; } - set { - messageId_ = value; - } - } - - /// Field number for the "projectRootRequest" field. - public const int ProjectRootRequestFieldNumber = 3; - private global::Gauge.Messages.GetProjectRootRequest projectRootRequest_; - /// - //// [GetProjectRootRequest](#gauge.messages.GetProjectRootRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.GetProjectRootRequest ProjectRootRequest { - get { return projectRootRequest_; } - set { - projectRootRequest_ = value; - } - } - - /// Field number for the "projectRootResponse" field. - public const int ProjectRootResponseFieldNumber = 4; - private global::Gauge.Messages.GetProjectRootResponse projectRootResponse_; - /// - //// [GetProjectRootResponse](#gauge.messages.GetProjectRootResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.GetProjectRootResponse ProjectRootResponse { - get { return projectRootResponse_; } - set { - projectRootResponse_ = value; - } - } - - /// Field number for the "installationRootRequest" field. - public const int InstallationRootRequestFieldNumber = 5; - private global::Gauge.Messages.GetInstallationRootRequest installationRootRequest_; - /// - //// [GetInstallationRootRequest](#gauge.messages.GetInstallationRootRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.GetInstallationRootRequest InstallationRootRequest { - get { return installationRootRequest_; } - set { - installationRootRequest_ = value; - } - } - - /// Field number for the "installationRootResponse" field. - public const int InstallationRootResponseFieldNumber = 6; - private global::Gauge.Messages.GetInstallationRootResponse installationRootResponse_; - /// - //// [GetInstallationRootResponse](#gauge.messages.GetInstallationRootResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.GetInstallationRootResponse InstallationRootResponse { - get { return installationRootResponse_; } - set { - installationRootResponse_ = value; - } - } - - /// Field number for the "allStepsRequest" field. - public const int AllStepsRequestFieldNumber = 7; - private global::Gauge.Messages.GetAllStepsRequest allStepsRequest_; - /// - //// [GetAllStepsRequest](#gauge.messages.GetAllStepsRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.GetAllStepsRequest AllStepsRequest { - get { return allStepsRequest_; } - set { - allStepsRequest_ = value; - } - } - - /// Field number for the "allStepsResponse" field. - public const int AllStepsResponseFieldNumber = 8; - private global::Gauge.Messages.GetAllStepsResponse allStepsResponse_; - /// - //// [GetAllStepsResponse](#gauge.messages.GetAllStepsResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.GetAllStepsResponse AllStepsResponse { - get { return allStepsResponse_; } - set { - allStepsResponse_ = value; - } - } - - /// Field number for the "specsRequest" field. - public const int SpecsRequestFieldNumber = 9; - private global::Gauge.Messages.SpecsRequest specsRequest_; - /// - //// [GetAllSpecsRequest](#gauge.messages.GetAllSpecsRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.SpecsRequest SpecsRequest { - get { return specsRequest_; } - set { - specsRequest_ = value; - } - } - - /// Field number for the "specsResponse" field. - public const int SpecsResponseFieldNumber = 10; - private global::Gauge.Messages.SpecsResponse specsResponse_; - /// - //// [GetAllSpecsResponse](#gauge.messages.GetAllSpecsResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.SpecsResponse SpecsResponse { - get { return specsResponse_; } - set { - specsResponse_ = value; - } - } - - /// Field number for the "stepValueRequest" field. - public const int StepValueRequestFieldNumber = 11; - private global::Gauge.Messages.GetStepValueRequest stepValueRequest_; - /// - //// [GetStepValueRequest](#gauge.messages.GetStepValueRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.GetStepValueRequest StepValueRequest { - get { return stepValueRequest_; } - set { - stepValueRequest_ = value; - } - } - - /// Field number for the "stepValueResponse" field. - public const int StepValueResponseFieldNumber = 12; - private global::Gauge.Messages.GetStepValueResponse stepValueResponse_; - /// - //// [GetStepValueResponse](#gauge.messages.GetStepValueResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.GetStepValueResponse StepValueResponse { - get { return stepValueResponse_; } - set { - stepValueResponse_ = value; - } - } - - /// Field number for the "libPathRequest" field. - public const int LibPathRequestFieldNumber = 13; - private global::Gauge.Messages.GetLanguagePluginLibPathRequest libPathRequest_; - /// - //// [GetLanguagePluginLibPathRequest](#gauge.messages.GetLanguagePluginLibPathRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.GetLanguagePluginLibPathRequest LibPathRequest { - get { return libPathRequest_; } - set { - libPathRequest_ = value; - } - } - - /// Field number for the "libPathResponse" field. - public const int LibPathResponseFieldNumber = 14; - private global::Gauge.Messages.GetLanguagePluginLibPathResponse libPathResponse_; - /// - //// [GetLanguagePluginLibPathResponse](#gauge.messages.GetLanguagePluginLibPathResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.GetLanguagePluginLibPathResponse LibPathResponse { - get { return libPathResponse_; } - set { - libPathResponse_ = value; - } - } - - /// Field number for the "error" field. - public const int ErrorFieldNumber = 15; - private global::Gauge.Messages.ErrorResponse error_; - /// - //// [ErrorResponse](#gauge.messages.ErrorResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ErrorResponse Error { - get { return error_; } - set { - error_ = value; - } - } - - /// Field number for the "allConceptsRequest" field. - public const int AllConceptsRequestFieldNumber = 16; - private global::Gauge.Messages.GetAllConceptsRequest allConceptsRequest_; - /// - //// [GetAllConceptsRequest](#gauge.messages.GetAllConceptsRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.GetAllConceptsRequest AllConceptsRequest { - get { return allConceptsRequest_; } - set { - allConceptsRequest_ = value; - } - } - - /// Field number for the "allConceptsResponse" field. - public const int AllConceptsResponseFieldNumber = 17; - private global::Gauge.Messages.GetAllConceptsResponse allConceptsResponse_; - /// - //// [GetAllConceptsResponse](#gauge.messages.GetAllConceptsResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.GetAllConceptsResponse AllConceptsResponse { - get { return allConceptsResponse_; } - set { - allConceptsResponse_ = value; - } - } - - /// Field number for the "performRefactoringRequest" field. - public const int PerformRefactoringRequestFieldNumber = 18; - private global::Gauge.Messages.PerformRefactoringRequest performRefactoringRequest_; - /// - //// [PerformRefactoringRequest](#gauge.messages.PerformRefactoringRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.PerformRefactoringRequest PerformRefactoringRequest { - get { return performRefactoringRequest_; } - set { - performRefactoringRequest_ = value; - } - } - - /// Field number for the "performRefactoringResponse" field. - public const int PerformRefactoringResponseFieldNumber = 19; - private global::Gauge.Messages.PerformRefactoringResponse performRefactoringResponse_; - /// - //// [PerformRefactoringResponse](#gauge.messages.PerformRefactoringResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.PerformRefactoringResponse PerformRefactoringResponse { - get { return performRefactoringResponse_; } - set { - performRefactoringResponse_ = value; - } - } - - /// Field number for the "extractConceptRequest" field. - public const int ExtractConceptRequestFieldNumber = 20; - private global::Gauge.Messages.ExtractConceptRequest extractConceptRequest_; - /// - //// [ExtractConceptRequest](#gauge.messages.ExtractConceptRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExtractConceptRequest ExtractConceptRequest { - get { return extractConceptRequest_; } - set { - extractConceptRequest_ = value; - } - } - - /// Field number for the "extractConceptResponse" field. - public const int ExtractConceptResponseFieldNumber = 21; - private global::Gauge.Messages.ExtractConceptResponse extractConceptResponse_; - /// - //// [ExtractConceptResponse](#gauge.messages.ExtractConceptResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExtractConceptResponse ExtractConceptResponse { - get { return extractConceptResponse_; } - set { - extractConceptResponse_ = value; - } - } - - /// Field number for the "formatSpecsRequest" field. - public const int FormatSpecsRequestFieldNumber = 22; - private global::Gauge.Messages.FormatSpecsRequest formatSpecsRequest_; - /// - //// [FormatSpecsRequest] (#gauge.messages.FormatSpecsRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.FormatSpecsRequest FormatSpecsRequest { - get { return formatSpecsRequest_; } - set { - formatSpecsRequest_ = value; - } - } - - /// Field number for the "formatSpecsResponse" field. - public const int FormatSpecsResponseFieldNumber = 23; - private global::Gauge.Messages.FormatSpecsResponse formatSpecsResponse_; - /// - //// [FormatSpecsResponse] (#gauge.messages.FormatSpecsResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.FormatSpecsResponse FormatSpecsResponse { - get { return formatSpecsResponse_; } - set { - formatSpecsResponse_ = value; - } - } - - /// Field number for the "unsupportedApiMessageResponse" field. - public const int UnsupportedApiMessageResponseFieldNumber = 24; - private global::Gauge.Messages.UnsupportedApiMessageResponse unsupportedApiMessageResponse_; - /// - //// [UnsupportedApiMessageResponse] (#gauge.messages.UnsupportedApiMessageResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.UnsupportedApiMessageResponse UnsupportedApiMessageResponse { - get { return unsupportedApiMessageResponse_; } - set { - unsupportedApiMessageResponse_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as APIMessage); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(APIMessage other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (MessageType != other.MessageType) return false; - if (MessageId != other.MessageId) return false; - if (!object.Equals(ProjectRootRequest, other.ProjectRootRequest)) return false; - if (!object.Equals(ProjectRootResponse, other.ProjectRootResponse)) return false; - if (!object.Equals(InstallationRootRequest, other.InstallationRootRequest)) return false; - if (!object.Equals(InstallationRootResponse, other.InstallationRootResponse)) return false; - if (!object.Equals(AllStepsRequest, other.AllStepsRequest)) return false; - if (!object.Equals(AllStepsResponse, other.AllStepsResponse)) return false; - if (!object.Equals(SpecsRequest, other.SpecsRequest)) return false; - if (!object.Equals(SpecsResponse, other.SpecsResponse)) return false; - if (!object.Equals(StepValueRequest, other.StepValueRequest)) return false; - if (!object.Equals(StepValueResponse, other.StepValueResponse)) return false; - if (!object.Equals(LibPathRequest, other.LibPathRequest)) return false; - if (!object.Equals(LibPathResponse, other.LibPathResponse)) return false; - if (!object.Equals(Error, other.Error)) return false; - if (!object.Equals(AllConceptsRequest, other.AllConceptsRequest)) return false; - if (!object.Equals(AllConceptsResponse, other.AllConceptsResponse)) return false; - if (!object.Equals(PerformRefactoringRequest, other.PerformRefactoringRequest)) return false; - if (!object.Equals(PerformRefactoringResponse, other.PerformRefactoringResponse)) return false; - if (!object.Equals(ExtractConceptRequest, other.ExtractConceptRequest)) return false; - if (!object.Equals(ExtractConceptResponse, other.ExtractConceptResponse)) return false; - if (!object.Equals(FormatSpecsRequest, other.FormatSpecsRequest)) return false; - if (!object.Equals(FormatSpecsResponse, other.FormatSpecsResponse)) return false; - if (!object.Equals(UnsupportedApiMessageResponse, other.UnsupportedApiMessageResponse)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (MessageType != global::Gauge.Messages.APIMessage.Types.APIMessageType.GetProjectRootRequest) hash ^= MessageType.GetHashCode(); - if (MessageId != 0L) hash ^= MessageId.GetHashCode(); - if (projectRootRequest_ != null) hash ^= ProjectRootRequest.GetHashCode(); - if (projectRootResponse_ != null) hash ^= ProjectRootResponse.GetHashCode(); - if (installationRootRequest_ != null) hash ^= InstallationRootRequest.GetHashCode(); - if (installationRootResponse_ != null) hash ^= InstallationRootResponse.GetHashCode(); - if (allStepsRequest_ != null) hash ^= AllStepsRequest.GetHashCode(); - if (allStepsResponse_ != null) hash ^= AllStepsResponse.GetHashCode(); - if (specsRequest_ != null) hash ^= SpecsRequest.GetHashCode(); - if (specsResponse_ != null) hash ^= SpecsResponse.GetHashCode(); - if (stepValueRequest_ != null) hash ^= StepValueRequest.GetHashCode(); - if (stepValueResponse_ != null) hash ^= StepValueResponse.GetHashCode(); - if (libPathRequest_ != null) hash ^= LibPathRequest.GetHashCode(); - if (libPathResponse_ != null) hash ^= LibPathResponse.GetHashCode(); - if (error_ != null) hash ^= Error.GetHashCode(); - if (allConceptsRequest_ != null) hash ^= AllConceptsRequest.GetHashCode(); - if (allConceptsResponse_ != null) hash ^= AllConceptsResponse.GetHashCode(); - if (performRefactoringRequest_ != null) hash ^= PerformRefactoringRequest.GetHashCode(); - if (performRefactoringResponse_ != null) hash ^= PerformRefactoringResponse.GetHashCode(); - if (extractConceptRequest_ != null) hash ^= ExtractConceptRequest.GetHashCode(); - if (extractConceptResponse_ != null) hash ^= ExtractConceptResponse.GetHashCode(); - if (formatSpecsRequest_ != null) hash ^= FormatSpecsRequest.GetHashCode(); - if (formatSpecsResponse_ != null) hash ^= FormatSpecsResponse.GetHashCode(); - if (unsupportedApiMessageResponse_ != null) hash ^= UnsupportedApiMessageResponse.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (MessageType != global::Gauge.Messages.APIMessage.Types.APIMessageType.GetProjectRootRequest) { - output.WriteRawTag(8); - output.WriteEnum((int) MessageType); - } - if (MessageId != 0L) { - output.WriteRawTag(16); - output.WriteInt64(MessageId); - } - if (projectRootRequest_ != null) { - output.WriteRawTag(26); - output.WriteMessage(ProjectRootRequest); - } - if (projectRootResponse_ != null) { - output.WriteRawTag(34); - output.WriteMessage(ProjectRootResponse); - } - if (installationRootRequest_ != null) { - output.WriteRawTag(42); - output.WriteMessage(InstallationRootRequest); - } - if (installationRootResponse_ != null) { - output.WriteRawTag(50); - output.WriteMessage(InstallationRootResponse); - } - if (allStepsRequest_ != null) { - output.WriteRawTag(58); - output.WriteMessage(AllStepsRequest); - } - if (allStepsResponse_ != null) { - output.WriteRawTag(66); - output.WriteMessage(AllStepsResponse); - } - if (specsRequest_ != null) { - output.WriteRawTag(74); - output.WriteMessage(SpecsRequest); - } - if (specsResponse_ != null) { - output.WriteRawTag(82); - output.WriteMessage(SpecsResponse); - } - if (stepValueRequest_ != null) { - output.WriteRawTag(90); - output.WriteMessage(StepValueRequest); - } - if (stepValueResponse_ != null) { - output.WriteRawTag(98); - output.WriteMessage(StepValueResponse); - } - if (libPathRequest_ != null) { - output.WriteRawTag(106); - output.WriteMessage(LibPathRequest); - } - if (libPathResponse_ != null) { - output.WriteRawTag(114); - output.WriteMessage(LibPathResponse); - } - if (error_ != null) { - output.WriteRawTag(122); - output.WriteMessage(Error); - } - if (allConceptsRequest_ != null) { - output.WriteRawTag(130, 1); - output.WriteMessage(AllConceptsRequest); - } - if (allConceptsResponse_ != null) { - output.WriteRawTag(138, 1); - output.WriteMessage(AllConceptsResponse); - } - if (performRefactoringRequest_ != null) { - output.WriteRawTag(146, 1); - output.WriteMessage(PerformRefactoringRequest); - } - if (performRefactoringResponse_ != null) { - output.WriteRawTag(154, 1); - output.WriteMessage(PerformRefactoringResponse); - } - if (extractConceptRequest_ != null) { - output.WriteRawTag(162, 1); - output.WriteMessage(ExtractConceptRequest); - } - if (extractConceptResponse_ != null) { - output.WriteRawTag(170, 1); - output.WriteMessage(ExtractConceptResponse); - } - if (formatSpecsRequest_ != null) { - output.WriteRawTag(178, 1); - output.WriteMessage(FormatSpecsRequest); - } - if (formatSpecsResponse_ != null) { - output.WriteRawTag(186, 1); - output.WriteMessage(FormatSpecsResponse); - } - if (unsupportedApiMessageResponse_ != null) { - output.WriteRawTag(194, 1); - output.WriteMessage(UnsupportedApiMessageResponse); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (MessageType != global::Gauge.Messages.APIMessage.Types.APIMessageType.GetProjectRootRequest) { - output.WriteRawTag(8); - output.WriteEnum((int) MessageType); - } - if (MessageId != 0L) { - output.WriteRawTag(16); - output.WriteInt64(MessageId); - } - if (projectRootRequest_ != null) { - output.WriteRawTag(26); - output.WriteMessage(ProjectRootRequest); - } - if (projectRootResponse_ != null) { - output.WriteRawTag(34); - output.WriteMessage(ProjectRootResponse); - } - if (installationRootRequest_ != null) { - output.WriteRawTag(42); - output.WriteMessage(InstallationRootRequest); - } - if (installationRootResponse_ != null) { - output.WriteRawTag(50); - output.WriteMessage(InstallationRootResponse); - } - if (allStepsRequest_ != null) { - output.WriteRawTag(58); - output.WriteMessage(AllStepsRequest); - } - if (allStepsResponse_ != null) { - output.WriteRawTag(66); - output.WriteMessage(AllStepsResponse); - } - if (specsRequest_ != null) { - output.WriteRawTag(74); - output.WriteMessage(SpecsRequest); - } - if (specsResponse_ != null) { - output.WriteRawTag(82); - output.WriteMessage(SpecsResponse); - } - if (stepValueRequest_ != null) { - output.WriteRawTag(90); - output.WriteMessage(StepValueRequest); - } - if (stepValueResponse_ != null) { - output.WriteRawTag(98); - output.WriteMessage(StepValueResponse); - } - if (libPathRequest_ != null) { - output.WriteRawTag(106); - output.WriteMessage(LibPathRequest); - } - if (libPathResponse_ != null) { - output.WriteRawTag(114); - output.WriteMessage(LibPathResponse); - } - if (error_ != null) { - output.WriteRawTag(122); - output.WriteMessage(Error); - } - if (allConceptsRequest_ != null) { - output.WriteRawTag(130, 1); - output.WriteMessage(AllConceptsRequest); - } - if (allConceptsResponse_ != null) { - output.WriteRawTag(138, 1); - output.WriteMessage(AllConceptsResponse); - } - if (performRefactoringRequest_ != null) { - output.WriteRawTag(146, 1); - output.WriteMessage(PerformRefactoringRequest); - } - if (performRefactoringResponse_ != null) { - output.WriteRawTag(154, 1); - output.WriteMessage(PerformRefactoringResponse); - } - if (extractConceptRequest_ != null) { - output.WriteRawTag(162, 1); - output.WriteMessage(ExtractConceptRequest); - } - if (extractConceptResponse_ != null) { - output.WriteRawTag(170, 1); - output.WriteMessage(ExtractConceptResponse); - } - if (formatSpecsRequest_ != null) { - output.WriteRawTag(178, 1); - output.WriteMessage(FormatSpecsRequest); - } - if (formatSpecsResponse_ != null) { - output.WriteRawTag(186, 1); - output.WriteMessage(FormatSpecsResponse); - } - if (unsupportedApiMessageResponse_ != null) { - output.WriteRawTag(194, 1); - output.WriteMessage(UnsupportedApiMessageResponse); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (MessageType != global::Gauge.Messages.APIMessage.Types.APIMessageType.GetProjectRootRequest) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) MessageType); - } - if (MessageId != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(MessageId); - } - if (projectRootRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ProjectRootRequest); - } - if (projectRootResponse_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ProjectRootResponse); - } - if (installationRootRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(InstallationRootRequest); - } - if (installationRootResponse_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(InstallationRootResponse); - } - if (allStepsRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AllStepsRequest); - } - if (allStepsResponse_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AllStepsResponse); - } - if (specsRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpecsRequest); - } - if (specsResponse_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpecsResponse); - } - if (stepValueRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepValueRequest); - } - if (stepValueResponse_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepValueResponse); - } - if (libPathRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(LibPathRequest); - } - if (libPathResponse_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(LibPathResponse); - } - if (error_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); - } - if (allConceptsRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(AllConceptsRequest); - } - if (allConceptsResponse_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(AllConceptsResponse); - } - if (performRefactoringRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(PerformRefactoringRequest); - } - if (performRefactoringResponse_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(PerformRefactoringResponse); - } - if (extractConceptRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(ExtractConceptRequest); - } - if (extractConceptResponse_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(ExtractConceptResponse); - } - if (formatSpecsRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(FormatSpecsRequest); - } - if (formatSpecsResponse_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(FormatSpecsResponse); - } - if (unsupportedApiMessageResponse_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(UnsupportedApiMessageResponse); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(APIMessage other) { - if (other == null) { - return; - } - if (other.MessageType != global::Gauge.Messages.APIMessage.Types.APIMessageType.GetProjectRootRequest) { - MessageType = other.MessageType; - } - if (other.MessageId != 0L) { - MessageId = other.MessageId; - } - if (other.projectRootRequest_ != null) { - if (projectRootRequest_ == null) { - ProjectRootRequest = new global::Gauge.Messages.GetProjectRootRequest(); - } - ProjectRootRequest.MergeFrom(other.ProjectRootRequest); - } - if (other.projectRootResponse_ != null) { - if (projectRootResponse_ == null) { - ProjectRootResponse = new global::Gauge.Messages.GetProjectRootResponse(); - } - ProjectRootResponse.MergeFrom(other.ProjectRootResponse); - } - if (other.installationRootRequest_ != null) { - if (installationRootRequest_ == null) { - InstallationRootRequest = new global::Gauge.Messages.GetInstallationRootRequest(); - } - InstallationRootRequest.MergeFrom(other.InstallationRootRequest); - } - if (other.installationRootResponse_ != null) { - if (installationRootResponse_ == null) { - InstallationRootResponse = new global::Gauge.Messages.GetInstallationRootResponse(); - } - InstallationRootResponse.MergeFrom(other.InstallationRootResponse); - } - if (other.allStepsRequest_ != null) { - if (allStepsRequest_ == null) { - AllStepsRequest = new global::Gauge.Messages.GetAllStepsRequest(); - } - AllStepsRequest.MergeFrom(other.AllStepsRequest); - } - if (other.allStepsResponse_ != null) { - if (allStepsResponse_ == null) { - AllStepsResponse = new global::Gauge.Messages.GetAllStepsResponse(); - } - AllStepsResponse.MergeFrom(other.AllStepsResponse); - } - if (other.specsRequest_ != null) { - if (specsRequest_ == null) { - SpecsRequest = new global::Gauge.Messages.SpecsRequest(); - } - SpecsRequest.MergeFrom(other.SpecsRequest); - } - if (other.specsResponse_ != null) { - if (specsResponse_ == null) { - SpecsResponse = new global::Gauge.Messages.SpecsResponse(); - } - SpecsResponse.MergeFrom(other.SpecsResponse); - } - if (other.stepValueRequest_ != null) { - if (stepValueRequest_ == null) { - StepValueRequest = new global::Gauge.Messages.GetStepValueRequest(); - } - StepValueRequest.MergeFrom(other.StepValueRequest); - } - if (other.stepValueResponse_ != null) { - if (stepValueResponse_ == null) { - StepValueResponse = new global::Gauge.Messages.GetStepValueResponse(); - } - StepValueResponse.MergeFrom(other.StepValueResponse); - } - if (other.libPathRequest_ != null) { - if (libPathRequest_ == null) { - LibPathRequest = new global::Gauge.Messages.GetLanguagePluginLibPathRequest(); - } - LibPathRequest.MergeFrom(other.LibPathRequest); - } - if (other.libPathResponse_ != null) { - if (libPathResponse_ == null) { - LibPathResponse = new global::Gauge.Messages.GetLanguagePluginLibPathResponse(); - } - LibPathResponse.MergeFrom(other.LibPathResponse); - } - if (other.error_ != null) { - if (error_ == null) { - Error = new global::Gauge.Messages.ErrorResponse(); - } - Error.MergeFrom(other.Error); - } - if (other.allConceptsRequest_ != null) { - if (allConceptsRequest_ == null) { - AllConceptsRequest = new global::Gauge.Messages.GetAllConceptsRequest(); - } - AllConceptsRequest.MergeFrom(other.AllConceptsRequest); - } - if (other.allConceptsResponse_ != null) { - if (allConceptsResponse_ == null) { - AllConceptsResponse = new global::Gauge.Messages.GetAllConceptsResponse(); - } - AllConceptsResponse.MergeFrom(other.AllConceptsResponse); - } - if (other.performRefactoringRequest_ != null) { - if (performRefactoringRequest_ == null) { - PerformRefactoringRequest = new global::Gauge.Messages.PerformRefactoringRequest(); - } - PerformRefactoringRequest.MergeFrom(other.PerformRefactoringRequest); - } - if (other.performRefactoringResponse_ != null) { - if (performRefactoringResponse_ == null) { - PerformRefactoringResponse = new global::Gauge.Messages.PerformRefactoringResponse(); - } - PerformRefactoringResponse.MergeFrom(other.PerformRefactoringResponse); - } - if (other.extractConceptRequest_ != null) { - if (extractConceptRequest_ == null) { - ExtractConceptRequest = new global::Gauge.Messages.ExtractConceptRequest(); - } - ExtractConceptRequest.MergeFrom(other.ExtractConceptRequest); - } - if (other.extractConceptResponse_ != null) { - if (extractConceptResponse_ == null) { - ExtractConceptResponse = new global::Gauge.Messages.ExtractConceptResponse(); - } - ExtractConceptResponse.MergeFrom(other.ExtractConceptResponse); - } - if (other.formatSpecsRequest_ != null) { - if (formatSpecsRequest_ == null) { - FormatSpecsRequest = new global::Gauge.Messages.FormatSpecsRequest(); - } - FormatSpecsRequest.MergeFrom(other.FormatSpecsRequest); - } - if (other.formatSpecsResponse_ != null) { - if (formatSpecsResponse_ == null) { - FormatSpecsResponse = new global::Gauge.Messages.FormatSpecsResponse(); - } - FormatSpecsResponse.MergeFrom(other.FormatSpecsResponse); - } - if (other.unsupportedApiMessageResponse_ != null) { - if (unsupportedApiMessageResponse_ == null) { - UnsupportedApiMessageResponse = new global::Gauge.Messages.UnsupportedApiMessageResponse(); - } - UnsupportedApiMessageResponse.MergeFrom(other.UnsupportedApiMessageResponse); - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - MessageType = (global::Gauge.Messages.APIMessage.Types.APIMessageType) input.ReadEnum(); - break; - } - case 16: { - MessageId = input.ReadInt64(); - break; - } - case 26: { - if (projectRootRequest_ == null) { - ProjectRootRequest = new global::Gauge.Messages.GetProjectRootRequest(); - } - input.ReadMessage(ProjectRootRequest); - break; - } - case 34: { - if (projectRootResponse_ == null) { - ProjectRootResponse = new global::Gauge.Messages.GetProjectRootResponse(); - } - input.ReadMessage(ProjectRootResponse); - break; - } - case 42: { - if (installationRootRequest_ == null) { - InstallationRootRequest = new global::Gauge.Messages.GetInstallationRootRequest(); - } - input.ReadMessage(InstallationRootRequest); - break; - } - case 50: { - if (installationRootResponse_ == null) { - InstallationRootResponse = new global::Gauge.Messages.GetInstallationRootResponse(); - } - input.ReadMessage(InstallationRootResponse); - break; - } - case 58: { - if (allStepsRequest_ == null) { - AllStepsRequest = new global::Gauge.Messages.GetAllStepsRequest(); - } - input.ReadMessage(AllStepsRequest); - break; - } - case 66: { - if (allStepsResponse_ == null) { - AllStepsResponse = new global::Gauge.Messages.GetAllStepsResponse(); - } - input.ReadMessage(AllStepsResponse); - break; - } - case 74: { - if (specsRequest_ == null) { - SpecsRequest = new global::Gauge.Messages.SpecsRequest(); - } - input.ReadMessage(SpecsRequest); - break; - } - case 82: { - if (specsResponse_ == null) { - SpecsResponse = new global::Gauge.Messages.SpecsResponse(); - } - input.ReadMessage(SpecsResponse); - break; - } - case 90: { - if (stepValueRequest_ == null) { - StepValueRequest = new global::Gauge.Messages.GetStepValueRequest(); - } - input.ReadMessage(StepValueRequest); - break; - } - case 98: { - if (stepValueResponse_ == null) { - StepValueResponse = new global::Gauge.Messages.GetStepValueResponse(); - } - input.ReadMessage(StepValueResponse); - break; - } - case 106: { - if (libPathRequest_ == null) { - LibPathRequest = new global::Gauge.Messages.GetLanguagePluginLibPathRequest(); - } - input.ReadMessage(LibPathRequest); - break; - } - case 114: { - if (libPathResponse_ == null) { - LibPathResponse = new global::Gauge.Messages.GetLanguagePluginLibPathResponse(); - } - input.ReadMessage(LibPathResponse); - break; - } - case 122: { - if (error_ == null) { - Error = new global::Gauge.Messages.ErrorResponse(); - } - input.ReadMessage(Error); - break; - } - case 130: { - if (allConceptsRequest_ == null) { - AllConceptsRequest = new global::Gauge.Messages.GetAllConceptsRequest(); - } - input.ReadMessage(AllConceptsRequest); - break; - } - case 138: { - if (allConceptsResponse_ == null) { - AllConceptsResponse = new global::Gauge.Messages.GetAllConceptsResponse(); - } - input.ReadMessage(AllConceptsResponse); - break; - } - case 146: { - if (performRefactoringRequest_ == null) { - PerformRefactoringRequest = new global::Gauge.Messages.PerformRefactoringRequest(); - } - input.ReadMessage(PerformRefactoringRequest); - break; - } - case 154: { - if (performRefactoringResponse_ == null) { - PerformRefactoringResponse = new global::Gauge.Messages.PerformRefactoringResponse(); - } - input.ReadMessage(PerformRefactoringResponse); - break; - } - case 162: { - if (extractConceptRequest_ == null) { - ExtractConceptRequest = new global::Gauge.Messages.ExtractConceptRequest(); - } - input.ReadMessage(ExtractConceptRequest); - break; - } - case 170: { - if (extractConceptResponse_ == null) { - ExtractConceptResponse = new global::Gauge.Messages.ExtractConceptResponse(); - } - input.ReadMessage(ExtractConceptResponse); - break; - } - case 178: { - if (formatSpecsRequest_ == null) { - FormatSpecsRequest = new global::Gauge.Messages.FormatSpecsRequest(); - } - input.ReadMessage(FormatSpecsRequest); - break; - } - case 186: { - if (formatSpecsResponse_ == null) { - FormatSpecsResponse = new global::Gauge.Messages.FormatSpecsResponse(); - } - input.ReadMessage(FormatSpecsResponse); - break; - } - case 194: { - if (unsupportedApiMessageResponse_ == null) { - UnsupportedApiMessageResponse = new global::Gauge.Messages.UnsupportedApiMessageResponse(); - } - input.ReadMessage(UnsupportedApiMessageResponse); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - MessageType = (global::Gauge.Messages.APIMessage.Types.APIMessageType) input.ReadEnum(); - break; - } - case 16: { - MessageId = input.ReadInt64(); - break; - } - case 26: { - if (projectRootRequest_ == null) { - ProjectRootRequest = new global::Gauge.Messages.GetProjectRootRequest(); - } - input.ReadMessage(ProjectRootRequest); - break; - } - case 34: { - if (projectRootResponse_ == null) { - ProjectRootResponse = new global::Gauge.Messages.GetProjectRootResponse(); - } - input.ReadMessage(ProjectRootResponse); - break; - } - case 42: { - if (installationRootRequest_ == null) { - InstallationRootRequest = new global::Gauge.Messages.GetInstallationRootRequest(); - } - input.ReadMessage(InstallationRootRequest); - break; - } - case 50: { - if (installationRootResponse_ == null) { - InstallationRootResponse = new global::Gauge.Messages.GetInstallationRootResponse(); - } - input.ReadMessage(InstallationRootResponse); - break; - } - case 58: { - if (allStepsRequest_ == null) { - AllStepsRequest = new global::Gauge.Messages.GetAllStepsRequest(); - } - input.ReadMessage(AllStepsRequest); - break; - } - case 66: { - if (allStepsResponse_ == null) { - AllStepsResponse = new global::Gauge.Messages.GetAllStepsResponse(); - } - input.ReadMessage(AllStepsResponse); - break; - } - case 74: { - if (specsRequest_ == null) { - SpecsRequest = new global::Gauge.Messages.SpecsRequest(); - } - input.ReadMessage(SpecsRequest); - break; - } - case 82: { - if (specsResponse_ == null) { - SpecsResponse = new global::Gauge.Messages.SpecsResponse(); - } - input.ReadMessage(SpecsResponse); - break; - } - case 90: { - if (stepValueRequest_ == null) { - StepValueRequest = new global::Gauge.Messages.GetStepValueRequest(); - } - input.ReadMessage(StepValueRequest); - break; - } - case 98: { - if (stepValueResponse_ == null) { - StepValueResponse = new global::Gauge.Messages.GetStepValueResponse(); - } - input.ReadMessage(StepValueResponse); - break; - } - case 106: { - if (libPathRequest_ == null) { - LibPathRequest = new global::Gauge.Messages.GetLanguagePluginLibPathRequest(); - } - input.ReadMessage(LibPathRequest); - break; - } - case 114: { - if (libPathResponse_ == null) { - LibPathResponse = new global::Gauge.Messages.GetLanguagePluginLibPathResponse(); - } - input.ReadMessage(LibPathResponse); - break; - } - case 122: { - if (error_ == null) { - Error = new global::Gauge.Messages.ErrorResponse(); - } - input.ReadMessage(Error); - break; - } - case 130: { - if (allConceptsRequest_ == null) { - AllConceptsRequest = new global::Gauge.Messages.GetAllConceptsRequest(); - } - input.ReadMessage(AllConceptsRequest); - break; - } - case 138: { - if (allConceptsResponse_ == null) { - AllConceptsResponse = new global::Gauge.Messages.GetAllConceptsResponse(); - } - input.ReadMessage(AllConceptsResponse); - break; - } - case 146: { - if (performRefactoringRequest_ == null) { - PerformRefactoringRequest = new global::Gauge.Messages.PerformRefactoringRequest(); - } - input.ReadMessage(PerformRefactoringRequest); - break; - } - case 154: { - if (performRefactoringResponse_ == null) { - PerformRefactoringResponse = new global::Gauge.Messages.PerformRefactoringResponse(); - } - input.ReadMessage(PerformRefactoringResponse); - break; - } - case 162: { - if (extractConceptRequest_ == null) { - ExtractConceptRequest = new global::Gauge.Messages.ExtractConceptRequest(); - } - input.ReadMessage(ExtractConceptRequest); - break; - } - case 170: { - if (extractConceptResponse_ == null) { - ExtractConceptResponse = new global::Gauge.Messages.ExtractConceptResponse(); - } - input.ReadMessage(ExtractConceptResponse); - break; - } - case 178: { - if (formatSpecsRequest_ == null) { - FormatSpecsRequest = new global::Gauge.Messages.FormatSpecsRequest(); - } - input.ReadMessage(FormatSpecsRequest); - break; - } - case 186: { - if (formatSpecsResponse_ == null) { - FormatSpecsResponse = new global::Gauge.Messages.FormatSpecsResponse(); - } - input.ReadMessage(FormatSpecsResponse); - break; - } - case 194: { - if (unsupportedApiMessageResponse_ == null) { - UnsupportedApiMessageResponse = new global::Gauge.Messages.UnsupportedApiMessageResponse(); - } - input.ReadMessage(UnsupportedApiMessageResponse); - break; - } - } - } - } - #endif - - #region Nested types - /// Container for nested types declared in the APIMessage message type. - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static partial class Types { - public enum APIMessageType { - [pbr::OriginalName("GetProjectRootRequest")] GetProjectRootRequest = 0, - [pbr::OriginalName("GetProjectRootResponse")] GetProjectRootResponse = 1, - [pbr::OriginalName("GetInstallationRootRequest")] GetInstallationRootRequest = 2, - [pbr::OriginalName("GetInstallationRootResponse")] GetInstallationRootResponse = 3, - [pbr::OriginalName("GetAllStepsRequest")] GetAllStepsRequest = 4, - [pbr::OriginalName("GetAllStepResponse")] GetAllStepResponse = 5, - [pbr::OriginalName("SpecsRequest")] SpecsRequest = 6, - [pbr::OriginalName("SpecsResponse")] SpecsResponse = 7, - [pbr::OriginalName("GetStepValueRequest")] GetStepValueRequest = 8, - [pbr::OriginalName("GetStepValueResponse")] GetStepValueResponse = 9, - [pbr::OriginalName("GetLanguagePluginLibPathRequest")] GetLanguagePluginLibPathRequest = 10, - [pbr::OriginalName("GetLanguagePluginLibPathResponse")] GetLanguagePluginLibPathResponse = 11, - [pbr::OriginalName("ErrorResponse")] ErrorResponse = 12, - [pbr::OriginalName("GetAllConceptsRequest")] GetAllConceptsRequest = 13, - [pbr::OriginalName("GetAllConceptsResponse")] GetAllConceptsResponse = 14, - [pbr::OriginalName("PerformRefactoringRequest")] PerformRefactoringRequest = 15, - [pbr::OriginalName("PerformRefactoringResponse")] PerformRefactoringResponse = 16, - [pbr::OriginalName("ExtractConceptRequest")] ExtractConceptRequest = 17, - [pbr::OriginalName("ExtractConceptResponse")] ExtractConceptResponse = 18, - [pbr::OriginalName("FormatSpecsRequest")] FormatSpecsRequest = 19, - [pbr::OriginalName("FormatSpecsResponse")] FormatSpecsResponse = 20, - [pbr::OriginalName("UnsupportedApiMessageResponse")] UnsupportedApiMessageResponse = 21, - } - - } - #endregion - - } - - #endregion - -} - -#endregion Designer generated code diff --git a/src/Gauge.CSharp.Core/GaugeApiConnection.cs b/src/Gauge.CSharp.Core/GaugeApiConnection.cs deleted file mode 100644 index 716d481..0000000 --- a/src/Gauge.CSharp.Core/GaugeApiConnection.cs +++ /dev/null @@ -1,54 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; -using Gauge.Messages; -using Google.Protobuf; - -namespace Gauge.CSharp.Core -{ - public class GaugeApiConnection : AbstractGaugeConnection, IGaugeApiConnection - { - public GaugeApiConnection(ITcpClientWrapper clientWrapper) : base(clientWrapper) - { - } - - public IEnumerable GetStepValues(IEnumerable stepTexts, bool hasInlineTable) - { - foreach (var stepText in stepTexts) - { - var stepValueRequest = new GetStepValueRequest - { - StepText = stepText, - HasInlineTable = hasInlineTable - }; - var stepValueRequestMessage = new APIMessage - { - MessageId = GenerateMessageId(), - MessageType = APIMessage.Types.APIMessageType.GetStepValueRequest, - StepValueRequest = stepValueRequest - }; - var apiMessage = WriteAndReadApiMessage(stepValueRequestMessage); - yield return apiMessage.StepValueResponse.StepValue.StepValue; - } - } - - public APIMessage WriteAndReadApiMessage(IMessage stepValueRequestMessage) - { - lock (TcpClientWrapper) - { - WriteMessage(stepValueRequestMessage); - return ReadMessage(); - } - } - - private APIMessage ReadMessage() - { - var responseBytes = ReadBytes(); - return APIMessage.Parser.ParseFrom(responseBytes.ToArray()); - } - } -} \ No newline at end of file diff --git a/src/Gauge.CSharp.Core/GaugeConnection.cs b/src/Gauge.CSharp.Core/GaugeConnection.cs deleted file mode 100644 index 4b1922f..0000000 --- a/src/Gauge.CSharp.Core/GaugeConnection.cs +++ /dev/null @@ -1,14 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ -namespace Gauge.CSharp.Core -{ - public class GaugeConnection : AbstractGaugeConnection - { - public GaugeConnection(ITcpClientWrapper tcpClientWrapper) : base(tcpClientWrapper) - { - } - } -} \ No newline at end of file diff --git a/src/Gauge.CSharp.Core/IGaugeApiConnection.cs b/src/Gauge.CSharp.Core/IGaugeApiConnection.cs deleted file mode 100644 index f2b713b..0000000 --- a/src/Gauge.CSharp.Core/IGaugeApiConnection.cs +++ /dev/null @@ -1,21 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ -using System.Collections.Generic; -using Gauge.Messages; -using Google.Protobuf; - -namespace Gauge.CSharp.Core -{ - public interface IGaugeApiConnection - { - bool Connected { get; } - IEnumerable GetStepValues(IEnumerable stepTexts, bool hasInlineTable); - APIMessage WriteAndReadApiMessage(IMessage stepValueRequestMessage); - void WriteMessage(IMessage request); - IEnumerable ReadBytes(); - void Dispose(); - } -} \ No newline at end of file diff --git a/src/Gauge.CSharp.Core/ITcpClientWrapper.cs b/src/Gauge.CSharp.Core/ITcpClientWrapper.cs deleted file mode 100644 index 812743c..0000000 --- a/src/Gauge.CSharp.Core/ITcpClientWrapper.cs +++ /dev/null @@ -1,16 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ -using System.IO; - -namespace Gauge.CSharp.Core -{ - public interface ITcpClientWrapper - { - bool Connected { get; } - Stream GetStream(); - void Close(); - } -} \ No newline at end of file diff --git a/src/Gauge.CSharp.Core/Lsp.cs b/src/Gauge.CSharp.Core/Lsp.cs deleted file mode 100644 index c46dd2e..0000000 --- a/src/Gauge.CSharp.Core/Lsp.cs +++ /dev/null @@ -1,60 +0,0 @@ -// -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: lsp.proto -// -#pragma warning disable 1591, 0612, 3021, 8981 -#region Designer generated code - -using pb = global::Google.Protobuf; -using pbc = global::Google.Protobuf.Collections; -using pbr = global::Google.Protobuf.Reflection; -using scg = global::System.Collections.Generic; -namespace Gauge.Messages { - - /// Holder for reflection information generated from lsp.proto - public static partial class LspReflection { - - #region Descriptor - /// File descriptor for lsp.proto - public static pbr::FileDescriptor Descriptor { - get { return descriptor; } - } - private static pbr::FileDescriptor descriptor; - - static LspReflection() { - byte[] descriptorData = global::System.Convert.FromBase64String( - string.Concat( - "Cglsc3AucHJvdG8SDmdhdWdlLm1lc3NhZ2VzGg5tZXNzYWdlcy5wcm90bzKc", - "BwoKbHNwU2VydmljZRJYCgxHZXRTdGVwTmFtZXMSIC5nYXVnZS5tZXNzYWdl", - "cy5TdGVwTmFtZXNSZXF1ZXN0GiEuZ2F1Z2UubWVzc2FnZXMuU3RlcE5hbWVz", - "UmVzcG9uc2UiA4gCARJJCglDYWNoZUZpbGUSIC5nYXVnZS5tZXNzYWdlcy5D", - "YWNoZUZpbGVSZXF1ZXN0GhUuZ2F1Z2UubWVzc2FnZXMuRW1wdHkiA4gCARJk", - "ChBHZXRTdGVwUG9zaXRpb25zEiQuZ2F1Z2UubWVzc2FnZXMuU3RlcFBvc2l0", - "aW9uc1JlcXVlc3QaJS5nYXVnZS5tZXNzYWdlcy5TdGVwUG9zaXRpb25zUmVz", - "cG9uc2UiA4gCARJkChZHZXRJbXBsZW1lbnRhdGlvbkZpbGVzEhUuZ2F1Z2Uu", - "bWVzc2FnZXMuRW1wdHkaLi5nYXVnZS5tZXNzYWdlcy5JbXBsZW1lbnRhdGlv", - "bkZpbGVMaXN0UmVzcG9uc2UiA4gCARJdCg1JbXBsZW1lbnRTdHViEi0uZ2F1", - "Z2UubWVzc2FnZXMuU3R1YkltcGxlbWVudGF0aW9uQ29kZVJlcXVlc3QaGC5n", - "YXVnZS5tZXNzYWdlcy5GaWxlRGlmZiIDiAIBEl4KDFZhbGlkYXRlU3RlcBIj", - "LmdhdWdlLm1lc3NhZ2VzLlN0ZXBWYWxpZGF0ZVJlcXVlc3QaJC5nYXVnZS5t", - "ZXNzYWdlcy5TdGVwVmFsaWRhdGVSZXNwb25zZSIDiAIBElIKCFJlZmFjdG9y", - "Eh8uZ2F1Z2UubWVzc2FnZXMuUmVmYWN0b3JSZXF1ZXN0GiAuZ2F1Z2UubWVz", - "c2FnZXMuUmVmYWN0b3JSZXNwb25zZSIDiAIBElUKC0dldFN0ZXBOYW1lEh8u", - "Z2F1Z2UubWVzc2FnZXMuU3RlcE5hbWVSZXF1ZXN0GiAuZ2F1Z2UubWVzc2Fn", - "ZXMuU3RlcE5hbWVSZXNwb25zZSIDiAIBEmQKD0dldEdsb2JQYXR0ZXJucxIV", - "LmdhdWdlLm1lc3NhZ2VzLkVtcHR5GjUuZ2F1Z2UubWVzc2FnZXMuSW1wbGVt", - "ZW50YXRpb25GaWxlR2xvYlBhdHRlcm5SZXNwb25zZSIDiAIBEk0KC0tpbGxQ", - "cm9jZXNzEiIuZ2F1Z2UubWVzc2FnZXMuS2lsbFByb2Nlc3NSZXF1ZXN0GhUu", - "Z2F1Z2UubWVzc2FnZXMuRW1wdHkiA4gCAUJcChZjb20udGhvdWdodHdvcmtz", - "LmdhdWdlWjFnaXRodWIuY29tL2dldGdhdWdlL2dhdWdlLXByb3RvL2dvL2dh", - "dWdlX21lc3NhZ2VzqgIOR2F1Z2UuTWVzc2FnZXNiBnByb3RvMw==")); - descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { global::Gauge.Messages.MessagesReflection.Descriptor, }, - new pbr::GeneratedClrTypeInfo(null, null, null)); - } - #endregion - - } -} - -#endregion Designer generated code diff --git a/src/Gauge.CSharp.Core/LspGrpc.cs b/src/Gauge.CSharp.Core/LspGrpc.cs deleted file mode 100644 index 88ff991..0000000 --- a/src/Gauge.CSharp.Core/LspGrpc.cs +++ /dev/null @@ -1,566 +0,0 @@ -// -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: lsp.proto -// -// Original file comments: -// ---------------------------------------------------------------- -// Copyright (c) ThoughtWorks, Inc. -// Licensed under the Apache License, Version 2.0 -// See LICENSE in the project root for license information. -// ---------------------------------------------------------------- -// -#pragma warning disable 0414, 1591, 8981, 0612 -#region Designer generated code - -using grpc = global::Grpc.Core; - -namespace Gauge.Messages { - public static partial class lspService - { - static readonly string __ServiceName = "gauge.messages.lspService"; - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context) - { - #if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION - if (message is global::Google.Protobuf.IBufferMessage) - { - context.SetPayloadLength(message.CalculateSize()); - global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter()); - context.Complete(); - return; - } - #endif - context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message)); - } - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static class __Helper_MessageCache - { - public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T)); - } - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static T __Helper_DeserializeMessage(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser parser) where T : global::Google.Protobuf.IMessage - { - #if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION - if (__Helper_MessageCache.IsBufferMessage) - { - return parser.ParseFrom(context.PayloadAsReadOnlySequence()); - } - #endif - return parser.ParseFrom(context.PayloadAsNewBuffer()); - } - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepNamesRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepNamesRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepNamesResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepNamesResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_CacheFileRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.CacheFileRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_Empty = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.Empty.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepPositionsRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepPositionsRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepPositionsResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepPositionsResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ImplementationFileListResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ImplementationFileListResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StubImplementationCodeRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StubImplementationCodeRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_FileDiff = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.FileDiff.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepValidateRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepValidateRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepValidateResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepValidateResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_RefactorRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.RefactorRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_RefactorResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.RefactorResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepNameRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepNameRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepNameResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepNameResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ImplementationFileGlobPatternResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ImplementationFileGlobPatternResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_KillProcessRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.KillProcessRequest.Parser)); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_GetStepNames = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "GetStepNames", - __Marshaller_gauge_messages_StepNamesRequest, - __Marshaller_gauge_messages_StepNamesResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_CacheFile = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "CacheFile", - __Marshaller_gauge_messages_CacheFileRequest, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_GetStepPositions = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "GetStepPositions", - __Marshaller_gauge_messages_StepPositionsRequest, - __Marshaller_gauge_messages_StepPositionsResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_GetImplementationFiles = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "GetImplementationFiles", - __Marshaller_gauge_messages_Empty, - __Marshaller_gauge_messages_ImplementationFileListResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_ImplementStub = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "ImplementStub", - __Marshaller_gauge_messages_StubImplementationCodeRequest, - __Marshaller_gauge_messages_FileDiff); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_ValidateStep = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "ValidateStep", - __Marshaller_gauge_messages_StepValidateRequest, - __Marshaller_gauge_messages_StepValidateResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_Refactor = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "Refactor", - __Marshaller_gauge_messages_RefactorRequest, - __Marshaller_gauge_messages_RefactorResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_GetStepName = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "GetStepName", - __Marshaller_gauge_messages_StepNameRequest, - __Marshaller_gauge_messages_StepNameResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_GetGlobPatterns = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "GetGlobPatterns", - __Marshaller_gauge_messages_Empty, - __Marshaller_gauge_messages_ImplementationFileGlobPatternResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_KillProcess = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "KillProcess", - __Marshaller_gauge_messages_KillProcessRequest, - __Marshaller_gauge_messages_Empty); - - /// Service descriptor - public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor - { - get { return global::Gauge.Messages.LspReflection.Descriptor.Services[0]; } - } - - /// Base class for server-side implementations of lspService - [grpc::BindServiceMethod(typeof(lspService), "BindService")] - public abstract partial class lspServiceBase - { - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task GetStepNames(global::Gauge.Messages.StepNamesRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task CacheFile(global::Gauge.Messages.CacheFileRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task GetStepPositions(global::Gauge.Messages.StepPositionsRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task GetImplementationFiles(global::Gauge.Messages.Empty request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task ImplementStub(global::Gauge.Messages.StubImplementationCodeRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task ValidateStep(global::Gauge.Messages.StepValidateRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task Refactor(global::Gauge.Messages.RefactorRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task GetStepName(global::Gauge.Messages.StepNameRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task GetGlobPatterns(global::Gauge.Messages.Empty request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task KillProcess(global::Gauge.Messages.KillProcessRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - } - - /// Client for lspService - public partial class lspServiceClient : grpc::ClientBase - { - /// Creates a new client for lspService - /// The channel to use to make remote calls. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public lspServiceClient(grpc::ChannelBase channel) : base(channel) - { - } - /// Creates a new client for lspService that uses a custom CallInvoker. - /// The callInvoker to use to make remote calls. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public lspServiceClient(grpc::CallInvoker callInvoker) : base(callInvoker) - { - } - /// Protected parameterless constructor to allow creation of test doubles. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - protected lspServiceClient() : base() - { - } - /// Protected constructor to allow creation of configured clients. - /// The client configuration. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - protected lspServiceClient(ClientBaseConfiguration configuration) : base(configuration) - { - } - - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepNamesResponse GetStepNames(global::Gauge.Messages.StepNamesRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetStepNames(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepNamesResponse GetStepNames(global::Gauge.Messages.StepNamesRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_GetStepNames, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetStepNamesAsync(global::Gauge.Messages.StepNamesRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetStepNamesAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetStepNamesAsync(global::Gauge.Messages.StepNamesRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_GetStepNames, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty CacheFile(global::Gauge.Messages.CacheFileRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return CacheFile(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty CacheFile(global::Gauge.Messages.CacheFileRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_CacheFile, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall CacheFileAsync(global::Gauge.Messages.CacheFileRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return CacheFileAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall CacheFileAsync(global::Gauge.Messages.CacheFileRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_CacheFile, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepPositionsResponse GetStepPositions(global::Gauge.Messages.StepPositionsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetStepPositions(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepPositionsResponse GetStepPositions(global::Gauge.Messages.StepPositionsRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_GetStepPositions, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetStepPositionsAsync(global::Gauge.Messages.StepPositionsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetStepPositionsAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetStepPositionsAsync(global::Gauge.Messages.StepPositionsRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_GetStepPositions, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ImplementationFileListResponse GetImplementationFiles(global::Gauge.Messages.Empty request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetImplementationFiles(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ImplementationFileListResponse GetImplementationFiles(global::Gauge.Messages.Empty request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_GetImplementationFiles, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetImplementationFilesAsync(global::Gauge.Messages.Empty request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetImplementationFilesAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetImplementationFilesAsync(global::Gauge.Messages.Empty request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_GetImplementationFiles, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.FileDiff ImplementStub(global::Gauge.Messages.StubImplementationCodeRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return ImplementStub(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.FileDiff ImplementStub(global::Gauge.Messages.StubImplementationCodeRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_ImplementStub, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall ImplementStubAsync(global::Gauge.Messages.StubImplementationCodeRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return ImplementStubAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall ImplementStubAsync(global::Gauge.Messages.StubImplementationCodeRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_ImplementStub, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepValidateResponse ValidateStep(global::Gauge.Messages.StepValidateRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return ValidateStep(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepValidateResponse ValidateStep(global::Gauge.Messages.StepValidateRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_ValidateStep, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall ValidateStepAsync(global::Gauge.Messages.StepValidateRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return ValidateStepAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall ValidateStepAsync(global::Gauge.Messages.StepValidateRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_ValidateStep, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.RefactorResponse Refactor(global::Gauge.Messages.RefactorRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return Refactor(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.RefactorResponse Refactor(global::Gauge.Messages.RefactorRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_Refactor, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall RefactorAsync(global::Gauge.Messages.RefactorRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return RefactorAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall RefactorAsync(global::Gauge.Messages.RefactorRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_Refactor, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepNameResponse GetStepName(global::Gauge.Messages.StepNameRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetStepName(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepNameResponse GetStepName(global::Gauge.Messages.StepNameRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_GetStepName, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetStepNameAsync(global::Gauge.Messages.StepNameRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetStepNameAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetStepNameAsync(global::Gauge.Messages.StepNameRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_GetStepName, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ImplementationFileGlobPatternResponse GetGlobPatterns(global::Gauge.Messages.Empty request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetGlobPatterns(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ImplementationFileGlobPatternResponse GetGlobPatterns(global::Gauge.Messages.Empty request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_GetGlobPatterns, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetGlobPatternsAsync(global::Gauge.Messages.Empty request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetGlobPatternsAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetGlobPatternsAsync(global::Gauge.Messages.Empty request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_GetGlobPatterns, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty KillProcess(global::Gauge.Messages.KillProcessRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return KillProcess(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty KillProcess(global::Gauge.Messages.KillProcessRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_KillProcess, null, options, request); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall KillProcessAsync(global::Gauge.Messages.KillProcessRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return KillProcessAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - [global::System.ObsoleteAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall KillProcessAsync(global::Gauge.Messages.KillProcessRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_KillProcess, null, options, request); - } - /// Creates a new instance of client from given ClientBaseConfiguration. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - protected override lspServiceClient NewInstance(ClientBaseConfiguration configuration) - { - return new lspServiceClient(configuration); - } - } - - /// Creates service definition that can be registered with a server - /// An object implementing the server-side handling logic. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public static grpc::ServerServiceDefinition BindService(lspServiceBase serviceImpl) - { - return grpc::ServerServiceDefinition.CreateBuilder() - .AddMethod(__Method_GetStepNames, serviceImpl.GetStepNames) - .AddMethod(__Method_CacheFile, serviceImpl.CacheFile) - .AddMethod(__Method_GetStepPositions, serviceImpl.GetStepPositions) - .AddMethod(__Method_GetImplementationFiles, serviceImpl.GetImplementationFiles) - .AddMethod(__Method_ImplementStub, serviceImpl.ImplementStub) - .AddMethod(__Method_ValidateStep, serviceImpl.ValidateStep) - .AddMethod(__Method_Refactor, serviceImpl.Refactor) - .AddMethod(__Method_GetStepName, serviceImpl.GetStepName) - .AddMethod(__Method_GetGlobPatterns, serviceImpl.GetGlobPatterns) - .AddMethod(__Method_KillProcess, serviceImpl.KillProcess).Build(); - } - - /// Register service method with a service binder with or without implementation. Useful when customizing the service binding logic. - /// Note: this method is part of an experimental API that can change or be removed without any prior notice. - /// Service methods will be bound by calling AddMethod on this object. - /// An object implementing the server-side handling logic. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public static void BindService(grpc::ServiceBinderBase serviceBinder, lspServiceBase serviceImpl) - { - serviceBinder.AddMethod(__Method_GetStepNames, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.GetStepNames)); - serviceBinder.AddMethod(__Method_CacheFile, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.CacheFile)); - serviceBinder.AddMethod(__Method_GetStepPositions, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.GetStepPositions)); - serviceBinder.AddMethod(__Method_GetImplementationFiles, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.GetImplementationFiles)); - serviceBinder.AddMethod(__Method_ImplementStub, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.ImplementStub)); - serviceBinder.AddMethod(__Method_ValidateStep, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.ValidateStep)); - serviceBinder.AddMethod(__Method_Refactor, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.Refactor)); - serviceBinder.AddMethod(__Method_GetStepName, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.GetStepName)); - serviceBinder.AddMethod(__Method_GetGlobPatterns, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.GetGlobPatterns)); - serviceBinder.AddMethod(__Method_KillProcess, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.KillProcess)); - } - - } -} -#endregion diff --git a/src/Gauge.CSharp.Core/Messages.cs b/src/Gauge.CSharp.Core/Messages.cs deleted file mode 100644 index 2ed0814..0000000 --- a/src/Gauge.CSharp.Core/Messages.cs +++ /dev/null @@ -1,14898 +0,0 @@ -// -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: messages.proto -// -#pragma warning disable 1591, 0612, 3021, 8981 -#region Designer generated code - -using pb = global::Google.Protobuf; -using pbc = global::Google.Protobuf.Collections; -using pbr = global::Google.Protobuf.Reflection; -using scg = global::System.Collections.Generic; -namespace Gauge.Messages { - - /// Holder for reflection information generated from messages.proto - public static partial class MessagesReflection { - - #region Descriptor - /// File descriptor for messages.proto - public static pbr::FileDescriptor Descriptor { - get { return descriptor; } - } - private static pbr::FileDescriptor descriptor; - - static MessagesReflection() { - byte[] descriptorData = global::System.Convert.FromBase64String( - string.Concat( - "Cg5tZXNzYWdlcy5wcm90bxIOZ2F1Z2UubWVzc2FnZXMaCnNwZWMucHJvdG8i", - "FAoSS2lsbFByb2Nlc3NSZXF1ZXN0IlgKF0V4ZWN1dGlvblN0YXR1c1Jlc3Bv", - "bnNlEj0KD2V4ZWN1dGlvblJlc3VsdBgBIAEoCzIkLmdhdWdlLm1lc3NhZ2Vz", - "LlByb3RvRXhlY3V0aW9uUmVzdWx0Ip4BChhFeGVjdXRpb25TdGFydGluZ1Jl", - "cXVlc3QSOwoUY3VycmVudEV4ZWN1dGlvbkluZm8YASABKAsyHS5nYXVnZS5t", - "ZXNzYWdlcy5FeGVjdXRpb25JbmZvEjUKC3N1aXRlUmVzdWx0GAIgASgLMiAu", - "Z2F1Z2UubWVzc2FnZXMuUHJvdG9TdWl0ZVJlc3VsdBIOCgZzdHJlYW0YAyAB", - "KAUinAEKFkV4ZWN1dGlvbkVuZGluZ1JlcXVlc3QSOwoUY3VycmVudEV4ZWN1", - "dGlvbkluZm8YASABKAsyHS5nYXVnZS5tZXNzYWdlcy5FeGVjdXRpb25JbmZv", - "EjUKC3N1aXRlUmVzdWx0GAIgASgLMiAuZ2F1Z2UubWVzc2FnZXMuUHJvdG9T", - "dWl0ZVJlc3VsdBIOCgZzdHJlYW0YAyABKAUioAEKHFNwZWNFeGVjdXRpb25T", - "dGFydGluZ1JlcXVlc3QSOwoUY3VycmVudEV4ZWN1dGlvbkluZm8YASABKAsy", - "HS5nYXVnZS5tZXNzYWdlcy5FeGVjdXRpb25JbmZvEjMKCnNwZWNSZXN1bHQY", - "AiABKAsyHy5nYXVnZS5tZXNzYWdlcy5Qcm90b1NwZWNSZXN1bHQSDgoGc3Ry", - "ZWFtGAMgASgFIp4BChpTcGVjRXhlY3V0aW9uRW5kaW5nUmVxdWVzdBI7ChRj", - "dXJyZW50RXhlY3V0aW9uSW5mbxgBIAEoCzIdLmdhdWdlLm1lc3NhZ2VzLkV4", - "ZWN1dGlvbkluZm8SMwoKc3BlY1Jlc3VsdBgCIAEoCzIfLmdhdWdlLm1lc3Nh", - "Z2VzLlByb3RvU3BlY1Jlc3VsdBIOCgZzdHJlYW0YAyABKAUirAEKIFNjZW5h", - "cmlvRXhlY3V0aW9uU3RhcnRpbmdSZXF1ZXN0EjsKFGN1cnJlbnRFeGVjdXRp", - "b25JbmZvGAEgASgLMh0uZ2F1Z2UubWVzc2FnZXMuRXhlY3V0aW9uSW5mbxI7", - "Cg5zY2VuYXJpb1Jlc3VsdBgCIAEoCzIjLmdhdWdlLm1lc3NhZ2VzLlByb3Rv", - "U2NlbmFyaW9SZXN1bHQSDgoGc3RyZWFtGAMgASgFIqoBCh5TY2VuYXJpb0V4", - "ZWN1dGlvbkVuZGluZ1JlcXVlc3QSOwoUY3VycmVudEV4ZWN1dGlvbkluZm8Y", - "ASABKAsyHS5nYXVnZS5tZXNzYWdlcy5FeGVjdXRpb25JbmZvEjsKDnNjZW5h", - "cmlvUmVzdWx0GAIgASgLMiMuZ2F1Z2UubWVzc2FnZXMuUHJvdG9TY2VuYXJp", - "b1Jlc3VsdBIOCgZzdHJlYW0YAyABKAUioAEKHFN0ZXBFeGVjdXRpb25TdGFy", - "dGluZ1JlcXVlc3QSOwoUY3VycmVudEV4ZWN1dGlvbkluZm8YASABKAsyHS5n", - "YXVnZS5tZXNzYWdlcy5FeGVjdXRpb25JbmZvEjMKCnN0ZXBSZXN1bHQYAiAB", - "KAsyHy5nYXVnZS5tZXNzYWdlcy5Qcm90b1N0ZXBSZXN1bHQSDgoGc3RyZWFt", - "GAMgASgFIp4BChpTdGVwRXhlY3V0aW9uRW5kaW5nUmVxdWVzdBI7ChRjdXJy", - "ZW50RXhlY3V0aW9uSW5mbxgBIAEoCzIdLmdhdWdlLm1lc3NhZ2VzLkV4ZWN1", - "dGlvbkluZm8SMwoKc3RlcFJlc3VsdBgCIAEoCzIfLmdhdWdlLm1lc3NhZ2Vz", - "LlByb3RvU3RlcFJlc3VsdBIOCgZzdHJlYW0YAyABKAUiowEKH0NvbmNlcHRF", - "eGVjdXRpb25TdGFydGluZ1JlcXVlc3QSOwoUY3VycmVudEV4ZWN1dGlvbklu", - "Zm8YASABKAsyHS5nYXVnZS5tZXNzYWdlcy5FeGVjdXRpb25JbmZvEjMKCnN0", - "ZXBSZXN1bHQYAiABKAsyHy5nYXVnZS5tZXNzYWdlcy5Qcm90b1N0ZXBSZXN1", - "bHQSDgoGc3RyZWFtGAMgASgFIqEBCh1Db25jZXB0RXhlY3V0aW9uRW5kaW5n", - "UmVxdWVzdBI7ChRjdXJyZW50RXhlY3V0aW9uSW5mbxgBIAEoCzIdLmdhdWdl", - "Lm1lc3NhZ2VzLkV4ZWN1dGlvbkluZm8SMwoKc3RlcFJlc3VsdBgCIAEoCzIf", - "LmdhdWdlLm1lc3NhZ2VzLlByb3RvU3RlcFJlc3VsdBIOCgZzdHJlYW0YAyAB", - "KAUiMwoMRXhlY3V0aW9uQXJnEhAKCGZsYWdOYW1lGAEgASgJEhEKCWZsYWdW", - "YWx1ZRgCIAMoCSK2AgoNRXhlY3V0aW9uSW5mbxItCgtjdXJyZW50U3BlYxgB", - "IAEoCzIYLmdhdWdlLm1lc3NhZ2VzLlNwZWNJbmZvEjUKD2N1cnJlbnRTY2Vu", - "YXJpbxgCIAEoCzIcLmdhdWdlLm1lc3NhZ2VzLlNjZW5hcmlvSW5mbxItCgtj", - "dXJyZW50U3RlcBgDIAEoCzIYLmdhdWdlLm1lc3NhZ2VzLlN0ZXBJbmZvEhIK", - "CnN0YWNrdHJhY2UYBCABKAkSEwoLcHJvamVjdE5hbWUYBSABKAkSMwoNRXhl", - "Y3V0aW9uQXJncxgGIAMoCzIcLmdhdWdlLm1lc3NhZ2VzLkV4ZWN1dGlvbkFy", - "ZxIgChhudW1iZXJPZkV4ZWN1dGlvblN0cmVhbXMYByABKAUSEAoIcnVubmVy", - "SWQYCCABKAUiSgoIU3BlY0luZm8SDAoEbmFtZRgBIAEoCRIQCghmaWxlTmFt", - "ZRgCIAEoCRIQCghpc0ZhaWxlZBgDIAEoCBIMCgR0YWdzGAQgAygJInIKDFNj", - "ZW5hcmlvSW5mbxIMCgRuYW1lGAEgASgJEhAKCGlzRmFpbGVkGAIgASgIEgwK", - "BHRhZ3MYAyADKAkSNAoHcmV0cmllcxgEIAEoCzIjLmdhdWdlLm1lc3NhZ2Vz", - "LlNjZW5hcmlvUmV0cmllc0luZm8iPwoTU2NlbmFyaW9SZXRyaWVzSW5mbxIS", - "CgptYXhSZXRyaWVzGAEgASgFEhQKDGN1cnJlbnRSZXRyeRgCIAEoBSJ4CghT", - "dGVwSW5mbxIwCgRzdGVwGAEgASgLMiIuZ2F1Z2UubWVzc2FnZXMuRXhlY3V0", - "ZVN0ZXBSZXF1ZXN0EhAKCGlzRmFpbGVkGAIgASgIEhIKCnN0YWNrVHJhY2UY", - "AyABKAkSFAoMZXJyb3JNZXNzYWdlGAQgASgJIpwBChJFeGVjdXRlU3RlcFJl", - "cXVlc3QSFgoOYWN0dWFsU3RlcFRleHQYASABKAkSFgoOcGFyc2VkU3RlcFRl", - "eHQYAiABKAkSFwoPc2NlbmFyaW9GYWlsaW5nGAMgASgIEi0KCnBhcmFtZXRl", - "cnMYBCADKAsyGS5nYXVnZS5tZXNzYWdlcy5QYXJhbWV0ZXISDgoGc3RyZWFt", - "GAUgASgFInYKE1N0ZXBWYWxpZGF0ZVJlcXVlc3QSEAoIc3RlcFRleHQYASAB", - "KAkSGgoSbnVtYmVyT2ZQYXJhbWV0ZXJzGAIgASgFEjEKCXN0ZXBWYWx1ZRgD", - "IAEoCzIeLmdhdWdlLm1lc3NhZ2VzLlByb3RvU3RlcFZhbHVlIucBChRTdGVw", - "VmFsaWRhdGVSZXNwb25zZRIPCgdpc1ZhbGlkGAEgASgIEhQKDGVycm9yTWVz", - "c2FnZRgCIAEoCRJBCgllcnJvclR5cGUYAyABKA4yLi5nYXVnZS5tZXNzYWdl", - "cy5TdGVwVmFsaWRhdGVSZXNwb25zZS5FcnJvclR5cGUSEgoKc3VnZ2VzdGlv", - "bhgEIAEoCSJRCglFcnJvclR5cGUSIQodU1RFUF9JTVBMRU1FTlRBVElPTl9O", - "T1RfRk9VTkQQABIhCh1EVVBMSUNBVEVfU1RFUF9JTVBMRU1FTlRBVElPThAB", - "Ik0KFFN1aXRlRXhlY3V0aW9uUmVzdWx0EjUKC3N1aXRlUmVzdWx0GAEgASgL", - "MiAuZ2F1Z2UubWVzc2FnZXMuUHJvdG9TdWl0ZVJlc3VsdCJJChhTdWl0ZUV4", - "ZWN1dGlvblJlc3VsdEl0ZW0SLQoKcmVzdWx0SXRlbRgBIAEoCzIZLmdhdWdl", - "Lm1lc3NhZ2VzLlByb3RvSXRlbSISChBTdGVwTmFtZXNSZXF1ZXN0IiIKEVN0", - "ZXBOYW1lc1Jlc3BvbnNlEg0KBXN0ZXBzGAEgAygJIi4KHFNjZW5hcmlvRGF0", - "YVN0b3JlSW5pdFJlcXVlc3QSDgoGc3RyZWFtGAEgASgFIioKGFNwZWNEYXRh", - "U3RvcmVJbml0UmVxdWVzdBIOCgZzdHJlYW0YASABKAUiKwoZU3VpdGVEYXRh", - "U3RvcmVJbml0UmVxdWVzdBIOCgZzdHJlYW0YASABKAUiPQoRUGFyYW1ldGVy", - "UG9zaXRpb24SEwoLb2xkUG9zaXRpb24YASABKAUSEwoLbmV3UG9zaXRpb24Y", - "AiABKAUizQEKD1JlZmFjdG9yUmVxdWVzdBI0CgxvbGRTdGVwVmFsdWUYASAB", - "KAsyHi5nYXVnZS5tZXNzYWdlcy5Qcm90b1N0ZXBWYWx1ZRI0CgxuZXdTdGVw", - "VmFsdWUYAiABKAsyHi5nYXVnZS5tZXNzYWdlcy5Qcm90b1N0ZXBWYWx1ZRI5", - "Cg5wYXJhbVBvc2l0aW9ucxgDIAMoCzIhLmdhdWdlLm1lc3NhZ2VzLlBhcmFt", - "ZXRlclBvc2l0aW9uEhMKC3NhdmVDaGFuZ2VzGAQgASgIImEKC0ZpbGVDaGFu", - "Z2VzEhAKCGZpbGVOYW1lGAEgASgJEhcKC2ZpbGVDb250ZW50GAIgASgJQgIY", - "ARInCgVkaWZmcxgDIAMoCzIYLmdhdWdlLm1lc3NhZ2VzLlRleHREaWZmInoK", - "EFJlZmFjdG9yUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBINCgVlcnJvchgC", - "IAEoCRIUCgxmaWxlc0NoYW5nZWQYAyADKAkSMAoLZmlsZUNoYW5nZXMYBCAD", - "KAsyGy5nYXVnZS5tZXNzYWdlcy5GaWxlQ2hhbmdlcyIkCg9TdGVwTmFtZVJl", - "cXVlc3QSEQoJc3RlcFZhbHVlGAEgASgJIpcBChBTdGVwTmFtZVJlc3BvbnNl", - "EhUKDWlzU3RlcFByZXNlbnQYASABKAgSEAoIc3RlcE5hbWUYAiADKAkSEAoI", - "aGFzQWxpYXMYAyABKAgSEAoIZmlsZU5hbWUYBCABKAkSIgoEc3BhbhgFIAEo", - "CzIULmdhdWdlLm1lc3NhZ2VzLlNwYW4SEgoKaXNFeHRlcm5hbBgGIAEoCCIt", - "ChpVbnN1cHBvcnRlZE1lc3NhZ2VSZXNwb25zZRIPCgdtZXNzYWdlGAEgASgJ", - "ItEBChBDYWNoZUZpbGVSZXF1ZXN0Eg8KB2NvbnRlbnQYASABKAkSEAoIZmls", - "ZVBhdGgYAiABKAkSEAoIaXNDbG9zZWQYAyABKAgSOwoGc3RhdHVzGAQgASgO", - "MisuZ2F1Z2UubWVzc2FnZXMuQ2FjaGVGaWxlUmVxdWVzdC5GaWxlU3RhdHVz", - "IksKCkZpbGVTdGF0dXMSCwoHQ0hBTkdFRBAAEgoKBkNMT1NFRBABEgsKB0NS", - "RUFURUQQAhILCgdERUxFVEVEEAMSCgoGT1BFTkVEEAQiKAoUU3RlcFBvc2l0", - "aW9uc1JlcXVlc3QSEAoIZmlsZVBhdGgYASABKAkiuAEKFVN0ZXBQb3NpdGlv", - "bnNSZXNwb25zZRJJCg1zdGVwUG9zaXRpb25zGAEgAygLMjIuZ2F1Z2UubWVz", - "c2FnZXMuU3RlcFBvc2l0aW9uc1Jlc3BvbnNlLlN0ZXBQb3NpdGlvbhINCgVl", - "cnJvchgCIAEoCRpFCgxTdGVwUG9zaXRpb24SEQoJc3RlcFZhbHVlGAEgASgJ", - "EiIKBHNwYW4YAiABKAsyFC5nYXVnZS5tZXNzYWdlcy5TcGFuIiYKJEltcGxl", - "bWVudGF0aW9uRmlsZUdsb2JQYXR0ZXJuUmVxdWVzdCI9CiVJbXBsZW1lbnRh", - "dGlvbkZpbGVHbG9iUGF0dGVyblJlc3BvbnNlEhQKDGdsb2JQYXR0ZXJucxgB", - "IAMoCSIfCh1JbXBsZW1lbnRhdGlvbkZpbGVMaXN0UmVxdWVzdCJBCh5JbXBs", - "ZW1lbnRhdGlvbkZpbGVMaXN0UmVzcG9uc2USHwoXaW1wbGVtZW50YXRpb25G", - "aWxlUGF0aHMYASADKAkiTgodU3R1YkltcGxlbWVudGF0aW9uQ29kZVJlcXVl", - "c3QSHgoWaW1wbGVtZW50YXRpb25GaWxlUGF0aBgBIAEoCRINCgVjb2RlcxgC", - "IAMoCSI/CghUZXh0RGlmZhIiCgRzcGFuGAEgASgLMhQuZ2F1Z2UubWVzc2Fn", - "ZXMuU3BhbhIPCgdjb250ZW50GAIgASgJIkkKCEZpbGVEaWZmEhAKCGZpbGVQ", - "YXRoGAEgASgJEisKCXRleHREaWZmcxgCIAMoCzIYLmdhdWdlLm1lc3NhZ2Vz", - "LlRleHREaWZmIh0KCUtlZXBBbGl2ZRIQCghwbHVnaW5JZBgBIAEoCSKpAQoL", - "U3BlY0RldGFpbHMSNwoHZGV0YWlscxgBIAMoCzImLmdhdWdlLm1lc3NhZ2Vz", - "LlNwZWNEZXRhaWxzLlNwZWNEZXRhaWwaYQoKU3BlY0RldGFpbBInCgRzcGVj", - "GAEgASgLMhkuZ2F1Z2UubWVzc2FnZXMuUHJvdG9TcGVjEioKC3BhcnNlRXJy", - "b3JzGAIgAygLMhUuZ2F1Z2UubWVzc2FnZXMuRXJyb3IiBwoFRW1wdHki5x0K", - "B01lc3NhZ2USOAoLbWVzc2FnZVR5cGUYASABKA4yIy5nYXVnZS5tZXNzYWdl", - "cy5NZXNzYWdlLk1lc3NhZ2VUeXBlEhEKCW1lc3NhZ2VJZBgCIAEoAxJKChhl", - "eGVjdXRpb25TdGFydGluZ1JlcXVlc3QYAyABKAsyKC5nYXVnZS5tZXNzYWdl", - "cy5FeGVjdXRpb25TdGFydGluZ1JlcXVlc3QSUgocc3BlY0V4ZWN1dGlvblN0", - "YXJ0aW5nUmVxdWVzdBgEIAEoCzIsLmdhdWdlLm1lc3NhZ2VzLlNwZWNFeGVj", - "dXRpb25TdGFydGluZ1JlcXVlc3QSTgoac3BlY0V4ZWN1dGlvbkVuZGluZ1Jl", - "cXVlc3QYBSABKAsyKi5nYXVnZS5tZXNzYWdlcy5TcGVjRXhlY3V0aW9uRW5k", - "aW5nUmVxdWVzdBJaCiBzY2VuYXJpb0V4ZWN1dGlvblN0YXJ0aW5nUmVxdWVz", - "dBgGIAEoCzIwLmdhdWdlLm1lc3NhZ2VzLlNjZW5hcmlvRXhlY3V0aW9uU3Rh", - "cnRpbmdSZXF1ZXN0ElYKHnNjZW5hcmlvRXhlY3V0aW9uRW5kaW5nUmVxdWVz", - "dBgHIAEoCzIuLmdhdWdlLm1lc3NhZ2VzLlNjZW5hcmlvRXhlY3V0aW9uRW5k", - "aW5nUmVxdWVzdBJSChxzdGVwRXhlY3V0aW9uU3RhcnRpbmdSZXF1ZXN0GAgg", - "ASgLMiwuZ2F1Z2UubWVzc2FnZXMuU3RlcEV4ZWN1dGlvblN0YXJ0aW5nUmVx", - "dWVzdBJOChpzdGVwRXhlY3V0aW9uRW5kaW5nUmVxdWVzdBgJIAEoCzIqLmdh", - "dWdlLm1lc3NhZ2VzLlN0ZXBFeGVjdXRpb25FbmRpbmdSZXF1ZXN0Ej4KEmV4", - "ZWN1dGVTdGVwUmVxdWVzdBgKIAEoCzIiLmdhdWdlLm1lc3NhZ2VzLkV4ZWN1", - "dGVTdGVwUmVxdWVzdBJGChZleGVjdXRpb25FbmRpbmdSZXF1ZXN0GAsgASgL", - "MiYuZ2F1Z2UubWVzc2FnZXMuRXhlY3V0aW9uRW5kaW5nUmVxdWVzdBJAChNz", - "dGVwVmFsaWRhdGVSZXF1ZXN0GAwgASgLMiMuZ2F1Z2UubWVzc2FnZXMuU3Rl", - "cFZhbGlkYXRlUmVxdWVzdBJCChRzdGVwVmFsaWRhdGVSZXNwb25zZRgNIAEo", - "CzIkLmdhdWdlLm1lc3NhZ2VzLlN0ZXBWYWxpZGF0ZVJlc3BvbnNlEkgKF2V4", - "ZWN1dGlvblN0YXR1c1Jlc3BvbnNlGA4gASgLMicuZ2F1Z2UubWVzc2FnZXMu", - "RXhlY3V0aW9uU3RhdHVzUmVzcG9uc2USOgoQc3RlcE5hbWVzUmVxdWVzdBgP", - "IAEoCzIgLmdhdWdlLm1lc3NhZ2VzLlN0ZXBOYW1lc1JlcXVlc3QSPAoRc3Rl", - "cE5hbWVzUmVzcG9uc2UYECABKAsyIS5nYXVnZS5tZXNzYWdlcy5TdGVwTmFt", - "ZXNSZXNwb25zZRJCChRzdWl0ZUV4ZWN1dGlvblJlc3VsdBgRIAEoCzIkLmdh", - "dWdlLm1lc3NhZ2VzLlN1aXRlRXhlY3V0aW9uUmVzdWx0Ej4KEmtpbGxQcm9j", - "ZXNzUmVxdWVzdBgSIAEoCzIiLmdhdWdlLm1lc3NhZ2VzLktpbGxQcm9jZXNz", - "UmVxdWVzdBJSChxzY2VuYXJpb0RhdGFTdG9yZUluaXRSZXF1ZXN0GBMgASgL", - "MiwuZ2F1Z2UubWVzc2FnZXMuU2NlbmFyaW9EYXRhU3RvcmVJbml0UmVxdWVz", - "dBJKChhzcGVjRGF0YVN0b3JlSW5pdFJlcXVlc3QYFCABKAsyKC5nYXVnZS5t", - "ZXNzYWdlcy5TcGVjRGF0YVN0b3JlSW5pdFJlcXVlc3QSTAoZc3VpdGVEYXRh", - "U3RvcmVJbml0UmVxdWVzdBgVIAEoCzIpLmdhdWdlLm1lc3NhZ2VzLlN1aXRl", - "RGF0YVN0b3JlSW5pdFJlcXVlc3QSOAoPc3RlcE5hbWVSZXF1ZXN0GBYgASgL", - "Mh8uZ2F1Z2UubWVzc2FnZXMuU3RlcE5hbWVSZXF1ZXN0EjoKEHN0ZXBOYW1l", - "UmVzcG9uc2UYFyABKAsyIC5nYXVnZS5tZXNzYWdlcy5TdGVwTmFtZVJlc3Bv", - "bnNlEjgKD3JlZmFjdG9yUmVxdWVzdBgYIAEoCzIfLmdhdWdlLm1lc3NhZ2Vz", - "LlJlZmFjdG9yUmVxdWVzdBI6ChByZWZhY3RvclJlc3BvbnNlGBkgASgLMiAu", - "Z2F1Z2UubWVzc2FnZXMuUmVmYWN0b3JSZXNwb25zZRJOChp1bnN1cHBvcnRl", - "ZE1lc3NhZ2VSZXNwb25zZRgaIAEoCzIqLmdhdWdlLm1lc3NhZ2VzLlVuc3Vw", - "cG9ydGVkTWVzc2FnZVJlc3BvbnNlEjoKEGNhY2hlRmlsZVJlcXVlc3QYGyAB", - "KAsyIC5nYXVnZS5tZXNzYWdlcy5DYWNoZUZpbGVSZXF1ZXN0EkIKFHN0ZXBQ", - "b3NpdGlvbnNSZXF1ZXN0GBwgASgLMiQuZ2F1Z2UubWVzc2FnZXMuU3RlcFBv", - "c2l0aW9uc1JlcXVlc3QSRAoVc3RlcFBvc2l0aW9uc1Jlc3BvbnNlGB0gASgL", - "MiUuZ2F1Z2UubWVzc2FnZXMuU3RlcFBvc2l0aW9uc1Jlc3BvbnNlElQKHWlt", - "cGxlbWVudGF0aW9uRmlsZUxpc3RSZXF1ZXN0GB4gASgLMi0uZ2F1Z2UubWVz", - "c2FnZXMuSW1wbGVtZW50YXRpb25GaWxlTGlzdFJlcXVlc3QSVgoeaW1wbGVt", - "ZW50YXRpb25GaWxlTGlzdFJlc3BvbnNlGB8gASgLMi4uZ2F1Z2UubWVzc2Fn", - "ZXMuSW1wbGVtZW50YXRpb25GaWxlTGlzdFJlc3BvbnNlElQKHXN0dWJJbXBs", - "ZW1lbnRhdGlvbkNvZGVSZXF1ZXN0GCAgASgLMi0uZ2F1Z2UubWVzc2FnZXMu", - "U3R1YkltcGxlbWVudGF0aW9uQ29kZVJlcXVlc3QSKgoIZmlsZURpZmYYISAB", - "KAsyGC5nYXVnZS5tZXNzYWdlcy5GaWxlRGlmZhJiCiRpbXBsZW1lbnRhdGlv", - "bkZpbGVHbG9iUGF0dGVyblJlcXVlc3QYIiABKAsyNC5nYXVnZS5tZXNzYWdl", - "cy5JbXBsZW1lbnRhdGlvbkZpbGVHbG9iUGF0dGVyblJlcXVlc3QSZAolaW1w", - "bGVtZW50YXRpb25GaWxlR2xvYlBhdHRlcm5SZXNwb25zZRgjIAEoCzI1Lmdh", - "dWdlLm1lc3NhZ2VzLkltcGxlbWVudGF0aW9uRmlsZUdsb2JQYXR0ZXJuUmVz", - "cG9uc2USSgoYc3VpdGVFeGVjdXRpb25SZXN1bHRJdGVtGCQgASgLMiguZ2F1", - "Z2UubWVzc2FnZXMuU3VpdGVFeGVjdXRpb25SZXN1bHRJdGVtEiwKCWtlZXBB", - "bGl2ZRglIAEoCzIZLmdhdWdlLm1lc3NhZ2VzLktlZXBBbGl2ZRJYCh9jb25j", - "ZXB0RXhlY3V0aW9uU3RhcnRpbmdSZXF1ZXN0GCYgASgLMi8uZ2F1Z2UubWVz", - "c2FnZXMuQ29uY2VwdEV4ZWN1dGlvblN0YXJ0aW5nUmVxdWVzdBJUCh1jb25j", - "ZXB0RXhlY3V0aW9uRW5kaW5nUmVxdWVzdBgnIAEoCzItLmdhdWdlLm1lc3Nh", - "Z2VzLkNvbmNlcHRFeGVjdXRpb25FbmRpbmdSZXF1ZXN0ItwHCgtNZXNzYWdl", - "VHlwZRIVChFFeGVjdXRpb25TdGFydGluZxAAEhkKFVNwZWNFeGVjdXRpb25T", - "dGFydGluZxABEhcKE1NwZWNFeGVjdXRpb25FbmRpbmcQAhIdChlTY2VuYXJp", - "b0V4ZWN1dGlvblN0YXJ0aW5nEAMSGwoXU2NlbmFyaW9FeGVjdXRpb25FbmRp", - "bmcQBBIZChVTdGVwRXhlY3V0aW9uU3RhcnRpbmcQBRIXChNTdGVwRXhlY3V0", - "aW9uRW5kaW5nEAYSDwoLRXhlY3V0ZVN0ZXAQBxITCg9FeGVjdXRpb25FbmRp", - "bmcQCBIXChNTdGVwVmFsaWRhdGVSZXF1ZXN0EAkSGAoUU3RlcFZhbGlkYXRl", - "UmVzcG9uc2UQChIbChdFeGVjdXRpb25TdGF0dXNSZXNwb25zZRALEhQKEFN0", - "ZXBOYW1lc1JlcXVlc3QQDBIVChFTdGVwTmFtZXNSZXNwb25zZRANEhYKEktp", - "bGxQcm9jZXNzUmVxdWVzdBAOEhgKFFN1aXRlRXhlY3V0aW9uUmVzdWx0EA8S", - "GQoVU2NlbmFyaW9EYXRhU3RvcmVJbml0EBASFQoRU3BlY0RhdGFTdG9yZUlu", - "aXQQERIWChJTdWl0ZURhdGFTdG9yZUluaXQQEhITCg9TdGVwTmFtZVJlcXVl", - "c3QQExIUChBTdGVwTmFtZVJlc3BvbnNlEBQSEwoPUmVmYWN0b3JSZXF1ZXN0", - "EBUSFAoQUmVmYWN0b3JSZXNwb25zZRAWEh4KGlVuc3VwcG9ydGVkTWVzc2Fn", - "ZVJlc3BvbnNlEBcSFAoQQ2FjaGVGaWxlUmVxdWVzdBAYEhgKFFN0ZXBQb3Np", - "dGlvbnNSZXF1ZXN0EBkSGQoVU3RlcFBvc2l0aW9uc1Jlc3BvbnNlEBoSIQod", - "SW1wbGVtZW50YXRpb25GaWxlTGlzdFJlcXVlc3QQGxIiCh5JbXBsZW1lbnRh", - "dGlvbkZpbGVMaXN0UmVzcG9uc2UQHBIhCh1TdHViSW1wbGVtZW50YXRpb25D", - "b2RlUmVxdWVzdBAdEgwKCEZpbGVEaWZmEB4SKAokSW1wbGVtZW50YXRpb25G", - "aWxlR2xvYlBhdHRlcm5SZXF1ZXN0EB8SKQolSW1wbGVtZW50YXRpb25GaWxl", - "R2xvYlBhdHRlcm5SZXNwb25zZRAgEhwKGFN1aXRlRXhlY3V0aW9uUmVzdWx0", - "SXRlbRAhEg0KCUtlZXBBbGl2ZRAiEhwKGENvbmNlcHRFeGVjdXRpb25TdGFy", - "dGluZxAjEhoKFkNvbmNlcHRFeGVjdXRpb25FbmRpbmcQJEJcChZjb20udGhv", - "dWdodHdvcmtzLmdhdWdlWjFnaXRodWIuY29tL2dldGdhdWdlL2dhdWdlLXBy", - "b3RvL2dvL2dhdWdlX21lc3NhZ2VzqgIOR2F1Z2UuTWVzc2FnZXNiBnByb3Rv", - "Mw==")); - descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { global::Gauge.Messages.SpecReflection.Descriptor, }, - new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.KillProcessRequest), global::Gauge.Messages.KillProcessRequest.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ExecutionStatusResponse), global::Gauge.Messages.ExecutionStatusResponse.Parser, new[]{ "ExecutionResult" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ExecutionStartingRequest), global::Gauge.Messages.ExecutionStartingRequest.Parser, new[]{ "CurrentExecutionInfo", "SuiteResult", "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ExecutionEndingRequest), global::Gauge.Messages.ExecutionEndingRequest.Parser, new[]{ "CurrentExecutionInfo", "SuiteResult", "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.SpecExecutionStartingRequest), global::Gauge.Messages.SpecExecutionStartingRequest.Parser, new[]{ "CurrentExecutionInfo", "SpecResult", "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.SpecExecutionEndingRequest), global::Gauge.Messages.SpecExecutionEndingRequest.Parser, new[]{ "CurrentExecutionInfo", "SpecResult", "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ScenarioExecutionStartingRequest), global::Gauge.Messages.ScenarioExecutionStartingRequest.Parser, new[]{ "CurrentExecutionInfo", "ScenarioResult", "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ScenarioExecutionEndingRequest), global::Gauge.Messages.ScenarioExecutionEndingRequest.Parser, new[]{ "CurrentExecutionInfo", "ScenarioResult", "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.StepExecutionStartingRequest), global::Gauge.Messages.StepExecutionStartingRequest.Parser, new[]{ "CurrentExecutionInfo", "StepResult", "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.StepExecutionEndingRequest), global::Gauge.Messages.StepExecutionEndingRequest.Parser, new[]{ "CurrentExecutionInfo", "StepResult", "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ConceptExecutionStartingRequest), global::Gauge.Messages.ConceptExecutionStartingRequest.Parser, new[]{ "CurrentExecutionInfo", "StepResult", "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ConceptExecutionEndingRequest), global::Gauge.Messages.ConceptExecutionEndingRequest.Parser, new[]{ "CurrentExecutionInfo", "StepResult", "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ExecutionArg), global::Gauge.Messages.ExecutionArg.Parser, new[]{ "FlagName", "FlagValue" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ExecutionInfo), global::Gauge.Messages.ExecutionInfo.Parser, new[]{ "CurrentSpec", "CurrentScenario", "CurrentStep", "Stacktrace", "ProjectName", "ExecutionArgs", "NumberOfExecutionStreams", "RunnerId" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.SpecInfo), global::Gauge.Messages.SpecInfo.Parser, new[]{ "Name", "FileName", "IsFailed", "Tags" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ScenarioInfo), global::Gauge.Messages.ScenarioInfo.Parser, new[]{ "Name", "IsFailed", "Tags", "Retries" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ScenarioRetriesInfo), global::Gauge.Messages.ScenarioRetriesInfo.Parser, new[]{ "MaxRetries", "CurrentRetry" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.StepInfo), global::Gauge.Messages.StepInfo.Parser, new[]{ "Step", "IsFailed", "StackTrace", "ErrorMessage" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ExecuteStepRequest), global::Gauge.Messages.ExecuteStepRequest.Parser, new[]{ "ActualStepText", "ParsedStepText", "ScenarioFailing", "Parameters", "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.StepValidateRequest), global::Gauge.Messages.StepValidateRequest.Parser, new[]{ "StepText", "NumberOfParameters", "StepValue" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.StepValidateResponse), global::Gauge.Messages.StepValidateResponse.Parser, new[]{ "IsValid", "ErrorMessage", "ErrorType", "Suggestion" }, null, new[]{ typeof(global::Gauge.Messages.StepValidateResponse.Types.ErrorType) }, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.SuiteExecutionResult), global::Gauge.Messages.SuiteExecutionResult.Parser, new[]{ "SuiteResult" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.SuiteExecutionResultItem), global::Gauge.Messages.SuiteExecutionResultItem.Parser, new[]{ "ResultItem" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.StepNamesRequest), global::Gauge.Messages.StepNamesRequest.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.StepNamesResponse), global::Gauge.Messages.StepNamesResponse.Parser, new[]{ "Steps" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ScenarioDataStoreInitRequest), global::Gauge.Messages.ScenarioDataStoreInitRequest.Parser, new[]{ "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.SpecDataStoreInitRequest), global::Gauge.Messages.SpecDataStoreInitRequest.Parser, new[]{ "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.SuiteDataStoreInitRequest), global::Gauge.Messages.SuiteDataStoreInitRequest.Parser, new[]{ "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ParameterPosition), global::Gauge.Messages.ParameterPosition.Parser, new[]{ "OldPosition", "NewPosition" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.RefactorRequest), global::Gauge.Messages.RefactorRequest.Parser, new[]{ "OldStepValue", "NewStepValue", "ParamPositions", "SaveChanges" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.FileChanges), global::Gauge.Messages.FileChanges.Parser, new[]{ "FileName", "FileContent", "Diffs" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.RefactorResponse), global::Gauge.Messages.RefactorResponse.Parser, new[]{ "Success", "Error", "FilesChanged", "FileChanges" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.StepNameRequest), global::Gauge.Messages.StepNameRequest.Parser, new[]{ "StepValue" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.StepNameResponse), global::Gauge.Messages.StepNameResponse.Parser, new[]{ "IsStepPresent", "StepName", "HasAlias", "FileName", "Span", "IsExternal" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.UnsupportedMessageResponse), global::Gauge.Messages.UnsupportedMessageResponse.Parser, new[]{ "Message" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.CacheFileRequest), global::Gauge.Messages.CacheFileRequest.Parser, new[]{ "Content", "FilePath", "IsClosed", "Status" }, null, new[]{ typeof(global::Gauge.Messages.CacheFileRequest.Types.FileStatus) }, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.StepPositionsRequest), global::Gauge.Messages.StepPositionsRequest.Parser, new[]{ "FilePath" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.StepPositionsResponse), global::Gauge.Messages.StepPositionsResponse.Parser, new[]{ "StepPositions", "Error" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.StepPositionsResponse.Types.StepPosition), global::Gauge.Messages.StepPositionsResponse.Types.StepPosition.Parser, new[]{ "StepValue", "Span" }, null, null, null, null)}), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ImplementationFileGlobPatternRequest), global::Gauge.Messages.ImplementationFileGlobPatternRequest.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ImplementationFileGlobPatternResponse), global::Gauge.Messages.ImplementationFileGlobPatternResponse.Parser, new[]{ "GlobPatterns" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ImplementationFileListRequest), global::Gauge.Messages.ImplementationFileListRequest.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ImplementationFileListResponse), global::Gauge.Messages.ImplementationFileListResponse.Parser, new[]{ "ImplementationFilePaths" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.StubImplementationCodeRequest), global::Gauge.Messages.StubImplementationCodeRequest.Parser, new[]{ "ImplementationFilePath", "Codes" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.TextDiff), global::Gauge.Messages.TextDiff.Parser, new[]{ "Span", "Content" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.FileDiff), global::Gauge.Messages.FileDiff.Parser, new[]{ "FilePath", "TextDiffs" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.KeepAlive), global::Gauge.Messages.KeepAlive.Parser, new[]{ "PluginId" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.SpecDetails), global::Gauge.Messages.SpecDetails.Parser, new[]{ "Details" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.SpecDetails.Types.SpecDetail), global::Gauge.Messages.SpecDetails.Types.SpecDetail.Parser, new[]{ "Spec", "ParseErrors" }, null, null, null, null)}), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.Empty), global::Gauge.Messages.Empty.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.Message), global::Gauge.Messages.Message.Parser, new[]{ "MessageType", "MessageId", "ExecutionStartingRequest", "SpecExecutionStartingRequest", "SpecExecutionEndingRequest", "ScenarioExecutionStartingRequest", "ScenarioExecutionEndingRequest", "StepExecutionStartingRequest", "StepExecutionEndingRequest", "ExecuteStepRequest", "ExecutionEndingRequest", "StepValidateRequest", "StepValidateResponse", "ExecutionStatusResponse", "StepNamesRequest", "StepNamesResponse", "SuiteExecutionResult", "KillProcessRequest", "ScenarioDataStoreInitRequest", "SpecDataStoreInitRequest", "SuiteDataStoreInitRequest", "StepNameRequest", "StepNameResponse", "RefactorRequest", "RefactorResponse", "UnsupportedMessageResponse", "CacheFileRequest", "StepPositionsRequest", "StepPositionsResponse", "ImplementationFileListRequest", "ImplementationFileListResponse", "StubImplementationCodeRequest", "FileDiff", "ImplementationFileGlobPatternRequest", "ImplementationFileGlobPatternResponse", "SuiteExecutionResultItem", "KeepAlive", "ConceptExecutionStartingRequest", "ConceptExecutionEndingRequest" }, null, new[]{ typeof(global::Gauge.Messages.Message.Types.MessageType) }, null, null) - })); - } - #endregion - - } - #region Messages - /// - //// Default request. Tells the runner to shutdown. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class KillProcessRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new KillProcessRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[0]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public KillProcessRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public KillProcessRequest(KillProcessRequest other) : this() { - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public KillProcessRequest Clone() { - return new KillProcessRequest(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as KillProcessRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(KillProcessRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(KillProcessRequest other) { - if (other == null) { - return; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - } - } - } - #endif - - } - - /// - //// Sends to any request which needs a execution status as response - //// usually step execution, hooks etc will return this - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ExecutionStatusResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ExecutionStatusResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[1]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionStatusResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionStatusResponse(ExecutionStatusResponse other) : this() { - executionResult_ = other.executionResult_ != null ? other.executionResult_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionStatusResponse Clone() { - return new ExecutionStatusResponse(this); - } - - /// Field number for the "executionResult" field. - public const int ExecutionResultFieldNumber = 1; - private global::Gauge.Messages.ProtoExecutionResult executionResult_; - /// - //// Holds the suite result after suite execution done. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoExecutionResult ExecutionResult { - get { return executionResult_; } - set { - executionResult_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ExecutionStatusResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ExecutionStatusResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(ExecutionResult, other.ExecutionResult)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (executionResult_ != null) hash ^= ExecutionResult.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (executionResult_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ExecutionResult); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (executionResult_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ExecutionResult); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (executionResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ExecutionResult); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ExecutionStatusResponse other) { - if (other == null) { - return; - } - if (other.executionResult_ != null) { - if (executionResult_ == null) { - ExecutionResult = new global::Gauge.Messages.ProtoExecutionResult(); - } - ExecutionResult.MergeFrom(other.ExecutionResult); - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (executionResult_ == null) { - ExecutionResult = new global::Gauge.Messages.ProtoExecutionResult(); - } - input.ReadMessage(ExecutionResult); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (executionResult_ == null) { - ExecutionResult = new global::Gauge.Messages.ProtoExecutionResult(); - } - input.ReadMessage(ExecutionResult); - break; - } - } - } - } - #endif - - } - - /// - //// Sent at start of Suite Execution. Tells the runner to execute `before_suite` hook. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ExecutionStartingRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ExecutionStartingRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[2]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionStartingRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionStartingRequest(ExecutionStartingRequest other) : this() { - currentExecutionInfo_ = other.currentExecutionInfo_ != null ? other.currentExecutionInfo_.Clone() : null; - suiteResult_ = other.suiteResult_ != null ? other.suiteResult_.Clone() : null; - stream_ = other.stream_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionStartingRequest Clone() { - return new ExecutionStartingRequest(this); - } - - /// Field number for the "currentExecutionInfo" field. - public const int CurrentExecutionInfoFieldNumber = 1; - private global::Gauge.Messages.ExecutionInfo currentExecutionInfo_; - /// - //// Holds the current suite execution info. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecutionInfo CurrentExecutionInfo { - get { return currentExecutionInfo_; } - set { - currentExecutionInfo_ = value; - } - } - - /// Field number for the "suiteResult" field. - public const int SuiteResultFieldNumber = 2; - private global::Gauge.Messages.ProtoSuiteResult suiteResult_; - /// - //// Holds the suite result in execution starting. - //// Some fields will not be populated before execution. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoSuiteResult SuiteResult { - get { return suiteResult_; } - set { - suiteResult_ = value; - } - } - - /// Field number for the "stream" field. - public const int StreamFieldNumber = 3; - private int stream_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Stream { - get { return stream_; } - set { - stream_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ExecutionStartingRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ExecutionStartingRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(CurrentExecutionInfo, other.CurrentExecutionInfo)) return false; - if (!object.Equals(SuiteResult, other.SuiteResult)) return false; - if (Stream != other.Stream) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (currentExecutionInfo_ != null) hash ^= CurrentExecutionInfo.GetHashCode(); - if (suiteResult_ != null) hash ^= SuiteResult.GetHashCode(); - if (Stream != 0) hash ^= Stream.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (suiteResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(SuiteResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (suiteResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(SuiteResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (currentExecutionInfo_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CurrentExecutionInfo); - } - if (suiteResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SuiteResult); - } - if (Stream != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stream); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ExecutionStartingRequest other) { - if (other == null) { - return; - } - if (other.currentExecutionInfo_ != null) { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - CurrentExecutionInfo.MergeFrom(other.CurrentExecutionInfo); - } - if (other.suiteResult_ != null) { - if (suiteResult_ == null) { - SuiteResult = new global::Gauge.Messages.ProtoSuiteResult(); - } - SuiteResult.MergeFrom(other.SuiteResult); - } - if (other.Stream != 0) { - Stream = other.Stream; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (suiteResult_ == null) { - SuiteResult = new global::Gauge.Messages.ProtoSuiteResult(); - } - input.ReadMessage(SuiteResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (suiteResult_ == null) { - SuiteResult = new global::Gauge.Messages.ProtoSuiteResult(); - } - input.ReadMessage(SuiteResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Sent at end of Suite Execution. Tells the runner to execute `after_suite` hook. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ExecutionEndingRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ExecutionEndingRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[3]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionEndingRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionEndingRequest(ExecutionEndingRequest other) : this() { - currentExecutionInfo_ = other.currentExecutionInfo_ != null ? other.currentExecutionInfo_.Clone() : null; - suiteResult_ = other.suiteResult_ != null ? other.suiteResult_.Clone() : null; - stream_ = other.stream_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionEndingRequest Clone() { - return new ExecutionEndingRequest(this); - } - - /// Field number for the "currentExecutionInfo" field. - public const int CurrentExecutionInfoFieldNumber = 1; - private global::Gauge.Messages.ExecutionInfo currentExecutionInfo_; - /// - //// Holds the current suite execution info. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecutionInfo CurrentExecutionInfo { - get { return currentExecutionInfo_; } - set { - currentExecutionInfo_ = value; - } - } - - /// Field number for the "suiteResult" field. - public const int SuiteResultFieldNumber = 2; - private global::Gauge.Messages.ProtoSuiteResult suiteResult_; - /// - //// Holds the suite result in execution ending. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoSuiteResult SuiteResult { - get { return suiteResult_; } - set { - suiteResult_ = value; - } - } - - /// Field number for the "stream" field. - public const int StreamFieldNumber = 3; - private int stream_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Stream { - get { return stream_; } - set { - stream_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ExecutionEndingRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ExecutionEndingRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(CurrentExecutionInfo, other.CurrentExecutionInfo)) return false; - if (!object.Equals(SuiteResult, other.SuiteResult)) return false; - if (Stream != other.Stream) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (currentExecutionInfo_ != null) hash ^= CurrentExecutionInfo.GetHashCode(); - if (suiteResult_ != null) hash ^= SuiteResult.GetHashCode(); - if (Stream != 0) hash ^= Stream.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (suiteResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(SuiteResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (suiteResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(SuiteResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (currentExecutionInfo_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CurrentExecutionInfo); - } - if (suiteResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SuiteResult); - } - if (Stream != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stream); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ExecutionEndingRequest other) { - if (other == null) { - return; - } - if (other.currentExecutionInfo_ != null) { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - CurrentExecutionInfo.MergeFrom(other.CurrentExecutionInfo); - } - if (other.suiteResult_ != null) { - if (suiteResult_ == null) { - SuiteResult = new global::Gauge.Messages.ProtoSuiteResult(); - } - SuiteResult.MergeFrom(other.SuiteResult); - } - if (other.Stream != 0) { - Stream = other.Stream; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (suiteResult_ == null) { - SuiteResult = new global::Gauge.Messages.ProtoSuiteResult(); - } - input.ReadMessage(SuiteResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (suiteResult_ == null) { - SuiteResult = new global::Gauge.Messages.ProtoSuiteResult(); - } - input.ReadMessage(SuiteResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Sent at start of Spec Execution. Tells the runner to execute `before_spec` hook. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class SpecExecutionStartingRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SpecExecutionStartingRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[4]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecExecutionStartingRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecExecutionStartingRequest(SpecExecutionStartingRequest other) : this() { - currentExecutionInfo_ = other.currentExecutionInfo_ != null ? other.currentExecutionInfo_.Clone() : null; - specResult_ = other.specResult_ != null ? other.specResult_.Clone() : null; - stream_ = other.stream_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecExecutionStartingRequest Clone() { - return new SpecExecutionStartingRequest(this); - } - - /// Field number for the "currentExecutionInfo" field. - public const int CurrentExecutionInfoFieldNumber = 1; - private global::Gauge.Messages.ExecutionInfo currentExecutionInfo_; - /// - //// Holds the current spec execution info. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecutionInfo CurrentExecutionInfo { - get { return currentExecutionInfo_; } - set { - currentExecutionInfo_ = value; - } - } - - /// Field number for the "specResult" field. - public const int SpecResultFieldNumber = 2; - private global::Gauge.Messages.ProtoSpecResult specResult_; - /// - //// Holds the specs result in spec execution starting. - //// Some fields will not be populated before execution. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoSpecResult SpecResult { - get { return specResult_; } - set { - specResult_ = value; - } - } - - /// Field number for the "stream" field. - public const int StreamFieldNumber = 3; - private int stream_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Stream { - get { return stream_; } - set { - stream_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SpecExecutionStartingRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SpecExecutionStartingRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(CurrentExecutionInfo, other.CurrentExecutionInfo)) return false; - if (!object.Equals(SpecResult, other.SpecResult)) return false; - if (Stream != other.Stream) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (currentExecutionInfo_ != null) hash ^= CurrentExecutionInfo.GetHashCode(); - if (specResult_ != null) hash ^= SpecResult.GetHashCode(); - if (Stream != 0) hash ^= Stream.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (specResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(SpecResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (specResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(SpecResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (currentExecutionInfo_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CurrentExecutionInfo); - } - if (specResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpecResult); - } - if (Stream != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stream); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SpecExecutionStartingRequest other) { - if (other == null) { - return; - } - if (other.currentExecutionInfo_ != null) { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - CurrentExecutionInfo.MergeFrom(other.CurrentExecutionInfo); - } - if (other.specResult_ != null) { - if (specResult_ == null) { - SpecResult = new global::Gauge.Messages.ProtoSpecResult(); - } - SpecResult.MergeFrom(other.SpecResult); - } - if (other.Stream != 0) { - Stream = other.Stream; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (specResult_ == null) { - SpecResult = new global::Gauge.Messages.ProtoSpecResult(); - } - input.ReadMessage(SpecResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (specResult_ == null) { - SpecResult = new global::Gauge.Messages.ProtoSpecResult(); - } - input.ReadMessage(SpecResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Sent at end of Spec Execution. Tells the runner to execute `after_spec` hook. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class SpecExecutionEndingRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SpecExecutionEndingRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[5]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecExecutionEndingRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecExecutionEndingRequest(SpecExecutionEndingRequest other) : this() { - currentExecutionInfo_ = other.currentExecutionInfo_ != null ? other.currentExecutionInfo_.Clone() : null; - specResult_ = other.specResult_ != null ? other.specResult_.Clone() : null; - stream_ = other.stream_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecExecutionEndingRequest Clone() { - return new SpecExecutionEndingRequest(this); - } - - /// Field number for the "currentExecutionInfo" field. - public const int CurrentExecutionInfoFieldNumber = 1; - private global::Gauge.Messages.ExecutionInfo currentExecutionInfo_; - /// - //// Holds the current spec execution info. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecutionInfo CurrentExecutionInfo { - get { return currentExecutionInfo_; } - set { - currentExecutionInfo_ = value; - } - } - - /// Field number for the "specResult" field. - public const int SpecResultFieldNumber = 2; - private global::Gauge.Messages.ProtoSpecResult specResult_; - /// - //// Holds the specs result in spec execution ending. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoSpecResult SpecResult { - get { return specResult_; } - set { - specResult_ = value; - } - } - - /// Field number for the "stream" field. - public const int StreamFieldNumber = 3; - private int stream_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Stream { - get { return stream_; } - set { - stream_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SpecExecutionEndingRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SpecExecutionEndingRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(CurrentExecutionInfo, other.CurrentExecutionInfo)) return false; - if (!object.Equals(SpecResult, other.SpecResult)) return false; - if (Stream != other.Stream) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (currentExecutionInfo_ != null) hash ^= CurrentExecutionInfo.GetHashCode(); - if (specResult_ != null) hash ^= SpecResult.GetHashCode(); - if (Stream != 0) hash ^= Stream.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (specResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(SpecResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (specResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(SpecResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (currentExecutionInfo_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CurrentExecutionInfo); - } - if (specResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpecResult); - } - if (Stream != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stream); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SpecExecutionEndingRequest other) { - if (other == null) { - return; - } - if (other.currentExecutionInfo_ != null) { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - CurrentExecutionInfo.MergeFrom(other.CurrentExecutionInfo); - } - if (other.specResult_ != null) { - if (specResult_ == null) { - SpecResult = new global::Gauge.Messages.ProtoSpecResult(); - } - SpecResult.MergeFrom(other.SpecResult); - } - if (other.Stream != 0) { - Stream = other.Stream; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (specResult_ == null) { - SpecResult = new global::Gauge.Messages.ProtoSpecResult(); - } - input.ReadMessage(SpecResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (specResult_ == null) { - SpecResult = new global::Gauge.Messages.ProtoSpecResult(); - } - input.ReadMessage(SpecResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Sent at start of Scenario Execution. Tells the runner to execute `before_scenario` hook. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ScenarioExecutionStartingRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ScenarioExecutionStartingRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[6]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioExecutionStartingRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioExecutionStartingRequest(ScenarioExecutionStartingRequest other) : this() { - currentExecutionInfo_ = other.currentExecutionInfo_ != null ? other.currentExecutionInfo_.Clone() : null; - scenarioResult_ = other.scenarioResult_ != null ? other.scenarioResult_.Clone() : null; - stream_ = other.stream_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioExecutionStartingRequest Clone() { - return new ScenarioExecutionStartingRequest(this); - } - - /// Field number for the "currentExecutionInfo" field. - public const int CurrentExecutionInfoFieldNumber = 1; - private global::Gauge.Messages.ExecutionInfo currentExecutionInfo_; - /// - //// Holds the current sceanrio execution info. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecutionInfo CurrentExecutionInfo { - get { return currentExecutionInfo_; } - set { - currentExecutionInfo_ = value; - } - } - - /// Field number for the "scenarioResult" field. - public const int ScenarioResultFieldNumber = 2; - private global::Gauge.Messages.ProtoScenarioResult scenarioResult_; - /// - //// Holds the scenarion result in scenarion execution starting. - //// Some fields will not be populated before execution. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoScenarioResult ScenarioResult { - get { return scenarioResult_; } - set { - scenarioResult_ = value; - } - } - - /// Field number for the "stream" field. - public const int StreamFieldNumber = 3; - private int stream_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Stream { - get { return stream_; } - set { - stream_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ScenarioExecutionStartingRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ScenarioExecutionStartingRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(CurrentExecutionInfo, other.CurrentExecutionInfo)) return false; - if (!object.Equals(ScenarioResult, other.ScenarioResult)) return false; - if (Stream != other.Stream) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (currentExecutionInfo_ != null) hash ^= CurrentExecutionInfo.GetHashCode(); - if (scenarioResult_ != null) hash ^= ScenarioResult.GetHashCode(); - if (Stream != 0) hash ^= Stream.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (scenarioResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(ScenarioResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (scenarioResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(ScenarioResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (currentExecutionInfo_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CurrentExecutionInfo); - } - if (scenarioResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ScenarioResult); - } - if (Stream != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stream); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ScenarioExecutionStartingRequest other) { - if (other == null) { - return; - } - if (other.currentExecutionInfo_ != null) { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - CurrentExecutionInfo.MergeFrom(other.CurrentExecutionInfo); - } - if (other.scenarioResult_ != null) { - if (scenarioResult_ == null) { - ScenarioResult = new global::Gauge.Messages.ProtoScenarioResult(); - } - ScenarioResult.MergeFrom(other.ScenarioResult); - } - if (other.Stream != 0) { - Stream = other.Stream; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (scenarioResult_ == null) { - ScenarioResult = new global::Gauge.Messages.ProtoScenarioResult(); - } - input.ReadMessage(ScenarioResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (scenarioResult_ == null) { - ScenarioResult = new global::Gauge.Messages.ProtoScenarioResult(); - } - input.ReadMessage(ScenarioResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Sent at end of Scenario Execution. Tells the runner to execute `after_scenario` hook. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ScenarioExecutionEndingRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ScenarioExecutionEndingRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[7]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioExecutionEndingRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioExecutionEndingRequest(ScenarioExecutionEndingRequest other) : this() { - currentExecutionInfo_ = other.currentExecutionInfo_ != null ? other.currentExecutionInfo_.Clone() : null; - scenarioResult_ = other.scenarioResult_ != null ? other.scenarioResult_.Clone() : null; - stream_ = other.stream_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioExecutionEndingRequest Clone() { - return new ScenarioExecutionEndingRequest(this); - } - - /// Field number for the "currentExecutionInfo" field. - public const int CurrentExecutionInfoFieldNumber = 1; - private global::Gauge.Messages.ExecutionInfo currentExecutionInfo_; - /// - //// Holds the current scenario execution info. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecutionInfo CurrentExecutionInfo { - get { return currentExecutionInfo_; } - set { - currentExecutionInfo_ = value; - } - } - - /// Field number for the "scenarioResult" field. - public const int ScenarioResultFieldNumber = 2; - private global::Gauge.Messages.ProtoScenarioResult scenarioResult_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoScenarioResult ScenarioResult { - get { return scenarioResult_; } - set { - scenarioResult_ = value; - } - } - - /// Field number for the "stream" field. - public const int StreamFieldNumber = 3; - private int stream_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Stream { - get { return stream_; } - set { - stream_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ScenarioExecutionEndingRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ScenarioExecutionEndingRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(CurrentExecutionInfo, other.CurrentExecutionInfo)) return false; - if (!object.Equals(ScenarioResult, other.ScenarioResult)) return false; - if (Stream != other.Stream) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (currentExecutionInfo_ != null) hash ^= CurrentExecutionInfo.GetHashCode(); - if (scenarioResult_ != null) hash ^= ScenarioResult.GetHashCode(); - if (Stream != 0) hash ^= Stream.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (scenarioResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(ScenarioResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (scenarioResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(ScenarioResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (currentExecutionInfo_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CurrentExecutionInfo); - } - if (scenarioResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ScenarioResult); - } - if (Stream != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stream); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ScenarioExecutionEndingRequest other) { - if (other == null) { - return; - } - if (other.currentExecutionInfo_ != null) { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - CurrentExecutionInfo.MergeFrom(other.CurrentExecutionInfo); - } - if (other.scenarioResult_ != null) { - if (scenarioResult_ == null) { - ScenarioResult = new global::Gauge.Messages.ProtoScenarioResult(); - } - ScenarioResult.MergeFrom(other.ScenarioResult); - } - if (other.Stream != 0) { - Stream = other.Stream; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (scenarioResult_ == null) { - ScenarioResult = new global::Gauge.Messages.ProtoScenarioResult(); - } - input.ReadMessage(ScenarioResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (scenarioResult_ == null) { - ScenarioResult = new global::Gauge.Messages.ProtoScenarioResult(); - } - input.ReadMessage(ScenarioResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Sent at start of Step Execution. Tells the runner to execute `before_step` hook. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class StepExecutionStartingRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StepExecutionStartingRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[8]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepExecutionStartingRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepExecutionStartingRequest(StepExecutionStartingRequest other) : this() { - currentExecutionInfo_ = other.currentExecutionInfo_ != null ? other.currentExecutionInfo_.Clone() : null; - stepResult_ = other.stepResult_ != null ? other.stepResult_.Clone() : null; - stream_ = other.stream_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepExecutionStartingRequest Clone() { - return new StepExecutionStartingRequest(this); - } - - /// Field number for the "currentExecutionInfo" field. - public const int CurrentExecutionInfoFieldNumber = 1; - private global::Gauge.Messages.ExecutionInfo currentExecutionInfo_; - /// - //// Holds the current step execution info. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecutionInfo CurrentExecutionInfo { - get { return currentExecutionInfo_; } - set { - currentExecutionInfo_ = value; - } - } - - /// Field number for the "stepResult" field. - public const int StepResultFieldNumber = 2; - private global::Gauge.Messages.ProtoStepResult stepResult_; - /// - //// Holds step result in step execution starting. - //// Some fields will not be populated before execution. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoStepResult StepResult { - get { return stepResult_; } - set { - stepResult_ = value; - } - } - - /// Field number for the "stream" field. - public const int StreamFieldNumber = 3; - private int stream_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Stream { - get { return stream_; } - set { - stream_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as StepExecutionStartingRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(StepExecutionStartingRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(CurrentExecutionInfo, other.CurrentExecutionInfo)) return false; - if (!object.Equals(StepResult, other.StepResult)) return false; - if (Stream != other.Stream) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (currentExecutionInfo_ != null) hash ^= CurrentExecutionInfo.GetHashCode(); - if (stepResult_ != null) hash ^= StepResult.GetHashCode(); - if (Stream != 0) hash ^= Stream.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (stepResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(StepResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (stepResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(StepResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (currentExecutionInfo_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CurrentExecutionInfo); - } - if (stepResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepResult); - } - if (Stream != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stream); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(StepExecutionStartingRequest other) { - if (other == null) { - return; - } - if (other.currentExecutionInfo_ != null) { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - CurrentExecutionInfo.MergeFrom(other.CurrentExecutionInfo); - } - if (other.stepResult_ != null) { - if (stepResult_ == null) { - StepResult = new global::Gauge.Messages.ProtoStepResult(); - } - StepResult.MergeFrom(other.StepResult); - } - if (other.Stream != 0) { - Stream = other.Stream; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (stepResult_ == null) { - StepResult = new global::Gauge.Messages.ProtoStepResult(); - } - input.ReadMessage(StepResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (stepResult_ == null) { - StepResult = new global::Gauge.Messages.ProtoStepResult(); - } - input.ReadMessage(StepResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Sent at end of Step Execution. Tells the runner to execute `after_step` hook. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class StepExecutionEndingRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StepExecutionEndingRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[9]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepExecutionEndingRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepExecutionEndingRequest(StepExecutionEndingRequest other) : this() { - currentExecutionInfo_ = other.currentExecutionInfo_ != null ? other.currentExecutionInfo_.Clone() : null; - stepResult_ = other.stepResult_ != null ? other.stepResult_.Clone() : null; - stream_ = other.stream_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepExecutionEndingRequest Clone() { - return new StepExecutionEndingRequest(this); - } - - /// Field number for the "currentExecutionInfo" field. - public const int CurrentExecutionInfoFieldNumber = 1; - private global::Gauge.Messages.ExecutionInfo currentExecutionInfo_; - /// - //// Holds the current step execution info. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecutionInfo CurrentExecutionInfo { - get { return currentExecutionInfo_; } - set { - currentExecutionInfo_ = value; - } - } - - /// Field number for the "stepResult" field. - public const int StepResultFieldNumber = 2; - private global::Gauge.Messages.ProtoStepResult stepResult_; - /// - //// Holds step result in step execution ending. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoStepResult StepResult { - get { return stepResult_; } - set { - stepResult_ = value; - } - } - - /// Field number for the "stream" field. - public const int StreamFieldNumber = 3; - private int stream_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Stream { - get { return stream_; } - set { - stream_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as StepExecutionEndingRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(StepExecutionEndingRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(CurrentExecutionInfo, other.CurrentExecutionInfo)) return false; - if (!object.Equals(StepResult, other.StepResult)) return false; - if (Stream != other.Stream) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (currentExecutionInfo_ != null) hash ^= CurrentExecutionInfo.GetHashCode(); - if (stepResult_ != null) hash ^= StepResult.GetHashCode(); - if (Stream != 0) hash ^= Stream.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (stepResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(StepResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (stepResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(StepResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (currentExecutionInfo_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CurrentExecutionInfo); - } - if (stepResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepResult); - } - if (Stream != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stream); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(StepExecutionEndingRequest other) { - if (other == null) { - return; - } - if (other.currentExecutionInfo_ != null) { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - CurrentExecutionInfo.MergeFrom(other.CurrentExecutionInfo); - } - if (other.stepResult_ != null) { - if (stepResult_ == null) { - StepResult = new global::Gauge.Messages.ProtoStepResult(); - } - StepResult.MergeFrom(other.StepResult); - } - if (other.Stream != 0) { - Stream = other.Stream; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (stepResult_ == null) { - StepResult = new global::Gauge.Messages.ProtoStepResult(); - } - input.ReadMessage(StepResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (stepResult_ == null) { - StepResult = new global::Gauge.Messages.ProtoStepResult(); - } - input.ReadMessage(StepResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Sent at start of Concept Execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ConceptExecutionStartingRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ConceptExecutionStartingRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[10]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ConceptExecutionStartingRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ConceptExecutionStartingRequest(ConceptExecutionStartingRequest other) : this() { - currentExecutionInfo_ = other.currentExecutionInfo_ != null ? other.currentExecutionInfo_.Clone() : null; - stepResult_ = other.stepResult_ != null ? other.stepResult_.Clone() : null; - stream_ = other.stream_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ConceptExecutionStartingRequest Clone() { - return new ConceptExecutionStartingRequest(this); - } - - /// Field number for the "currentExecutionInfo" field. - public const int CurrentExecutionInfoFieldNumber = 1; - private global::Gauge.Messages.ExecutionInfo currentExecutionInfo_; - /// - //// Holds the current step execution info. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecutionInfo CurrentExecutionInfo { - get { return currentExecutionInfo_; } - set { - currentExecutionInfo_ = value; - } - } - - /// Field number for the "stepResult" field. - public const int StepResultFieldNumber = 2; - private global::Gauge.Messages.ProtoStepResult stepResult_; - /// - //// Holds step result in step execution starting. - //// Some fields will not be populated before execution. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoStepResult StepResult { - get { return stepResult_; } - set { - stepResult_ = value; - } - } - - /// Field number for the "stream" field. - public const int StreamFieldNumber = 3; - private int stream_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Stream { - get { return stream_; } - set { - stream_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ConceptExecutionStartingRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ConceptExecutionStartingRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(CurrentExecutionInfo, other.CurrentExecutionInfo)) return false; - if (!object.Equals(StepResult, other.StepResult)) return false; - if (Stream != other.Stream) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (currentExecutionInfo_ != null) hash ^= CurrentExecutionInfo.GetHashCode(); - if (stepResult_ != null) hash ^= StepResult.GetHashCode(); - if (Stream != 0) hash ^= Stream.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (stepResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(StepResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (stepResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(StepResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (currentExecutionInfo_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CurrentExecutionInfo); - } - if (stepResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepResult); - } - if (Stream != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stream); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ConceptExecutionStartingRequest other) { - if (other == null) { - return; - } - if (other.currentExecutionInfo_ != null) { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - CurrentExecutionInfo.MergeFrom(other.CurrentExecutionInfo); - } - if (other.stepResult_ != null) { - if (stepResult_ == null) { - StepResult = new global::Gauge.Messages.ProtoStepResult(); - } - StepResult.MergeFrom(other.StepResult); - } - if (other.Stream != 0) { - Stream = other.Stream; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (stepResult_ == null) { - StepResult = new global::Gauge.Messages.ProtoStepResult(); - } - input.ReadMessage(StepResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (stepResult_ == null) { - StepResult = new global::Gauge.Messages.ProtoStepResult(); - } - input.ReadMessage(StepResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Sent at end of Concept Execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ConceptExecutionEndingRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ConceptExecutionEndingRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[11]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ConceptExecutionEndingRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ConceptExecutionEndingRequest(ConceptExecutionEndingRequest other) : this() { - currentExecutionInfo_ = other.currentExecutionInfo_ != null ? other.currentExecutionInfo_.Clone() : null; - stepResult_ = other.stepResult_ != null ? other.stepResult_.Clone() : null; - stream_ = other.stream_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ConceptExecutionEndingRequest Clone() { - return new ConceptExecutionEndingRequest(this); - } - - /// Field number for the "currentExecutionInfo" field. - public const int CurrentExecutionInfoFieldNumber = 1; - private global::Gauge.Messages.ExecutionInfo currentExecutionInfo_; - /// - //// Holds the current step execution info. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecutionInfo CurrentExecutionInfo { - get { return currentExecutionInfo_; } - set { - currentExecutionInfo_ = value; - } - } - - /// Field number for the "stepResult" field. - public const int StepResultFieldNumber = 2; - private global::Gauge.Messages.ProtoStepResult stepResult_; - /// - //// Holds step result in step execution ending. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoStepResult StepResult { - get { return stepResult_; } - set { - stepResult_ = value; - } - } - - /// Field number for the "stream" field. - public const int StreamFieldNumber = 3; - private int stream_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Stream { - get { return stream_; } - set { - stream_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ConceptExecutionEndingRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ConceptExecutionEndingRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(CurrentExecutionInfo, other.CurrentExecutionInfo)) return false; - if (!object.Equals(StepResult, other.StepResult)) return false; - if (Stream != other.Stream) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (currentExecutionInfo_ != null) hash ^= CurrentExecutionInfo.GetHashCode(); - if (stepResult_ != null) hash ^= StepResult.GetHashCode(); - if (Stream != 0) hash ^= Stream.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (stepResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(StepResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (currentExecutionInfo_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentExecutionInfo); - } - if (stepResult_ != null) { - output.WriteRawTag(18); - output.WriteMessage(StepResult); - } - if (Stream != 0) { - output.WriteRawTag(24); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (currentExecutionInfo_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CurrentExecutionInfo); - } - if (stepResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepResult); - } - if (Stream != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stream); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ConceptExecutionEndingRequest other) { - if (other == null) { - return; - } - if (other.currentExecutionInfo_ != null) { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - CurrentExecutionInfo.MergeFrom(other.CurrentExecutionInfo); - } - if (other.stepResult_ != null) { - if (stepResult_ == null) { - StepResult = new global::Gauge.Messages.ProtoStepResult(); - } - StepResult.MergeFrom(other.StepResult); - } - if (other.Stream != 0) { - Stream = other.Stream; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (stepResult_ == null) { - StepResult = new global::Gauge.Messages.ProtoStepResult(); - } - input.ReadMessage(StepResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (currentExecutionInfo_ == null) { - CurrentExecutionInfo = new global::Gauge.Messages.ExecutionInfo(); - } - input.ReadMessage(CurrentExecutionInfo); - break; - } - case 18: { - if (stepResult_ == null) { - StepResult = new global::Gauge.Messages.ProtoStepResult(); - } - input.ReadMessage(StepResult); - break; - } - case 24: { - Stream = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Contains command line arguments which passed by user during execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ExecutionArg : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ExecutionArg()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[12]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionArg() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionArg(ExecutionArg other) : this() { - flagName_ = other.flagName_; - flagValue_ = other.flagValue_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionArg Clone() { - return new ExecutionArg(this); - } - - /// Field number for the "flagName" field. - public const int FlagNameFieldNumber = 1; - private string flagName_ = ""; - /// - //// Holds the flag name passed from command line. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string FlagName { - get { return flagName_; } - set { - flagName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "flagValue" field. - public const int FlagValueFieldNumber = 2; - private static readonly pb::FieldCodec _repeated_flagValue_codec - = pb::FieldCodec.ForString(18); - private readonly pbc::RepeatedField flagValue_ = new pbc::RepeatedField(); - /// - //// Holds the flag value passed from command line. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField FlagValue { - get { return flagValue_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ExecutionArg); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ExecutionArg other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (FlagName != other.FlagName) return false; - if(!flagValue_.Equals(other.flagValue_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (FlagName.Length != 0) hash ^= FlagName.GetHashCode(); - hash ^= flagValue_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (FlagName.Length != 0) { - output.WriteRawTag(10); - output.WriteString(FlagName); - } - flagValue_.WriteTo(output, _repeated_flagValue_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (FlagName.Length != 0) { - output.WriteRawTag(10); - output.WriteString(FlagName); - } - flagValue_.WriteTo(ref output, _repeated_flagValue_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (FlagName.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(FlagName); - } - size += flagValue_.CalculateSize(_repeated_flagValue_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ExecutionArg other) { - if (other == null) { - return; - } - if (other.FlagName.Length != 0) { - FlagName = other.FlagName; - } - flagValue_.Add(other.flagValue_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - FlagName = input.ReadString(); - break; - } - case 18: { - flagValue_.AddEntriesFrom(input, _repeated_flagValue_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - FlagName = input.ReadString(); - break; - } - case 18: { - flagValue_.AddEntriesFrom(ref input, _repeated_flagValue_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Contains details of the execution. - //// Depending on the context (Step, Scenario, Spec or Suite), the respective fields are set. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ExecutionInfo : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ExecutionInfo()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[13]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionInfo() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionInfo(ExecutionInfo other) : this() { - currentSpec_ = other.currentSpec_ != null ? other.currentSpec_.Clone() : null; - currentScenario_ = other.currentScenario_ != null ? other.currentScenario_.Clone() : null; - currentStep_ = other.currentStep_ != null ? other.currentStep_.Clone() : null; - stacktrace_ = other.stacktrace_; - projectName_ = other.projectName_; - executionArgs_ = other.executionArgs_.Clone(); - numberOfExecutionStreams_ = other.numberOfExecutionStreams_; - runnerId_ = other.runnerId_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecutionInfo Clone() { - return new ExecutionInfo(this); - } - - /// Field number for the "currentSpec" field. - public const int CurrentSpecFieldNumber = 1; - private global::Gauge.Messages.SpecInfo currentSpec_; - /// - //// Holds the information of the current Spec. Valid in context of Spec execution. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.SpecInfo CurrentSpec { - get { return currentSpec_; } - set { - currentSpec_ = value; - } - } - - /// Field number for the "currentScenario" field. - public const int CurrentScenarioFieldNumber = 2; - private global::Gauge.Messages.ScenarioInfo currentScenario_; - /// - //// Holds the information of the current Scenario. Valid in context of Scenario execution. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ScenarioInfo CurrentScenario { - get { return currentScenario_; } - set { - currentScenario_ = value; - } - } - - /// Field number for the "currentStep" field. - public const int CurrentStepFieldNumber = 3; - private global::Gauge.Messages.StepInfo currentStep_; - /// - //// Holds the information of the current Step. Valid in context of Step execution. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.StepInfo CurrentStep { - get { return currentStep_; } - set { - currentStep_ = value; - } - } - - /// Field number for the "stacktrace" field. - public const int StacktraceFieldNumber = 4; - private string stacktrace_ = ""; - /// - //// Stacktrace of the execution. Valid only if there is an error in execution. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Stacktrace { - get { return stacktrace_; } - set { - stacktrace_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "projectName" field. - public const int ProjectNameFieldNumber = 5; - private string projectName_ = ""; - /// - //// Holds the project name - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ProjectName { - get { return projectName_; } - set { - projectName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "ExecutionArgs" field. - public const int ExecutionArgsFieldNumber = 6; - private static readonly pb::FieldCodec _repeated_executionArgs_codec - = pb::FieldCodec.ForMessage(50, global::Gauge.Messages.ExecutionArg.Parser); - private readonly pbc::RepeatedField executionArgs_ = new pbc::RepeatedField(); - /// - //// Holds the command line arguments. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField ExecutionArgs { - get { return executionArgs_; } - } - - /// Field number for the "numberOfExecutionStreams" field. - public const int NumberOfExecutionStreamsFieldNumber = 7; - private int numberOfExecutionStreams_; - /// - //// Holds the number of running execution streams. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int NumberOfExecutionStreams { - get { return numberOfExecutionStreams_; } - set { - numberOfExecutionStreams_ = value; - } - } - - /// Field number for the "runnerId" field. - public const int RunnerIdFieldNumber = 8; - private int runnerId_; - /// - //// Holds the runner id for parallel execution. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int RunnerId { - get { return runnerId_; } - set { - runnerId_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ExecutionInfo); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ExecutionInfo other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(CurrentSpec, other.CurrentSpec)) return false; - if (!object.Equals(CurrentScenario, other.CurrentScenario)) return false; - if (!object.Equals(CurrentStep, other.CurrentStep)) return false; - if (Stacktrace != other.Stacktrace) return false; - if (ProjectName != other.ProjectName) return false; - if(!executionArgs_.Equals(other.executionArgs_)) return false; - if (NumberOfExecutionStreams != other.NumberOfExecutionStreams) return false; - if (RunnerId != other.RunnerId) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (currentSpec_ != null) hash ^= CurrentSpec.GetHashCode(); - if (currentScenario_ != null) hash ^= CurrentScenario.GetHashCode(); - if (currentStep_ != null) hash ^= CurrentStep.GetHashCode(); - if (Stacktrace.Length != 0) hash ^= Stacktrace.GetHashCode(); - if (ProjectName.Length != 0) hash ^= ProjectName.GetHashCode(); - hash ^= executionArgs_.GetHashCode(); - if (NumberOfExecutionStreams != 0) hash ^= NumberOfExecutionStreams.GetHashCode(); - if (RunnerId != 0) hash ^= RunnerId.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (currentSpec_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentSpec); - } - if (currentScenario_ != null) { - output.WriteRawTag(18); - output.WriteMessage(CurrentScenario); - } - if (currentStep_ != null) { - output.WriteRawTag(26); - output.WriteMessage(CurrentStep); - } - if (Stacktrace.Length != 0) { - output.WriteRawTag(34); - output.WriteString(Stacktrace); - } - if (ProjectName.Length != 0) { - output.WriteRawTag(42); - output.WriteString(ProjectName); - } - executionArgs_.WriteTo(output, _repeated_executionArgs_codec); - if (NumberOfExecutionStreams != 0) { - output.WriteRawTag(56); - output.WriteInt32(NumberOfExecutionStreams); - } - if (RunnerId != 0) { - output.WriteRawTag(64); - output.WriteInt32(RunnerId); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (currentSpec_ != null) { - output.WriteRawTag(10); - output.WriteMessage(CurrentSpec); - } - if (currentScenario_ != null) { - output.WriteRawTag(18); - output.WriteMessage(CurrentScenario); - } - if (currentStep_ != null) { - output.WriteRawTag(26); - output.WriteMessage(CurrentStep); - } - if (Stacktrace.Length != 0) { - output.WriteRawTag(34); - output.WriteString(Stacktrace); - } - if (ProjectName.Length != 0) { - output.WriteRawTag(42); - output.WriteString(ProjectName); - } - executionArgs_.WriteTo(ref output, _repeated_executionArgs_codec); - if (NumberOfExecutionStreams != 0) { - output.WriteRawTag(56); - output.WriteInt32(NumberOfExecutionStreams); - } - if (RunnerId != 0) { - output.WriteRawTag(64); - output.WriteInt32(RunnerId); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (currentSpec_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CurrentSpec); - } - if (currentScenario_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CurrentScenario); - } - if (currentStep_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CurrentStep); - } - if (Stacktrace.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Stacktrace); - } - if (ProjectName.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ProjectName); - } - size += executionArgs_.CalculateSize(_repeated_executionArgs_codec); - if (NumberOfExecutionStreams != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumberOfExecutionStreams); - } - if (RunnerId != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(RunnerId); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ExecutionInfo other) { - if (other == null) { - return; - } - if (other.currentSpec_ != null) { - if (currentSpec_ == null) { - CurrentSpec = new global::Gauge.Messages.SpecInfo(); - } - CurrentSpec.MergeFrom(other.CurrentSpec); - } - if (other.currentScenario_ != null) { - if (currentScenario_ == null) { - CurrentScenario = new global::Gauge.Messages.ScenarioInfo(); - } - CurrentScenario.MergeFrom(other.CurrentScenario); - } - if (other.currentStep_ != null) { - if (currentStep_ == null) { - CurrentStep = new global::Gauge.Messages.StepInfo(); - } - CurrentStep.MergeFrom(other.CurrentStep); - } - if (other.Stacktrace.Length != 0) { - Stacktrace = other.Stacktrace; - } - if (other.ProjectName.Length != 0) { - ProjectName = other.ProjectName; - } - executionArgs_.Add(other.executionArgs_); - if (other.NumberOfExecutionStreams != 0) { - NumberOfExecutionStreams = other.NumberOfExecutionStreams; - } - if (other.RunnerId != 0) { - RunnerId = other.RunnerId; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (currentSpec_ == null) { - CurrentSpec = new global::Gauge.Messages.SpecInfo(); - } - input.ReadMessage(CurrentSpec); - break; - } - case 18: { - if (currentScenario_ == null) { - CurrentScenario = new global::Gauge.Messages.ScenarioInfo(); - } - input.ReadMessage(CurrentScenario); - break; - } - case 26: { - if (currentStep_ == null) { - CurrentStep = new global::Gauge.Messages.StepInfo(); - } - input.ReadMessage(CurrentStep); - break; - } - case 34: { - Stacktrace = input.ReadString(); - break; - } - case 42: { - ProjectName = input.ReadString(); - break; - } - case 50: { - executionArgs_.AddEntriesFrom(input, _repeated_executionArgs_codec); - break; - } - case 56: { - NumberOfExecutionStreams = input.ReadInt32(); - break; - } - case 64: { - RunnerId = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (currentSpec_ == null) { - CurrentSpec = new global::Gauge.Messages.SpecInfo(); - } - input.ReadMessage(CurrentSpec); - break; - } - case 18: { - if (currentScenario_ == null) { - CurrentScenario = new global::Gauge.Messages.ScenarioInfo(); - } - input.ReadMessage(CurrentScenario); - break; - } - case 26: { - if (currentStep_ == null) { - CurrentStep = new global::Gauge.Messages.StepInfo(); - } - input.ReadMessage(CurrentStep); - break; - } - case 34: { - Stacktrace = input.ReadString(); - break; - } - case 42: { - ProjectName = input.ReadString(); - break; - } - case 50: { - executionArgs_.AddEntriesFrom(ref input, _repeated_executionArgs_codec); - break; - } - case 56: { - NumberOfExecutionStreams = input.ReadInt32(); - break; - } - case 64: { - RunnerId = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Contains details of the Spec execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class SpecInfo : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SpecInfo()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[14]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecInfo() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecInfo(SpecInfo other) : this() { - name_ = other.name_; - fileName_ = other.fileName_; - isFailed_ = other.isFailed_; - tags_ = other.tags_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecInfo Clone() { - return new SpecInfo(this); - } - - /// Field number for the "name" field. - public const int NameFieldNumber = 1; - private string name_ = ""; - /// - //// Name of the current Spec being executed. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Name { - get { return name_; } - set { - name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "fileName" field. - public const int FileNameFieldNumber = 2; - private string fileName_ = ""; - /// - //// Full File path containing the current Spec being executed. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string FileName { - get { return fileName_; } - set { - fileName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "isFailed" field. - public const int IsFailedFieldNumber = 3; - private bool isFailed_; - /// - //// Flag to indicate if the current Spec execution failed. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool IsFailed { - get { return isFailed_; } - set { - isFailed_ = value; - } - } - - /// Field number for the "tags" field. - public const int TagsFieldNumber = 4; - private static readonly pb::FieldCodec _repeated_tags_codec - = pb::FieldCodec.ForString(34); - private readonly pbc::RepeatedField tags_ = new pbc::RepeatedField(); - /// - //// Tags relevant to the current Spec execution. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Tags { - get { return tags_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SpecInfo); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SpecInfo other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Name != other.Name) return false; - if (FileName != other.FileName) return false; - if (IsFailed != other.IsFailed) return false; - if(!tags_.Equals(other.tags_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Name.Length != 0) hash ^= Name.GetHashCode(); - if (FileName.Length != 0) hash ^= FileName.GetHashCode(); - if (IsFailed != false) hash ^= IsFailed.GetHashCode(); - hash ^= tags_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Name.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Name); - } - if (FileName.Length != 0) { - output.WriteRawTag(18); - output.WriteString(FileName); - } - if (IsFailed != false) { - output.WriteRawTag(24); - output.WriteBool(IsFailed); - } - tags_.WriteTo(output, _repeated_tags_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Name.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Name); - } - if (FileName.Length != 0) { - output.WriteRawTag(18); - output.WriteString(FileName); - } - if (IsFailed != false) { - output.WriteRawTag(24); - output.WriteBool(IsFailed); - } - tags_.WriteTo(ref output, _repeated_tags_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Name.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); - } - if (FileName.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(FileName); - } - if (IsFailed != false) { - size += 1 + 1; - } - size += tags_.CalculateSize(_repeated_tags_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SpecInfo other) { - if (other == null) { - return; - } - if (other.Name.Length != 0) { - Name = other.Name; - } - if (other.FileName.Length != 0) { - FileName = other.FileName; - } - if (other.IsFailed != false) { - IsFailed = other.IsFailed; - } - tags_.Add(other.tags_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - Name = input.ReadString(); - break; - } - case 18: { - FileName = input.ReadString(); - break; - } - case 24: { - IsFailed = input.ReadBool(); - break; - } - case 34: { - tags_.AddEntriesFrom(input, _repeated_tags_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - Name = input.ReadString(); - break; - } - case 18: { - FileName = input.ReadString(); - break; - } - case 24: { - IsFailed = input.ReadBool(); - break; - } - case 34: { - tags_.AddEntriesFrom(ref input, _repeated_tags_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Contains details of the Scenario execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ScenarioInfo : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ScenarioInfo()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[15]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioInfo() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioInfo(ScenarioInfo other) : this() { - name_ = other.name_; - isFailed_ = other.isFailed_; - tags_ = other.tags_.Clone(); - retries_ = other.retries_ != null ? other.retries_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioInfo Clone() { - return new ScenarioInfo(this); - } - - /// Field number for the "name" field. - public const int NameFieldNumber = 1; - private string name_ = ""; - /// - //// Name of the current Scenario being executed. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Name { - get { return name_; } - set { - name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "isFailed" field. - public const int IsFailedFieldNumber = 2; - private bool isFailed_; - /// - //// Flag to indicate if the current Scenario execution failed. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool IsFailed { - get { return isFailed_; } - set { - isFailed_ = value; - } - } - - /// Field number for the "tags" field. - public const int TagsFieldNumber = 3; - private static readonly pb::FieldCodec _repeated_tags_codec - = pb::FieldCodec.ForString(26); - private readonly pbc::RepeatedField tags_ = new pbc::RepeatedField(); - /// - //// Tags relevant to the current Scenario execution. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Tags { - get { return tags_; } - } - - /// Field number for the "retries" field. - public const int RetriesFieldNumber = 4; - private global::Gauge.Messages.ScenarioRetriesInfo retries_; - /// - //// Retries info - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ScenarioRetriesInfo Retries { - get { return retries_; } - set { - retries_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ScenarioInfo); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ScenarioInfo other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Name != other.Name) return false; - if (IsFailed != other.IsFailed) return false; - if(!tags_.Equals(other.tags_)) return false; - if (!object.Equals(Retries, other.Retries)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Name.Length != 0) hash ^= Name.GetHashCode(); - if (IsFailed != false) hash ^= IsFailed.GetHashCode(); - hash ^= tags_.GetHashCode(); - if (retries_ != null) hash ^= Retries.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Name.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Name); - } - if (IsFailed != false) { - output.WriteRawTag(16); - output.WriteBool(IsFailed); - } - tags_.WriteTo(output, _repeated_tags_codec); - if (retries_ != null) { - output.WriteRawTag(34); - output.WriteMessage(Retries); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Name.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Name); - } - if (IsFailed != false) { - output.WriteRawTag(16); - output.WriteBool(IsFailed); - } - tags_.WriteTo(ref output, _repeated_tags_codec); - if (retries_ != null) { - output.WriteRawTag(34); - output.WriteMessage(Retries); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Name.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); - } - if (IsFailed != false) { - size += 1 + 1; - } - size += tags_.CalculateSize(_repeated_tags_codec); - if (retries_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Retries); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ScenarioInfo other) { - if (other == null) { - return; - } - if (other.Name.Length != 0) { - Name = other.Name; - } - if (other.IsFailed != false) { - IsFailed = other.IsFailed; - } - tags_.Add(other.tags_); - if (other.retries_ != null) { - if (retries_ == null) { - Retries = new global::Gauge.Messages.ScenarioRetriesInfo(); - } - Retries.MergeFrom(other.Retries); - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - Name = input.ReadString(); - break; - } - case 16: { - IsFailed = input.ReadBool(); - break; - } - case 26: { - tags_.AddEntriesFrom(input, _repeated_tags_codec); - break; - } - case 34: { - if (retries_ == null) { - Retries = new global::Gauge.Messages.ScenarioRetriesInfo(); - } - input.ReadMessage(Retries); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - Name = input.ReadString(); - break; - } - case 16: { - IsFailed = input.ReadBool(); - break; - } - case 26: { - tags_.AddEntriesFrom(ref input, _repeated_tags_codec); - break; - } - case 34: { - if (retries_ == null) { - Retries = new global::Gauge.Messages.ScenarioRetriesInfo(); - } - input.ReadMessage(Retries); - break; - } - } - } - } - #endif - - } - - /// - //// Contains details of the Scenario repeat execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ScenarioRetriesInfo : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ScenarioRetriesInfo()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[16]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioRetriesInfo() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioRetriesInfo(ScenarioRetriesInfo other) : this() { - maxRetries_ = other.maxRetries_; - currentRetry_ = other.currentRetry_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioRetriesInfo Clone() { - return new ScenarioRetriesInfo(this); - } - - /// Field number for the "maxRetries" field. - public const int MaxRetriesFieldNumber = 1; - private int maxRetries_; - /// - /// Maximum retries. Related to '--max-retries-count' run parameter - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int MaxRetries { - get { return maxRetries_; } - set { - maxRetries_ = value; - } - } - - /// Field number for the "currentRetry" field. - public const int CurrentRetryFieldNumber = 2; - private int currentRetry_; - /// - /// Current retry attempt. It's 0 for the normal first run - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CurrentRetry { - get { return currentRetry_; } - set { - currentRetry_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ScenarioRetriesInfo); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ScenarioRetriesInfo other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (MaxRetries != other.MaxRetries) return false; - if (CurrentRetry != other.CurrentRetry) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (MaxRetries != 0) hash ^= MaxRetries.GetHashCode(); - if (CurrentRetry != 0) hash ^= CurrentRetry.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (MaxRetries != 0) { - output.WriteRawTag(8); - output.WriteInt32(MaxRetries); - } - if (CurrentRetry != 0) { - output.WriteRawTag(16); - output.WriteInt32(CurrentRetry); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (MaxRetries != 0) { - output.WriteRawTag(8); - output.WriteInt32(MaxRetries); - } - if (CurrentRetry != 0) { - output.WriteRawTag(16); - output.WriteInt32(CurrentRetry); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (MaxRetries != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxRetries); - } - if (CurrentRetry != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(CurrentRetry); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ScenarioRetriesInfo other) { - if (other == null) { - return; - } - if (other.MaxRetries != 0) { - MaxRetries = other.MaxRetries; - } - if (other.CurrentRetry != 0) { - CurrentRetry = other.CurrentRetry; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - MaxRetries = input.ReadInt32(); - break; - } - case 16: { - CurrentRetry = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - MaxRetries = input.ReadInt32(); - break; - } - case 16: { - CurrentRetry = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Contains details of the Step execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class StepInfo : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StepInfo()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[17]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepInfo() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepInfo(StepInfo other) : this() { - step_ = other.step_ != null ? other.step_.Clone() : null; - isFailed_ = other.isFailed_; - stackTrace_ = other.stackTrace_; - errorMessage_ = other.errorMessage_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepInfo Clone() { - return new StepInfo(this); - } - - /// Field number for the "step" field. - public const int StepFieldNumber = 1; - private global::Gauge.Messages.ExecuteStepRequest step_; - /// - //// The current request to execute Step - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecuteStepRequest Step { - get { return step_; } - set { - step_ = value; - } - } - - /// Field number for the "isFailed" field. - public const int IsFailedFieldNumber = 2; - private bool isFailed_; - /// - //// Flag to indicate if the current Step execution failed. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool IsFailed { - get { return isFailed_; } - set { - isFailed_ = value; - } - } - - /// Field number for the "stackTrace" field. - public const int StackTraceFieldNumber = 3; - private string stackTrace_ = ""; - /// - //// The current stack trace in case of failure - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string StackTrace { - get { return stackTrace_; } - set { - stackTrace_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "errorMessage" field. - public const int ErrorMessageFieldNumber = 4; - private string errorMessage_ = ""; - /// - //// The error message in case of failure - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ErrorMessage { - get { return errorMessage_; } - set { - errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as StepInfo); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(StepInfo other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(Step, other.Step)) return false; - if (IsFailed != other.IsFailed) return false; - if (StackTrace != other.StackTrace) return false; - if (ErrorMessage != other.ErrorMessage) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (step_ != null) hash ^= Step.GetHashCode(); - if (IsFailed != false) hash ^= IsFailed.GetHashCode(); - if (StackTrace.Length != 0) hash ^= StackTrace.GetHashCode(); - if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (step_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Step); - } - if (IsFailed != false) { - output.WriteRawTag(16); - output.WriteBool(IsFailed); - } - if (StackTrace.Length != 0) { - output.WriteRawTag(26); - output.WriteString(StackTrace); - } - if (ErrorMessage.Length != 0) { - output.WriteRawTag(34); - output.WriteString(ErrorMessage); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (step_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Step); - } - if (IsFailed != false) { - output.WriteRawTag(16); - output.WriteBool(IsFailed); - } - if (StackTrace.Length != 0) { - output.WriteRawTag(26); - output.WriteString(StackTrace); - } - if (ErrorMessage.Length != 0) { - output.WriteRawTag(34); - output.WriteString(ErrorMessage); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (step_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Step); - } - if (IsFailed != false) { - size += 1 + 1; - } - if (StackTrace.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(StackTrace); - } - if (ErrorMessage.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(StepInfo other) { - if (other == null) { - return; - } - if (other.step_ != null) { - if (step_ == null) { - Step = new global::Gauge.Messages.ExecuteStepRequest(); - } - Step.MergeFrom(other.Step); - } - if (other.IsFailed != false) { - IsFailed = other.IsFailed; - } - if (other.StackTrace.Length != 0) { - StackTrace = other.StackTrace; - } - if (other.ErrorMessage.Length != 0) { - ErrorMessage = other.ErrorMessage; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (step_ == null) { - Step = new global::Gauge.Messages.ExecuteStepRequest(); - } - input.ReadMessage(Step); - break; - } - case 16: { - IsFailed = input.ReadBool(); - break; - } - case 26: { - StackTrace = input.ReadString(); - break; - } - case 34: { - ErrorMessage = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (step_ == null) { - Step = new global::Gauge.Messages.ExecuteStepRequest(); - } - input.ReadMessage(Step); - break; - } - case 16: { - IsFailed = input.ReadBool(); - break; - } - case 26: { - StackTrace = input.ReadString(); - break; - } - case 34: { - ErrorMessage = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// Request sent ot the runner to Execute a Step - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ExecuteStepRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ExecuteStepRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[18]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecuteStepRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecuteStepRequest(ExecuteStepRequest other) : this() { - actualStepText_ = other.actualStepText_; - parsedStepText_ = other.parsedStepText_; - scenarioFailing_ = other.scenarioFailing_; - parameters_ = other.parameters_.Clone(); - stream_ = other.stream_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ExecuteStepRequest Clone() { - return new ExecuteStepRequest(this); - } - - /// Field number for the "actualStepText" field. - public const int ActualStepTextFieldNumber = 1; - private string actualStepText_ = ""; - /// - //// Contains the actual text of the Step being executed. - //// This contains the parameters as defined in the Spec. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ActualStepText { - get { return actualStepText_; } - set { - actualStepText_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "parsedStepText" field. - public const int ParsedStepTextFieldNumber = 2; - private string parsedStepText_ = ""; - /// - //// Contains the parsed text of the Step being executed. - //// The paramters are replaced with placeholders. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParsedStepText { - get { return parsedStepText_; } - set { - parsedStepText_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "scenarioFailing" field. - public const int ScenarioFailingFieldNumber = 3; - private bool scenarioFailing_; - /// - //// Flag to indicate if the execution of the Scenario, containing the current Step, failed. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool ScenarioFailing { - get { return scenarioFailing_; } - set { - scenarioFailing_ = value; - } - } - - /// Field number for the "parameters" field. - public const int ParametersFieldNumber = 4; - private static readonly pb::FieldCodec _repeated_parameters_codec - = pb::FieldCodec.ForMessage(34, global::Gauge.Messages.Parameter.Parser); - private readonly pbc::RepeatedField parameters_ = new pbc::RepeatedField(); - /// - //// Collection of parameters applicable to the current Step. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Parameters { - get { return parameters_; } - } - - /// Field number for the "stream" field. - public const int StreamFieldNumber = 5; - private int stream_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Stream { - get { return stream_; } - set { - stream_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ExecuteStepRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ExecuteStepRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (ActualStepText != other.ActualStepText) return false; - if (ParsedStepText != other.ParsedStepText) return false; - if (ScenarioFailing != other.ScenarioFailing) return false; - if(!parameters_.Equals(other.parameters_)) return false; - if (Stream != other.Stream) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (ActualStepText.Length != 0) hash ^= ActualStepText.GetHashCode(); - if (ParsedStepText.Length != 0) hash ^= ParsedStepText.GetHashCode(); - if (ScenarioFailing != false) hash ^= ScenarioFailing.GetHashCode(); - hash ^= parameters_.GetHashCode(); - if (Stream != 0) hash ^= Stream.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (ActualStepText.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ActualStepText); - } - if (ParsedStepText.Length != 0) { - output.WriteRawTag(18); - output.WriteString(ParsedStepText); - } - if (ScenarioFailing != false) { - output.WriteRawTag(24); - output.WriteBool(ScenarioFailing); - } - parameters_.WriteTo(output, _repeated_parameters_codec); - if (Stream != 0) { - output.WriteRawTag(40); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ActualStepText.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ActualStepText); - } - if (ParsedStepText.Length != 0) { - output.WriteRawTag(18); - output.WriteString(ParsedStepText); - } - if (ScenarioFailing != false) { - output.WriteRawTag(24); - output.WriteBool(ScenarioFailing); - } - parameters_.WriteTo(ref output, _repeated_parameters_codec); - if (Stream != 0) { - output.WriteRawTag(40); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (ActualStepText.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ActualStepText); - } - if (ParsedStepText.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParsedStepText); - } - if (ScenarioFailing != false) { - size += 1 + 1; - } - size += parameters_.CalculateSize(_repeated_parameters_codec); - if (Stream != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stream); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ExecuteStepRequest other) { - if (other == null) { - return; - } - if (other.ActualStepText.Length != 0) { - ActualStepText = other.ActualStepText; - } - if (other.ParsedStepText.Length != 0) { - ParsedStepText = other.ParsedStepText; - } - if (other.ScenarioFailing != false) { - ScenarioFailing = other.ScenarioFailing; - } - parameters_.Add(other.parameters_); - if (other.Stream != 0) { - Stream = other.Stream; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - ActualStepText = input.ReadString(); - break; - } - case 18: { - ParsedStepText = input.ReadString(); - break; - } - case 24: { - ScenarioFailing = input.ReadBool(); - break; - } - case 34: { - parameters_.AddEntriesFrom(input, _repeated_parameters_codec); - break; - } - case 40: { - Stream = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - ActualStepText = input.ReadString(); - break; - } - case 18: { - ParsedStepText = input.ReadString(); - break; - } - case 24: { - ScenarioFailing = input.ReadBool(); - break; - } - case 34: { - parameters_.AddEntriesFrom(ref input, _repeated_parameters_codec); - break; - } - case 40: { - Stream = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Request sent ot the runner to check if given Step is valid. - //// The runner should check if there is an implementation defined for the given Step Text. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class StepValidateRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StepValidateRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[19]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepValidateRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepValidateRequest(StepValidateRequest other) : this() { - stepText_ = other.stepText_; - numberOfParameters_ = other.numberOfParameters_; - stepValue_ = other.stepValue_ != null ? other.stepValue_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepValidateRequest Clone() { - return new StepValidateRequest(this); - } - - /// Field number for the "stepText" field. - public const int StepTextFieldNumber = 1; - private string stepText_ = ""; - /// - //// The text is used to lookup Step implementation - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string StepText { - get { return stepText_; } - set { - stepText_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "numberOfParameters" field. - public const int NumberOfParametersFieldNumber = 2; - private int numberOfParameters_; - /// - //// The number of paramters in the Step - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int NumberOfParameters { - get { return numberOfParameters_; } - set { - numberOfParameters_ = value; - } - } - - /// Field number for the "stepValue" field. - public const int StepValueFieldNumber = 3; - private global::Gauge.Messages.ProtoStepValue stepValue_; - /// - ////This is use to generate step implementation template - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoStepValue StepValue { - get { return stepValue_; } - set { - stepValue_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as StepValidateRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(StepValidateRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (StepText != other.StepText) return false; - if (NumberOfParameters != other.NumberOfParameters) return false; - if (!object.Equals(StepValue, other.StepValue)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (StepText.Length != 0) hash ^= StepText.GetHashCode(); - if (NumberOfParameters != 0) hash ^= NumberOfParameters.GetHashCode(); - if (stepValue_ != null) hash ^= StepValue.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (StepText.Length != 0) { - output.WriteRawTag(10); - output.WriteString(StepText); - } - if (NumberOfParameters != 0) { - output.WriteRawTag(16); - output.WriteInt32(NumberOfParameters); - } - if (stepValue_ != null) { - output.WriteRawTag(26); - output.WriteMessage(StepValue); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (StepText.Length != 0) { - output.WriteRawTag(10); - output.WriteString(StepText); - } - if (NumberOfParameters != 0) { - output.WriteRawTag(16); - output.WriteInt32(NumberOfParameters); - } - if (stepValue_ != null) { - output.WriteRawTag(26); - output.WriteMessage(StepValue); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (StepText.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(StepText); - } - if (NumberOfParameters != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumberOfParameters); - } - if (stepValue_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepValue); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(StepValidateRequest other) { - if (other == null) { - return; - } - if (other.StepText.Length != 0) { - StepText = other.StepText; - } - if (other.NumberOfParameters != 0) { - NumberOfParameters = other.NumberOfParameters; - } - if (other.stepValue_ != null) { - if (stepValue_ == null) { - StepValue = new global::Gauge.Messages.ProtoStepValue(); - } - StepValue.MergeFrom(other.StepValue); - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - StepText = input.ReadString(); - break; - } - case 16: { - NumberOfParameters = input.ReadInt32(); - break; - } - case 26: { - if (stepValue_ == null) { - StepValue = new global::Gauge.Messages.ProtoStepValue(); - } - input.ReadMessage(StepValue); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - StepText = input.ReadString(); - break; - } - case 16: { - NumberOfParameters = input.ReadInt32(); - break; - } - case 26: { - if (stepValue_ == null) { - StepValue = new global::Gauge.Messages.ProtoStepValue(); - } - input.ReadMessage(StepValue); - break; - } - } - } - } - #endif - - } - - /// - //// Response of StepValidateRequest. - //// The runner tells the caller if the Request was valid, - //// i.e. an implementation exists for given Step text. - //// Returns an error message if it is an error response. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class StepValidateResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StepValidateResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[20]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepValidateResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepValidateResponse(StepValidateResponse other) : this() { - isValid_ = other.isValid_; - errorMessage_ = other.errorMessage_; - errorType_ = other.errorType_; - suggestion_ = other.suggestion_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepValidateResponse Clone() { - return new StepValidateResponse(this); - } - - /// Field number for the "isValid" field. - public const int IsValidFieldNumber = 1; - private bool isValid_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool IsValid { - get { return isValid_; } - set { - isValid_ = value; - } - } - - /// Field number for the "errorMessage" field. - public const int ErrorMessageFieldNumber = 2; - private string errorMessage_ = ""; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ErrorMessage { - get { return errorMessage_; } - set { - errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "errorType" field. - public const int ErrorTypeFieldNumber = 3; - private global::Gauge.Messages.StepValidateResponse.Types.ErrorType errorType_ = global::Gauge.Messages.StepValidateResponse.Types.ErrorType.StepImplementationNotFound; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.StepValidateResponse.Types.ErrorType ErrorType { - get { return errorType_; } - set { - errorType_ = value; - } - } - - /// Field number for the "suggestion" field. - public const int SuggestionFieldNumber = 4; - private string suggestion_ = ""; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Suggestion { - get { return suggestion_; } - set { - suggestion_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as StepValidateResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(StepValidateResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (IsValid != other.IsValid) return false; - if (ErrorMessage != other.ErrorMessage) return false; - if (ErrorType != other.ErrorType) return false; - if (Suggestion != other.Suggestion) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (IsValid != false) hash ^= IsValid.GetHashCode(); - if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode(); - if (ErrorType != global::Gauge.Messages.StepValidateResponse.Types.ErrorType.StepImplementationNotFound) hash ^= ErrorType.GetHashCode(); - if (Suggestion.Length != 0) hash ^= Suggestion.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (IsValid != false) { - output.WriteRawTag(8); - output.WriteBool(IsValid); - } - if (ErrorMessage.Length != 0) { - output.WriteRawTag(18); - output.WriteString(ErrorMessage); - } - if (ErrorType != global::Gauge.Messages.StepValidateResponse.Types.ErrorType.StepImplementationNotFound) { - output.WriteRawTag(24); - output.WriteEnum((int) ErrorType); - } - if (Suggestion.Length != 0) { - output.WriteRawTag(34); - output.WriteString(Suggestion); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (IsValid != false) { - output.WriteRawTag(8); - output.WriteBool(IsValid); - } - if (ErrorMessage.Length != 0) { - output.WriteRawTag(18); - output.WriteString(ErrorMessage); - } - if (ErrorType != global::Gauge.Messages.StepValidateResponse.Types.ErrorType.StepImplementationNotFound) { - output.WriteRawTag(24); - output.WriteEnum((int) ErrorType); - } - if (Suggestion.Length != 0) { - output.WriteRawTag(34); - output.WriteString(Suggestion); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (IsValid != false) { - size += 1 + 1; - } - if (ErrorMessage.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage); - } - if (ErrorType != global::Gauge.Messages.StepValidateResponse.Types.ErrorType.StepImplementationNotFound) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ErrorType); - } - if (Suggestion.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Suggestion); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(StepValidateResponse other) { - if (other == null) { - return; - } - if (other.IsValid != false) { - IsValid = other.IsValid; - } - if (other.ErrorMessage.Length != 0) { - ErrorMessage = other.ErrorMessage; - } - if (other.ErrorType != global::Gauge.Messages.StepValidateResponse.Types.ErrorType.StepImplementationNotFound) { - ErrorType = other.ErrorType; - } - if (other.Suggestion.Length != 0) { - Suggestion = other.Suggestion; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - IsValid = input.ReadBool(); - break; - } - case 18: { - ErrorMessage = input.ReadString(); - break; - } - case 24: { - ErrorType = (global::Gauge.Messages.StepValidateResponse.Types.ErrorType) input.ReadEnum(); - break; - } - case 34: { - Suggestion = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - IsValid = input.ReadBool(); - break; - } - case 18: { - ErrorMessage = input.ReadString(); - break; - } - case 24: { - ErrorType = (global::Gauge.Messages.StepValidateResponse.Types.ErrorType) input.ReadEnum(); - break; - } - case 34: { - Suggestion = input.ReadString(); - break; - } - } - } - } - #endif - - #region Nested types - /// Container for nested types declared in the StepValidateResponse message type. - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static partial class Types { - public enum ErrorType { - [pbr::OriginalName("STEP_IMPLEMENTATION_NOT_FOUND")] StepImplementationNotFound = 0, - [pbr::OriginalName("DUPLICATE_STEP_IMPLEMENTATION")] DuplicateStepImplementation = 1, - } - - } - #endregion - - } - - /// - //// Result of the Suite Execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class SuiteExecutionResult : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SuiteExecutionResult()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[21]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SuiteExecutionResult() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SuiteExecutionResult(SuiteExecutionResult other) : this() { - suiteResult_ = other.suiteResult_ != null ? other.suiteResult_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SuiteExecutionResult Clone() { - return new SuiteExecutionResult(this); - } - - /// Field number for the "suiteResult" field. - public const int SuiteResultFieldNumber = 1; - private global::Gauge.Messages.ProtoSuiteResult suiteResult_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoSuiteResult SuiteResult { - get { return suiteResult_; } - set { - suiteResult_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SuiteExecutionResult); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SuiteExecutionResult other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(SuiteResult, other.SuiteResult)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (suiteResult_ != null) hash ^= SuiteResult.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (suiteResult_ != null) { - output.WriteRawTag(10); - output.WriteMessage(SuiteResult); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (suiteResult_ != null) { - output.WriteRawTag(10); - output.WriteMessage(SuiteResult); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (suiteResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SuiteResult); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SuiteExecutionResult other) { - if (other == null) { - return; - } - if (other.suiteResult_ != null) { - if (suiteResult_ == null) { - SuiteResult = new global::Gauge.Messages.ProtoSuiteResult(); - } - SuiteResult.MergeFrom(other.SuiteResult); - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (suiteResult_ == null) { - SuiteResult = new global::Gauge.Messages.ProtoSuiteResult(); - } - input.ReadMessage(SuiteResult); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (suiteResult_ == null) { - SuiteResult = new global::Gauge.Messages.ProtoSuiteResult(); - } - input.ReadMessage(SuiteResult); - break; - } - } - } - } - #endif - - } - - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class SuiteExecutionResultItem : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SuiteExecutionResultItem()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[22]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SuiteExecutionResultItem() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SuiteExecutionResultItem(SuiteExecutionResultItem other) : this() { - resultItem_ = other.resultItem_ != null ? other.resultItem_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SuiteExecutionResultItem Clone() { - return new SuiteExecutionResultItem(this); - } - - /// Field number for the "resultItem" field. - public const int ResultItemFieldNumber = 1; - private global::Gauge.Messages.ProtoItem resultItem_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoItem ResultItem { - get { return resultItem_; } - set { - resultItem_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SuiteExecutionResultItem); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SuiteExecutionResultItem other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(ResultItem, other.ResultItem)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (resultItem_ != null) hash ^= ResultItem.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (resultItem_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ResultItem); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (resultItem_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ResultItem); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (resultItem_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResultItem); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SuiteExecutionResultItem other) { - if (other == null) { - return; - } - if (other.resultItem_ != null) { - if (resultItem_ == null) { - ResultItem = new global::Gauge.Messages.ProtoItem(); - } - ResultItem.MergeFrom(other.ResultItem); - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (resultItem_ == null) { - ResultItem = new global::Gauge.Messages.ProtoItem(); - } - input.ReadMessage(ResultItem); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (resultItem_ == null) { - ResultItem = new global::Gauge.Messages.ProtoItem(); - } - input.ReadMessage(ResultItem); - break; - } - } - } - } - #endif - - } - - /// - //// Requests Gauge to give all Step Names. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class StepNamesRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StepNamesRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[23]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepNamesRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepNamesRequest(StepNamesRequest other) : this() { - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepNamesRequest Clone() { - return new StepNamesRequest(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as StepNamesRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(StepNamesRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(StepNamesRequest other) { - if (other == null) { - return; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - } - } - } - #endif - - } - - /// - //// Response to StepNamesRequest - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class StepNamesResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StepNamesResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[24]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepNamesResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepNamesResponse(StepNamesResponse other) : this() { - steps_ = other.steps_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepNamesResponse Clone() { - return new StepNamesResponse(this); - } - - /// Field number for the "steps" field. - public const int StepsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_steps_codec - = pb::FieldCodec.ForString(10); - private readonly pbc::RepeatedField steps_ = new pbc::RepeatedField(); - /// - //// Collection of strings corresponding to Step texts. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Steps { - get { return steps_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as StepNamesResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(StepNamesResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!steps_.Equals(other.steps_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - hash ^= steps_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - steps_.WriteTo(output, _repeated_steps_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - steps_.WriteTo(ref output, _repeated_steps_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - size += steps_.CalculateSize(_repeated_steps_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(StepNamesResponse other) { - if (other == null) { - return; - } - steps_.Add(other.steps_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - steps_.AddEntriesFrom(input, _repeated_steps_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - steps_.AddEntriesFrom(ref input, _repeated_steps_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Request runner to initialize Scenario DataStore - //// Scenario Datastore is reset after every Scenario execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ScenarioDataStoreInitRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ScenarioDataStoreInitRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[25]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioDataStoreInitRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioDataStoreInitRequest(ScenarioDataStoreInitRequest other) : this() { - stream_ = other.stream_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ScenarioDataStoreInitRequest Clone() { - return new ScenarioDataStoreInitRequest(this); - } - - /// Field number for the "stream" field. - public const int StreamFieldNumber = 1; - private int stream_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Stream { - get { return stream_; } - set { - stream_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ScenarioDataStoreInitRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ScenarioDataStoreInitRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Stream != other.Stream) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Stream != 0) hash ^= Stream.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Stream != 0) { - output.WriteRawTag(8); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Stream != 0) { - output.WriteRawTag(8); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Stream != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stream); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ScenarioDataStoreInitRequest other) { - if (other == null) { - return; - } - if (other.Stream != 0) { - Stream = other.Stream; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - Stream = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - Stream = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Request runner to initialize Spec DataStore - //// Spec Datastore is reset after every Spec execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class SpecDataStoreInitRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SpecDataStoreInitRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[26]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecDataStoreInitRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecDataStoreInitRequest(SpecDataStoreInitRequest other) : this() { - stream_ = other.stream_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecDataStoreInitRequest Clone() { - return new SpecDataStoreInitRequest(this); - } - - /// Field number for the "stream" field. - public const int StreamFieldNumber = 1; - private int stream_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Stream { - get { return stream_; } - set { - stream_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SpecDataStoreInitRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SpecDataStoreInitRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Stream != other.Stream) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Stream != 0) hash ^= Stream.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Stream != 0) { - output.WriteRawTag(8); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Stream != 0) { - output.WriteRawTag(8); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Stream != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stream); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SpecDataStoreInitRequest other) { - if (other == null) { - return; - } - if (other.Stream != 0) { - Stream = other.Stream; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - Stream = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - Stream = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Request runner to initialize Suite DataStore - //// Suite Datastore is reset after every Suite execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class SuiteDataStoreInitRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SuiteDataStoreInitRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[27]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SuiteDataStoreInitRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SuiteDataStoreInitRequest(SuiteDataStoreInitRequest other) : this() { - stream_ = other.stream_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SuiteDataStoreInitRequest Clone() { - return new SuiteDataStoreInitRequest(this); - } - - /// Field number for the "stream" field. - public const int StreamFieldNumber = 1; - private int stream_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int Stream { - get { return stream_; } - set { - stream_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SuiteDataStoreInitRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SuiteDataStoreInitRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Stream != other.Stream) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Stream != 0) hash ^= Stream.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Stream != 0) { - output.WriteRawTag(8); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Stream != 0) { - output.WriteRawTag(8); - output.WriteInt32(Stream); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Stream != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stream); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SuiteDataStoreInitRequest other) { - if (other == null) { - return; - } - if (other.Stream != 0) { - Stream = other.Stream; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - Stream = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - Stream = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Holds the new and old positions of a parameter. - //// Used when refactoring a Step. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ParameterPosition : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ParameterPosition()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[28]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ParameterPosition() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ParameterPosition(ParameterPosition other) : this() { - oldPosition_ = other.oldPosition_; - newPosition_ = other.newPosition_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ParameterPosition Clone() { - return new ParameterPosition(this); - } - - /// Field number for the "oldPosition" field. - public const int OldPositionFieldNumber = 1; - private int oldPosition_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int OldPosition { - get { return oldPosition_; } - set { - oldPosition_ = value; - } - } - - /// Field number for the "newPosition" field. - public const int NewPositionFieldNumber = 2; - private int newPosition_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int NewPosition { - get { return newPosition_; } - set { - newPosition_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ParameterPosition); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ParameterPosition other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (OldPosition != other.OldPosition) return false; - if (NewPosition != other.NewPosition) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (OldPosition != 0) hash ^= OldPosition.GetHashCode(); - if (NewPosition != 0) hash ^= NewPosition.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (OldPosition != 0) { - output.WriteRawTag(8); - output.WriteInt32(OldPosition); - } - if (NewPosition != 0) { - output.WriteRawTag(16); - output.WriteInt32(NewPosition); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (OldPosition != 0) { - output.WriteRawTag(8); - output.WriteInt32(OldPosition); - } - if (NewPosition != 0) { - output.WriteRawTag(16); - output.WriteInt32(NewPosition); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (OldPosition != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(OldPosition); - } - if (NewPosition != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(NewPosition); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ParameterPosition other) { - if (other == null) { - return; - } - if (other.OldPosition != 0) { - OldPosition = other.OldPosition; - } - if (other.NewPosition != 0) { - NewPosition = other.NewPosition; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - OldPosition = input.ReadInt32(); - break; - } - case 16: { - NewPosition = input.ReadInt32(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - OldPosition = input.ReadInt32(); - break; - } - case 16: { - NewPosition = input.ReadInt32(); - break; - } - } - } - } - #endif - - } - - /// - //// Tells the runner to refactor the specified Step. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class RefactorRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RefactorRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[29]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RefactorRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RefactorRequest(RefactorRequest other) : this() { - oldStepValue_ = other.oldStepValue_ != null ? other.oldStepValue_.Clone() : null; - newStepValue_ = other.newStepValue_ != null ? other.newStepValue_.Clone() : null; - paramPositions_ = other.paramPositions_.Clone(); - saveChanges_ = other.saveChanges_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RefactorRequest Clone() { - return new RefactorRequest(this); - } - - /// Field number for the "oldStepValue" field. - public const int OldStepValueFieldNumber = 1; - private global::Gauge.Messages.ProtoStepValue oldStepValue_; - /// - //// Old value, used to lookup Step to refactor - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoStepValue OldStepValue { - get { return oldStepValue_; } - set { - oldStepValue_ = value; - } - } - - /// Field number for the "newStepValue" field. - public const int NewStepValueFieldNumber = 2; - private global::Gauge.Messages.ProtoStepValue newStepValue_; - /// - //// New value, the to-be value of Step being refactored. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoStepValue NewStepValue { - get { return newStepValue_; } - set { - newStepValue_ = value; - } - } - - /// Field number for the "paramPositions" field. - public const int ParamPositionsFieldNumber = 3; - private static readonly pb::FieldCodec _repeated_paramPositions_codec - = pb::FieldCodec.ForMessage(26, global::Gauge.Messages.ParameterPosition.Parser); - private readonly pbc::RepeatedField paramPositions_ = new pbc::RepeatedField(); - /// - //// Holds parameter positions of all parameters. Contains old and new parameter positions. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField ParamPositions { - get { return paramPositions_; } - } - - /// Field number for the "saveChanges" field. - public const int SaveChangesFieldNumber = 4; - private bool saveChanges_; - /// - //// If set to true, the refactored files should be saved to the file system before returning the response. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool SaveChanges { - get { return saveChanges_; } - set { - saveChanges_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as RefactorRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(RefactorRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(OldStepValue, other.OldStepValue)) return false; - if (!object.Equals(NewStepValue, other.NewStepValue)) return false; - if(!paramPositions_.Equals(other.paramPositions_)) return false; - if (SaveChanges != other.SaveChanges) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (oldStepValue_ != null) hash ^= OldStepValue.GetHashCode(); - if (newStepValue_ != null) hash ^= NewStepValue.GetHashCode(); - hash ^= paramPositions_.GetHashCode(); - if (SaveChanges != false) hash ^= SaveChanges.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (oldStepValue_ != null) { - output.WriteRawTag(10); - output.WriteMessage(OldStepValue); - } - if (newStepValue_ != null) { - output.WriteRawTag(18); - output.WriteMessage(NewStepValue); - } - paramPositions_.WriteTo(output, _repeated_paramPositions_codec); - if (SaveChanges != false) { - output.WriteRawTag(32); - output.WriteBool(SaveChanges); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (oldStepValue_ != null) { - output.WriteRawTag(10); - output.WriteMessage(OldStepValue); - } - if (newStepValue_ != null) { - output.WriteRawTag(18); - output.WriteMessage(NewStepValue); - } - paramPositions_.WriteTo(ref output, _repeated_paramPositions_codec); - if (SaveChanges != false) { - output.WriteRawTag(32); - output.WriteBool(SaveChanges); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (oldStepValue_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(OldStepValue); - } - if (newStepValue_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(NewStepValue); - } - size += paramPositions_.CalculateSize(_repeated_paramPositions_codec); - if (SaveChanges != false) { - size += 1 + 1; - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(RefactorRequest other) { - if (other == null) { - return; - } - if (other.oldStepValue_ != null) { - if (oldStepValue_ == null) { - OldStepValue = new global::Gauge.Messages.ProtoStepValue(); - } - OldStepValue.MergeFrom(other.OldStepValue); - } - if (other.newStepValue_ != null) { - if (newStepValue_ == null) { - NewStepValue = new global::Gauge.Messages.ProtoStepValue(); - } - NewStepValue.MergeFrom(other.NewStepValue); - } - paramPositions_.Add(other.paramPositions_); - if (other.SaveChanges != false) { - SaveChanges = other.SaveChanges; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (oldStepValue_ == null) { - OldStepValue = new global::Gauge.Messages.ProtoStepValue(); - } - input.ReadMessage(OldStepValue); - break; - } - case 18: { - if (newStepValue_ == null) { - NewStepValue = new global::Gauge.Messages.ProtoStepValue(); - } - input.ReadMessage(NewStepValue); - break; - } - case 26: { - paramPositions_.AddEntriesFrom(input, _repeated_paramPositions_codec); - break; - } - case 32: { - SaveChanges = input.ReadBool(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (oldStepValue_ == null) { - OldStepValue = new global::Gauge.Messages.ProtoStepValue(); - } - input.ReadMessage(OldStepValue); - break; - } - case 18: { - if (newStepValue_ == null) { - NewStepValue = new global::Gauge.Messages.ProtoStepValue(); - } - input.ReadMessage(NewStepValue); - break; - } - case 26: { - paramPositions_.AddEntriesFrom(ref input, _repeated_paramPositions_codec); - break; - } - case 32: { - SaveChanges = input.ReadBool(); - break; - } - } - } - } - #endif - - } - - /// - //// Give all file changes to be made to file system - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class FileChanges : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FileChanges()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[30]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FileChanges() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FileChanges(FileChanges other) : this() { - fileName_ = other.fileName_; - fileContent_ = other.fileContent_; - diffs_ = other.diffs_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FileChanges Clone() { - return new FileChanges(this); - } - - /// Field number for the "fileName" field. - public const int FileNameFieldNumber = 1; - private string fileName_ = ""; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string FileName { - get { return fileName_; } - set { - fileName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "fileContent" field. - public const int FileContentFieldNumber = 2; - private string fileContent_ = ""; - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string FileContent { - get { return fileContent_; } - set { - fileContent_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "diffs" field. - public const int DiffsFieldNumber = 3; - private static readonly pb::FieldCodec _repeated_diffs_codec - = pb::FieldCodec.ForMessage(26, global::Gauge.Messages.TextDiff.Parser); - private readonly pbc::RepeatedField diffs_ = new pbc::RepeatedField(); - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Diffs { - get { return diffs_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as FileChanges); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(FileChanges other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (FileName != other.FileName) return false; - if (FileContent != other.FileContent) return false; - if(!diffs_.Equals(other.diffs_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (FileName.Length != 0) hash ^= FileName.GetHashCode(); - if (FileContent.Length != 0) hash ^= FileContent.GetHashCode(); - hash ^= diffs_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (FileName.Length != 0) { - output.WriteRawTag(10); - output.WriteString(FileName); - } - if (FileContent.Length != 0) { - output.WriteRawTag(18); - output.WriteString(FileContent); - } - diffs_.WriteTo(output, _repeated_diffs_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (FileName.Length != 0) { - output.WriteRawTag(10); - output.WriteString(FileName); - } - if (FileContent.Length != 0) { - output.WriteRawTag(18); - output.WriteString(FileContent); - } - diffs_.WriteTo(ref output, _repeated_diffs_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (FileName.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(FileName); - } - if (FileContent.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(FileContent); - } - size += diffs_.CalculateSize(_repeated_diffs_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(FileChanges other) { - if (other == null) { - return; - } - if (other.FileName.Length != 0) { - FileName = other.FileName; - } - if (other.FileContent.Length != 0) { - FileContent = other.FileContent; - } - diffs_.Add(other.diffs_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - FileName = input.ReadString(); - break; - } - case 18: { - FileContent = input.ReadString(); - break; - } - case 26: { - diffs_.AddEntriesFrom(input, _repeated_diffs_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - FileName = input.ReadString(); - break; - } - case 18: { - FileContent = input.ReadString(); - break; - } - case 26: { - diffs_.AddEntriesFrom(ref input, _repeated_diffs_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Response of a RefactorRequest - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class RefactorResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RefactorResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[31]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RefactorResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RefactorResponse(RefactorResponse other) : this() { - success_ = other.success_; - error_ = other.error_; - filesChanged_ = other.filesChanged_.Clone(); - fileChanges_ = other.fileChanges_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RefactorResponse Clone() { - return new RefactorResponse(this); - } - - /// Field number for the "success" field. - public const int SuccessFieldNumber = 1; - private bool success_; - /// - //// Flag indicating the success of Refactor operation. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Success { - get { return success_; } - set { - success_ = value; - } - } - - /// Field number for the "error" field. - public const int ErrorFieldNumber = 2; - private string error_ = ""; - /// - //// Error message, valid only if Refactor wasn't successful - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Error { - get { return error_; } - set { - error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "filesChanged" field. - public const int FilesChangedFieldNumber = 3; - private static readonly pb::FieldCodec _repeated_filesChanged_codec - = pb::FieldCodec.ForString(26); - private readonly pbc::RepeatedField filesChanged_ = new pbc::RepeatedField(); - /// - //// List of files that were affected because of the refactoring. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField FilesChanged { - get { return filesChanged_; } - } - - /// Field number for the "fileChanges" field. - public const int FileChangesFieldNumber = 4; - private static readonly pb::FieldCodec _repeated_fileChanges_codec - = pb::FieldCodec.ForMessage(34, global::Gauge.Messages.FileChanges.Parser); - private readonly pbc::RepeatedField fileChanges_ = new pbc::RepeatedField(); - /// - //// List of file changes to be made to successfully achieve refactoring. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField FileChanges { - get { return fileChanges_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as RefactorResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(RefactorResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Success != other.Success) return false; - if (Error != other.Error) return false; - if(!filesChanged_.Equals(other.filesChanged_)) return false; - if(!fileChanges_.Equals(other.fileChanges_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Success != false) hash ^= Success.GetHashCode(); - if (Error.Length != 0) hash ^= Error.GetHashCode(); - hash ^= filesChanged_.GetHashCode(); - hash ^= fileChanges_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Success != false) { - output.WriteRawTag(8); - output.WriteBool(Success); - } - if (Error.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Error); - } - filesChanged_.WriteTo(output, _repeated_filesChanged_codec); - fileChanges_.WriteTo(output, _repeated_fileChanges_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Success != false) { - output.WriteRawTag(8); - output.WriteBool(Success); - } - if (Error.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Error); - } - filesChanged_.WriteTo(ref output, _repeated_filesChanged_codec); - fileChanges_.WriteTo(ref output, _repeated_fileChanges_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Success != false) { - size += 1 + 1; - } - if (Error.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); - } - size += filesChanged_.CalculateSize(_repeated_filesChanged_codec); - size += fileChanges_.CalculateSize(_repeated_fileChanges_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(RefactorResponse other) { - if (other == null) { - return; - } - if (other.Success != false) { - Success = other.Success; - } - if (other.Error.Length != 0) { - Error = other.Error; - } - filesChanged_.Add(other.filesChanged_); - fileChanges_.Add(other.fileChanges_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - Success = input.ReadBool(); - break; - } - case 18: { - Error = input.ReadString(); - break; - } - case 26: { - filesChanged_.AddEntriesFrom(input, _repeated_filesChanged_codec); - break; - } - case 34: { - fileChanges_.AddEntriesFrom(input, _repeated_fileChanges_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - Success = input.ReadBool(); - break; - } - case 18: { - Error = input.ReadString(); - break; - } - case 26: { - filesChanged_.AddEntriesFrom(ref input, _repeated_filesChanged_codec); - break; - } - case 34: { - fileChanges_.AddEntriesFrom(ref input, _repeated_fileChanges_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Request for details on a Single Step. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class StepNameRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StepNameRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[32]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepNameRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepNameRequest(StepNameRequest other) : this() { - stepValue_ = other.stepValue_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepNameRequest Clone() { - return new StepNameRequest(this); - } - - /// Field number for the "stepValue" field. - public const int StepValueFieldNumber = 1; - private string stepValue_ = ""; - /// - //// Step text to lookup the Step. - //// This is the parsed step value, i.e. with placeholders for parameters. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string StepValue { - get { return stepValue_; } - set { - stepValue_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as StepNameRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(StepNameRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (StepValue != other.StepValue) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (StepValue.Length != 0) hash ^= StepValue.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (StepValue.Length != 0) { - output.WriteRawTag(10); - output.WriteString(StepValue); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (StepValue.Length != 0) { - output.WriteRawTag(10); - output.WriteString(StepValue); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (StepValue.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(StepValue); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(StepNameRequest other) { - if (other == null) { - return; - } - if (other.StepValue.Length != 0) { - StepValue = other.StepValue; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - StepValue = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - StepValue = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// Response to StepNameRequest. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class StepNameResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StepNameResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[33]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepNameResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepNameResponse(StepNameResponse other) : this() { - isStepPresent_ = other.isStepPresent_; - stepName_ = other.stepName_.Clone(); - hasAlias_ = other.hasAlias_; - fileName_ = other.fileName_; - span_ = other.span_ != null ? other.span_.Clone() : null; - isExternal_ = other.isExternal_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepNameResponse Clone() { - return new StepNameResponse(this); - } - - /// Field number for the "isStepPresent" field. - public const int IsStepPresentFieldNumber = 1; - private bool isStepPresent_; - /// - //// Flag indicating if there is a match for the given Step Text. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool IsStepPresent { - get { return isStepPresent_; } - set { - isStepPresent_ = value; - } - } - - /// Field number for the "stepName" field. - public const int StepNameFieldNumber = 2; - private static readonly pb::FieldCodec _repeated_stepName_codec - = pb::FieldCodec.ForString(18); - private readonly pbc::RepeatedField stepName_ = new pbc::RepeatedField(); - /// - //// The Step name of the given step. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField StepName { - get { return stepName_; } - } - - /// Field number for the "hasAlias" field. - public const int HasAliasFieldNumber = 3; - private bool hasAlias_; - /// - //// Flag indicating if the given Step is an alias. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool HasAlias { - get { return hasAlias_; } - set { - hasAlias_ = value; - } - } - - /// Field number for the "fileName" field. - public const int FileNameFieldNumber = 4; - private string fileName_ = ""; - /// - //// File name in which the step implementation exists - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string FileName { - get { return fileName_; } - set { - fileName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "span" field. - public const int SpanFieldNumber = 5; - private global::Gauge.Messages.Span span_; - /// - //// Range of step - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.Span Span { - get { return span_; } - set { - span_ = value; - } - } - - /// Field number for the "isExternal" field. - public const int IsExternalFieldNumber = 6; - private bool isExternal_; - /// - //// Flag indicating if the given Step defined in some external library and the source code can not be accessed. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool IsExternal { - get { return isExternal_; } - set { - isExternal_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as StepNameResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(StepNameResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (IsStepPresent != other.IsStepPresent) return false; - if(!stepName_.Equals(other.stepName_)) return false; - if (HasAlias != other.HasAlias) return false; - if (FileName != other.FileName) return false; - if (!object.Equals(Span, other.Span)) return false; - if (IsExternal != other.IsExternal) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (IsStepPresent != false) hash ^= IsStepPresent.GetHashCode(); - hash ^= stepName_.GetHashCode(); - if (HasAlias != false) hash ^= HasAlias.GetHashCode(); - if (FileName.Length != 0) hash ^= FileName.GetHashCode(); - if (span_ != null) hash ^= Span.GetHashCode(); - if (IsExternal != false) hash ^= IsExternal.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (IsStepPresent != false) { - output.WriteRawTag(8); - output.WriteBool(IsStepPresent); - } - stepName_.WriteTo(output, _repeated_stepName_codec); - if (HasAlias != false) { - output.WriteRawTag(24); - output.WriteBool(HasAlias); - } - if (FileName.Length != 0) { - output.WriteRawTag(34); - output.WriteString(FileName); - } - if (span_ != null) { - output.WriteRawTag(42); - output.WriteMessage(Span); - } - if (IsExternal != false) { - output.WriteRawTag(48); - output.WriteBool(IsExternal); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (IsStepPresent != false) { - output.WriteRawTag(8); - output.WriteBool(IsStepPresent); - } - stepName_.WriteTo(ref output, _repeated_stepName_codec); - if (HasAlias != false) { - output.WriteRawTag(24); - output.WriteBool(HasAlias); - } - if (FileName.Length != 0) { - output.WriteRawTag(34); - output.WriteString(FileName); - } - if (span_ != null) { - output.WriteRawTag(42); - output.WriteMessage(Span); - } - if (IsExternal != false) { - output.WriteRawTag(48); - output.WriteBool(IsExternal); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (IsStepPresent != false) { - size += 1 + 1; - } - size += stepName_.CalculateSize(_repeated_stepName_codec); - if (HasAlias != false) { - size += 1 + 1; - } - if (FileName.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(FileName); - } - if (span_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Span); - } - if (IsExternal != false) { - size += 1 + 1; - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(StepNameResponse other) { - if (other == null) { - return; - } - if (other.IsStepPresent != false) { - IsStepPresent = other.IsStepPresent; - } - stepName_.Add(other.stepName_); - if (other.HasAlias != false) { - HasAlias = other.HasAlias; - } - if (other.FileName.Length != 0) { - FileName = other.FileName; - } - if (other.span_ != null) { - if (span_ == null) { - Span = new global::Gauge.Messages.Span(); - } - Span.MergeFrom(other.Span); - } - if (other.IsExternal != false) { - IsExternal = other.IsExternal; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - IsStepPresent = input.ReadBool(); - break; - } - case 18: { - stepName_.AddEntriesFrom(input, _repeated_stepName_codec); - break; - } - case 24: { - HasAlias = input.ReadBool(); - break; - } - case 34: { - FileName = input.ReadString(); - break; - } - case 42: { - if (span_ == null) { - Span = new global::Gauge.Messages.Span(); - } - input.ReadMessage(Span); - break; - } - case 48: { - IsExternal = input.ReadBool(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - IsStepPresent = input.ReadBool(); - break; - } - case 18: { - stepName_.AddEntriesFrom(ref input, _repeated_stepName_codec); - break; - } - case 24: { - HasAlias = input.ReadBool(); - break; - } - case 34: { - FileName = input.ReadString(); - break; - } - case 42: { - if (span_ == null) { - Span = new global::Gauge.Messages.Span(); - } - input.ReadMessage(Span); - break; - } - case 48: { - IsExternal = input.ReadBool(); - break; - } - } - } - } - #endif - - } - - /// - //// Response when a unsupported message request is sent. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class UnsupportedMessageResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new UnsupportedMessageResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[34]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public UnsupportedMessageResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public UnsupportedMessageResponse(UnsupportedMessageResponse other) : this() { - message_ = other.message_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public UnsupportedMessageResponse Clone() { - return new UnsupportedMessageResponse(this); - } - - /// Field number for the "message" field. - public const int MessageFieldNumber = 1; - private string message_ = ""; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Message { - get { return message_; } - set { - message_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as UnsupportedMessageResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(UnsupportedMessageResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Message != other.Message) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Message.Length != 0) hash ^= Message.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Message.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Message); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Message.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Message); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Message.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Message); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(UnsupportedMessageResponse other) { - if (other == null) { - return; - } - if (other.Message.Length != 0) { - Message = other.Message; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - Message = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - Message = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// Request for caching a file. - //// Gauge sends this request when running in LSP mode, - //// so runner can cache file contents present on the client(an editor). - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class CacheFileRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CacheFileRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[35]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public CacheFileRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public CacheFileRequest(CacheFileRequest other) : this() { - content_ = other.content_; - filePath_ = other.filePath_; - isClosed_ = other.isClosed_; - status_ = other.status_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public CacheFileRequest Clone() { - return new CacheFileRequest(this); - } - - /// Field number for the "content" field. - public const int ContentFieldNumber = 1; - private string content_ = ""; - /// - //// File content of the file to be cached - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Content { - get { return content_; } - set { - content_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "filePath" field. - public const int FilePathFieldNumber = 2; - private string filePath_ = ""; - /// - //// File path of the file to be cached - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string FilePath { - get { return filePath_; } - set { - filePath_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "isClosed" field. - public const int IsClosedFieldNumber = 3; - private bool isClosed_; - /// - //// Specifies if the file is closed - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool IsClosed { - get { return isClosed_; } - set { - isClosed_ = value; - } - } - - /// Field number for the "status" field. - public const int StatusFieldNumber = 4; - private global::Gauge.Messages.CacheFileRequest.Types.FileStatus status_ = global::Gauge.Messages.CacheFileRequest.Types.FileStatus.Changed; - /// - //// Specifies the status of the file - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.CacheFileRequest.Types.FileStatus Status { - get { return status_; } - set { - status_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as CacheFileRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(CacheFileRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Content != other.Content) return false; - if (FilePath != other.FilePath) return false; - if (IsClosed != other.IsClosed) return false; - if (Status != other.Status) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Content.Length != 0) hash ^= Content.GetHashCode(); - if (FilePath.Length != 0) hash ^= FilePath.GetHashCode(); - if (IsClosed != false) hash ^= IsClosed.GetHashCode(); - if (Status != global::Gauge.Messages.CacheFileRequest.Types.FileStatus.Changed) hash ^= Status.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Content.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Content); - } - if (FilePath.Length != 0) { - output.WriteRawTag(18); - output.WriteString(FilePath); - } - if (IsClosed != false) { - output.WriteRawTag(24); - output.WriteBool(IsClosed); - } - if (Status != global::Gauge.Messages.CacheFileRequest.Types.FileStatus.Changed) { - output.WriteRawTag(32); - output.WriteEnum((int) Status); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Content.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Content); - } - if (FilePath.Length != 0) { - output.WriteRawTag(18); - output.WriteString(FilePath); - } - if (IsClosed != false) { - output.WriteRawTag(24); - output.WriteBool(IsClosed); - } - if (Status != global::Gauge.Messages.CacheFileRequest.Types.FileStatus.Changed) { - output.WriteRawTag(32); - output.WriteEnum((int) Status); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Content.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Content); - } - if (FilePath.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(FilePath); - } - if (IsClosed != false) { - size += 1 + 1; - } - if (Status != global::Gauge.Messages.CacheFileRequest.Types.FileStatus.Changed) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Status); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(CacheFileRequest other) { - if (other == null) { - return; - } - if (other.Content.Length != 0) { - Content = other.Content; - } - if (other.FilePath.Length != 0) { - FilePath = other.FilePath; - } - if (other.IsClosed != false) { - IsClosed = other.IsClosed; - } - if (other.Status != global::Gauge.Messages.CacheFileRequest.Types.FileStatus.Changed) { - Status = other.Status; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - Content = input.ReadString(); - break; - } - case 18: { - FilePath = input.ReadString(); - break; - } - case 24: { - IsClosed = input.ReadBool(); - break; - } - case 32: { - Status = (global::Gauge.Messages.CacheFileRequest.Types.FileStatus) input.ReadEnum(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - Content = input.ReadString(); - break; - } - case 18: { - FilePath = input.ReadString(); - break; - } - case 24: { - IsClosed = input.ReadBool(); - break; - } - case 32: { - Status = (global::Gauge.Messages.CacheFileRequest.Types.FileStatus) input.ReadEnum(); - break; - } - } - } - } - #endif - - #region Nested types - /// Container for nested types declared in the CacheFileRequest message type. - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static partial class Types { - public enum FileStatus { - /// - //// The file content was changed in the client - /// - [pbr::OriginalName("CHANGED")] Changed = 0, - /// - //// The file was closed in the client - /// - [pbr::OriginalName("CLOSED")] Closed = 1, - /// - //// The file was created on the client - /// - [pbr::OriginalName("CREATED")] Created = 2, - /// - //// The file was deleted on the client - /// - [pbr::OriginalName("DELETED")] Deleted = 3, - /// - //// The file is opened in the client - /// - [pbr::OriginalName("OPENED")] Opened = 4, - } - - } - #endregion - - } - - /// - //// Request for find step positions - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class StepPositionsRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StepPositionsRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[36]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepPositionsRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepPositionsRequest(StepPositionsRequest other) : this() { - filePath_ = other.filePath_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepPositionsRequest Clone() { - return new StepPositionsRequest(this); - } - - /// Field number for the "filePath" field. - public const int FilePathFieldNumber = 1; - private string filePath_ = ""; - /// - //// Get step positions for file path - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string FilePath { - get { return filePath_; } - set { - filePath_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as StepPositionsRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(StepPositionsRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (FilePath != other.FilePath) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (FilePath.Length != 0) hash ^= FilePath.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (FilePath.Length != 0) { - output.WriteRawTag(10); - output.WriteString(FilePath); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (FilePath.Length != 0) { - output.WriteRawTag(10); - output.WriteString(FilePath); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (FilePath.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(FilePath); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(StepPositionsRequest other) { - if (other == null) { - return; - } - if (other.FilePath.Length != 0) { - FilePath = other.FilePath; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - FilePath = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - FilePath = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// Response for find step positions - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class StepPositionsResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StepPositionsResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[37]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepPositionsResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepPositionsResponse(StepPositionsResponse other) : this() { - stepPositions_ = other.stepPositions_.Clone(); - error_ = other.error_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepPositionsResponse Clone() { - return new StepPositionsResponse(this); - } - - /// Field number for the "stepPositions" field. - public const int StepPositionsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_stepPositions_codec - = pb::FieldCodec.ForMessage(10, global::Gauge.Messages.StepPositionsResponse.Types.StepPosition.Parser); - private readonly pbc::RepeatedField stepPositions_ = new pbc::RepeatedField(); - /// - //// Step Position - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField StepPositions { - get { return stepPositions_; } - } - - /// Field number for the "error" field. - public const int ErrorFieldNumber = 2; - private string error_ = ""; - /// - //// Error message - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Error { - get { return error_; } - set { - error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as StepPositionsResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(StepPositionsResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!stepPositions_.Equals(other.stepPositions_)) return false; - if (Error != other.Error) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - hash ^= stepPositions_.GetHashCode(); - if (Error.Length != 0) hash ^= Error.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - stepPositions_.WriteTo(output, _repeated_stepPositions_codec); - if (Error.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Error); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - stepPositions_.WriteTo(ref output, _repeated_stepPositions_codec); - if (Error.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Error); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - size += stepPositions_.CalculateSize(_repeated_stepPositions_codec); - if (Error.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(StepPositionsResponse other) { - if (other == null) { - return; - } - stepPositions_.Add(other.stepPositions_); - if (other.Error.Length != 0) { - Error = other.Error; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - stepPositions_.AddEntriesFrom(input, _repeated_stepPositions_codec); - break; - } - case 18: { - Error = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - stepPositions_.AddEntriesFrom(ref input, _repeated_stepPositions_codec); - break; - } - case 18: { - Error = input.ReadString(); - break; - } - } - } - } - #endif - - #region Nested types - /// Container for nested types declared in the StepPositionsResponse message type. - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static partial class Types { - /// - //// Step position for each step implementation - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class StepPosition : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StepPosition()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.StepPositionsResponse.Descriptor.NestedTypes[0]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepPosition() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepPosition(StepPosition other) : this() { - stepValue_ = other.stepValue_; - span_ = other.span_ != null ? other.span_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StepPosition Clone() { - return new StepPosition(this); - } - - /// Field number for the "stepValue" field. - public const int StepValueFieldNumber = 1; - private string stepValue_ = ""; - /// - //// Step Value - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string StepValue { - get { return stepValue_; } - set { - stepValue_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "span" field. - public const int SpanFieldNumber = 2; - private global::Gauge.Messages.Span span_; - /// - //// Range of step - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.Span Span { - get { return span_; } - set { - span_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as StepPosition); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(StepPosition other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (StepValue != other.StepValue) return false; - if (!object.Equals(Span, other.Span)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (StepValue.Length != 0) hash ^= StepValue.GetHashCode(); - if (span_ != null) hash ^= Span.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (StepValue.Length != 0) { - output.WriteRawTag(10); - output.WriteString(StepValue); - } - if (span_ != null) { - output.WriteRawTag(18); - output.WriteMessage(Span); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (StepValue.Length != 0) { - output.WriteRawTag(10); - output.WriteString(StepValue); - } - if (span_ != null) { - output.WriteRawTag(18); - output.WriteMessage(Span); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (StepValue.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(StepValue); - } - if (span_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Span); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(StepPosition other) { - if (other == null) { - return; - } - if (other.StepValue.Length != 0) { - StepValue = other.StepValue; - } - if (other.span_ != null) { - if (span_ == null) { - Span = new global::Gauge.Messages.Span(); - } - Span.MergeFrom(other.Span); - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - StepValue = input.ReadString(); - break; - } - case 18: { - if (span_ == null) { - Span = new global::Gauge.Messages.Span(); - } - input.ReadMessage(Span); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - StepValue = input.ReadString(); - break; - } - case 18: { - if (span_ == null) { - Span = new global::Gauge.Messages.Span(); - } - input.ReadMessage(Span); - break; - } - } - } - } - #endif - - } - - } - #endregion - - } - - /// - //// Request for getting Implementation file glob pattern - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ImplementationFileGlobPatternRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ImplementationFileGlobPatternRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[38]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ImplementationFileGlobPatternRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ImplementationFileGlobPatternRequest(ImplementationFileGlobPatternRequest other) : this() { - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ImplementationFileGlobPatternRequest Clone() { - return new ImplementationFileGlobPatternRequest(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ImplementationFileGlobPatternRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ImplementationFileGlobPatternRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ImplementationFileGlobPatternRequest other) { - if (other == null) { - return; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - } - } - } - #endif - - } - - /// - //// Response for getting Implementation file glob pattern - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ImplementationFileGlobPatternResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ImplementationFileGlobPatternResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[39]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ImplementationFileGlobPatternResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ImplementationFileGlobPatternResponse(ImplementationFileGlobPatternResponse other) : this() { - globPatterns_ = other.globPatterns_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ImplementationFileGlobPatternResponse Clone() { - return new ImplementationFileGlobPatternResponse(this); - } - - /// Field number for the "globPatterns" field. - public const int GlobPatternsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_globPatterns_codec - = pb::FieldCodec.ForString(10); - private readonly pbc::RepeatedField globPatterns_ = new pbc::RepeatedField(); - /// - //// List of implementation file glob patterns - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField GlobPatterns { - get { return globPatterns_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ImplementationFileGlobPatternResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ImplementationFileGlobPatternResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!globPatterns_.Equals(other.globPatterns_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - hash ^= globPatterns_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - globPatterns_.WriteTo(output, _repeated_globPatterns_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - globPatterns_.WriteTo(ref output, _repeated_globPatterns_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - size += globPatterns_.CalculateSize(_repeated_globPatterns_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ImplementationFileGlobPatternResponse other) { - if (other == null) { - return; - } - globPatterns_.Add(other.globPatterns_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - globPatterns_.AddEntriesFrom(input, _repeated_globPatterns_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - globPatterns_.AddEntriesFrom(ref input, _repeated_globPatterns_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Request for getting Implementation file list - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ImplementationFileListRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ImplementationFileListRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[40]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ImplementationFileListRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ImplementationFileListRequest(ImplementationFileListRequest other) : this() { - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ImplementationFileListRequest Clone() { - return new ImplementationFileListRequest(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ImplementationFileListRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ImplementationFileListRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ImplementationFileListRequest other) { - if (other == null) { - return; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - } - } - } - #endif - - } - - /// - //// Response for getting Implementation file list - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ImplementationFileListResponse : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ImplementationFileListResponse()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[41]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ImplementationFileListResponse() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ImplementationFileListResponse(ImplementationFileListResponse other) : this() { - implementationFilePaths_ = other.implementationFilePaths_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ImplementationFileListResponse Clone() { - return new ImplementationFileListResponse(this); - } - - /// Field number for the "implementationFilePaths" field. - public const int ImplementationFilePathsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_implementationFilePaths_codec - = pb::FieldCodec.ForString(10); - private readonly pbc::RepeatedField implementationFilePaths_ = new pbc::RepeatedField(); - /// - //// List of implementation files - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField ImplementationFilePaths { - get { return implementationFilePaths_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ImplementationFileListResponse); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ImplementationFileListResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!implementationFilePaths_.Equals(other.implementationFilePaths_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - hash ^= implementationFilePaths_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - implementationFilePaths_.WriteTo(output, _repeated_implementationFilePaths_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - implementationFilePaths_.WriteTo(ref output, _repeated_implementationFilePaths_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - size += implementationFilePaths_.CalculateSize(_repeated_implementationFilePaths_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ImplementationFileListResponse other) { - if (other == null) { - return; - } - implementationFilePaths_.Add(other.implementationFilePaths_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - implementationFilePaths_.AddEntriesFrom(input, _repeated_implementationFilePaths_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - implementationFilePaths_.AddEntriesFrom(ref input, _repeated_implementationFilePaths_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Request for injecting code snippet into implementation file - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class StubImplementationCodeRequest : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StubImplementationCodeRequest()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[42]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StubImplementationCodeRequest() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StubImplementationCodeRequest(StubImplementationCodeRequest other) : this() { - implementationFilePath_ = other.implementationFilePath_; - codes_ = other.codes_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public StubImplementationCodeRequest Clone() { - return new StubImplementationCodeRequest(this); - } - - /// Field number for the "implementationFilePath" field. - public const int ImplementationFilePathFieldNumber = 1; - private string implementationFilePath_ = ""; - /// - //// Path of the file where the new stub implementation will be added - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ImplementationFilePath { - get { return implementationFilePath_; } - set { - implementationFilePath_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "codes" field. - public const int CodesFieldNumber = 2; - private static readonly pb::FieldCodec _repeated_codes_codec - = pb::FieldCodec.ForString(18); - private readonly pbc::RepeatedField codes_ = new pbc::RepeatedField(); - /// - //// List of implementation codes to be appended to implementation file. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Codes { - get { return codes_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as StubImplementationCodeRequest); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(StubImplementationCodeRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (ImplementationFilePath != other.ImplementationFilePath) return false; - if(!codes_.Equals(other.codes_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (ImplementationFilePath.Length != 0) hash ^= ImplementationFilePath.GetHashCode(); - hash ^= codes_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (ImplementationFilePath.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ImplementationFilePath); - } - codes_.WriteTo(output, _repeated_codes_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ImplementationFilePath.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ImplementationFilePath); - } - codes_.WriteTo(ref output, _repeated_codes_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (ImplementationFilePath.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ImplementationFilePath); - } - size += codes_.CalculateSize(_repeated_codes_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(StubImplementationCodeRequest other) { - if (other == null) { - return; - } - if (other.ImplementationFilePath.Length != 0) { - ImplementationFilePath = other.ImplementationFilePath; - } - codes_.Add(other.codes_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - ImplementationFilePath = input.ReadString(); - break; - } - case 18: { - codes_.AddEntriesFrom(input, _repeated_codes_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - ImplementationFilePath = input.ReadString(); - break; - } - case 18: { - codes_.AddEntriesFrom(ref input, _repeated_codes_codec); - break; - } - } - } - } - #endif - - } - - /// - //// A Single Replace Diff Element to be applied - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class TextDiff : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextDiff()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[43]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TextDiff() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TextDiff(TextDiff other) : this() { - span_ = other.span_ != null ? other.span_.Clone() : null; - content_ = other.content_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TextDiff Clone() { - return new TextDiff(this); - } - - /// Field number for the "span" field. - public const int SpanFieldNumber = 1; - private global::Gauge.Messages.Span span_; - /// - //// Range of file to be replaced - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.Span Span { - get { return span_; } - set { - span_ = value; - } - } - - /// Field number for the "content" field. - public const int ContentFieldNumber = 2; - private string content_ = ""; - /// - //// New content to replace the content in the span - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Content { - get { return content_; } - set { - content_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as TextDiff); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(TextDiff other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(Span, other.Span)) return false; - if (Content != other.Content) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (span_ != null) hash ^= Span.GetHashCode(); - if (Content.Length != 0) hash ^= Content.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (span_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Span); - } - if (Content.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Content); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (span_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Span); - } - if (Content.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Content); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (span_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Span); - } - if (Content.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Content); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(TextDiff other) { - if (other == null) { - return; - } - if (other.span_ != null) { - if (span_ == null) { - Span = new global::Gauge.Messages.Span(); - } - Span.MergeFrom(other.Span); - } - if (other.Content.Length != 0) { - Content = other.Content; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (span_ == null) { - Span = new global::Gauge.Messages.Span(); - } - input.ReadMessage(Span); - break; - } - case 18: { - Content = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (span_ == null) { - Span = new global::Gauge.Messages.Span(); - } - input.ReadMessage(Span); - break; - } - case 18: { - Content = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// Diffs to be applied to a file - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class FileDiff : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FileDiff()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[44]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FileDiff() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FileDiff(FileDiff other) : this() { - filePath_ = other.filePath_; - textDiffs_ = other.textDiffs_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FileDiff Clone() { - return new FileDiff(this); - } - - /// Field number for the "filePath" field. - public const int FilePathFieldNumber = 1; - private string filePath_ = ""; - /// - //// File Path where the new content needs to be put in - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string FilePath { - get { return filePath_; } - set { - filePath_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "textDiffs" field. - public const int TextDiffsFieldNumber = 2; - private static readonly pb::FieldCodec _repeated_textDiffs_codec - = pb::FieldCodec.ForMessage(18, global::Gauge.Messages.TextDiff.Parser); - private readonly pbc::RepeatedField textDiffs_ = new pbc::RepeatedField(); - /// - //// The diffs which need to be applied to this file - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField TextDiffs { - get { return textDiffs_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as FileDiff); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(FileDiff other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (FilePath != other.FilePath) return false; - if(!textDiffs_.Equals(other.textDiffs_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (FilePath.Length != 0) hash ^= FilePath.GetHashCode(); - hash ^= textDiffs_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (FilePath.Length != 0) { - output.WriteRawTag(10); - output.WriteString(FilePath); - } - textDiffs_.WriteTo(output, _repeated_textDiffs_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (FilePath.Length != 0) { - output.WriteRawTag(10); - output.WriteString(FilePath); - } - textDiffs_.WriteTo(ref output, _repeated_textDiffs_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (FilePath.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(FilePath); - } - size += textDiffs_.CalculateSize(_repeated_textDiffs_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(FileDiff other) { - if (other == null) { - return; - } - if (other.FilePath.Length != 0) { - FilePath = other.FilePath; - } - textDiffs_.Add(other.textDiffs_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - FilePath = input.ReadString(); - break; - } - case 18: { - textDiffs_.AddEntriesFrom(input, _repeated_textDiffs_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - FilePath = input.ReadString(); - break; - } - case 18: { - textDiffs_.AddEntriesFrom(ref input, _repeated_textDiffs_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Tell gauge to reset the kill timer, thus extending the life - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class KeepAlive : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new KeepAlive()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[45]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public KeepAlive() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public KeepAlive(KeepAlive other) : this() { - pluginId_ = other.pluginId_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public KeepAlive Clone() { - return new KeepAlive(this); - } - - /// Field number for the "pluginId" field. - public const int PluginIdFieldNumber = 1; - private string pluginId_ = ""; - /// - //// ID of the plugin initiating this request - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string PluginId { - get { return pluginId_; } - set { - pluginId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as KeepAlive); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(KeepAlive other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (PluginId != other.PluginId) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (PluginId.Length != 0) hash ^= PluginId.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (PluginId.Length != 0) { - output.WriteRawTag(10); - output.WriteString(PluginId); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (PluginId.Length != 0) { - output.WriteRawTag(10); - output.WriteString(PluginId); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (PluginId.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(PluginId); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(KeepAlive other) { - if (other == null) { - return; - } - if (other.PluginId.Length != 0) { - PluginId = other.PluginId; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - PluginId = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - PluginId = input.ReadString(); - break; - } - } - } - } - #endif - - } - - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class SpecDetails : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SpecDetails()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[46]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecDetails() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecDetails(SpecDetails other) : this() { - details_ = other.details_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecDetails Clone() { - return new SpecDetails(this); - } - - /// Field number for the "details" field. - public const int DetailsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_details_codec - = pb::FieldCodec.ForMessage(10, global::Gauge.Messages.SpecDetails.Types.SpecDetail.Parser); - private readonly pbc::RepeatedField details_ = new pbc::RepeatedField(); - /// - //// Holds a collection of Spec details. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Details { - get { return details_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SpecDetails); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SpecDetails other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!details_.Equals(other.details_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - hash ^= details_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - details_.WriteTo(output, _repeated_details_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - details_.WriteTo(ref output, _repeated_details_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - size += details_.CalculateSize(_repeated_details_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SpecDetails other) { - if (other == null) { - return; - } - details_.Add(other.details_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - details_.AddEntriesFrom(input, _repeated_details_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - details_.AddEntriesFrom(ref input, _repeated_details_codec); - break; - } - } - } - } - #endif - - #region Nested types - /// Container for nested types declared in the SpecDetails message type. - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static partial class Types { - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class SpecDetail : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SpecDetail()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecDetails.Descriptor.NestedTypes[0]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecDetail() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecDetail(SpecDetail other) : this() { - spec_ = other.spec_ != null ? other.spec_.Clone() : null; - parseErrors_ = other.parseErrors_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SpecDetail Clone() { - return new SpecDetail(this); - } - - /// Field number for the "spec" field. - public const int SpecFieldNumber = 1; - private global::Gauge.Messages.ProtoSpec spec_; - /// - //// Holds a collection of Specs that are defined in the project. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoSpec Spec { - get { return spec_; } - set { - spec_ = value; - } - } - - /// Field number for the "parseErrors" field. - public const int ParseErrorsFieldNumber = 2; - private static readonly pb::FieldCodec _repeated_parseErrors_codec - = pb::FieldCodec.ForMessage(18, global::Gauge.Messages.Error.Parser); - private readonly pbc::RepeatedField parseErrors_ = new pbc::RepeatedField(); - /// - //// Holds a collection of parse errors present in the above spec. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField ParseErrors { - get { return parseErrors_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SpecDetail); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SpecDetail other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(Spec, other.Spec)) return false; - if(!parseErrors_.Equals(other.parseErrors_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (spec_ != null) hash ^= Spec.GetHashCode(); - hash ^= parseErrors_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (spec_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Spec); - } - parseErrors_.WriteTo(output, _repeated_parseErrors_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (spec_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Spec); - } - parseErrors_.WriteTo(ref output, _repeated_parseErrors_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (spec_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Spec); - } - size += parseErrors_.CalculateSize(_repeated_parseErrors_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SpecDetail other) { - if (other == null) { - return; - } - if (other.spec_ != null) { - if (spec_ == null) { - Spec = new global::Gauge.Messages.ProtoSpec(); - } - Spec.MergeFrom(other.Spec); - } - parseErrors_.Add(other.parseErrors_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (spec_ == null) { - Spec = new global::Gauge.Messages.ProtoSpec(); - } - input.ReadMessage(Spec); - break; - } - case 18: { - parseErrors_.AddEntriesFrom(input, _repeated_parseErrors_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (spec_ == null) { - Spec = new global::Gauge.Messages.ProtoSpec(); - } - input.ReadMessage(Spec); - break; - } - case 18: { - parseErrors_.AddEntriesFrom(ref input, _repeated_parseErrors_codec); - break; - } - } - } - } - #endif - - } - - } - #endregion - - } - - /// - /// Empty is a blank response, to be used when there is no return expected. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class Empty : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Empty()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[47]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Empty() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Empty(Empty other) : this() { - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Empty Clone() { - return new Empty(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as Empty); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(Empty other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(Empty other) { - if (other == null) { - return; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - } - } - } - #endif - - } - - /// - //// This is the message which gets transferred all the time - //// with proper message type set - //// One of the Request/Response fields will have value, depending on the MessageType set. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class Message : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Message()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.MessagesReflection.Descriptor.MessageTypes[48]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Message() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Message(Message other) : this() { - messageType_ = other.messageType_; - messageId_ = other.messageId_; - executionStartingRequest_ = other.executionStartingRequest_ != null ? other.executionStartingRequest_.Clone() : null; - specExecutionStartingRequest_ = other.specExecutionStartingRequest_ != null ? other.specExecutionStartingRequest_.Clone() : null; - specExecutionEndingRequest_ = other.specExecutionEndingRequest_ != null ? other.specExecutionEndingRequest_.Clone() : null; - scenarioExecutionStartingRequest_ = other.scenarioExecutionStartingRequest_ != null ? other.scenarioExecutionStartingRequest_.Clone() : null; - scenarioExecutionEndingRequest_ = other.scenarioExecutionEndingRequest_ != null ? other.scenarioExecutionEndingRequest_.Clone() : null; - stepExecutionStartingRequest_ = other.stepExecutionStartingRequest_ != null ? other.stepExecutionStartingRequest_.Clone() : null; - stepExecutionEndingRequest_ = other.stepExecutionEndingRequest_ != null ? other.stepExecutionEndingRequest_.Clone() : null; - executeStepRequest_ = other.executeStepRequest_ != null ? other.executeStepRequest_.Clone() : null; - executionEndingRequest_ = other.executionEndingRequest_ != null ? other.executionEndingRequest_.Clone() : null; - stepValidateRequest_ = other.stepValidateRequest_ != null ? other.stepValidateRequest_.Clone() : null; - stepValidateResponse_ = other.stepValidateResponse_ != null ? other.stepValidateResponse_.Clone() : null; - executionStatusResponse_ = other.executionStatusResponse_ != null ? other.executionStatusResponse_.Clone() : null; - stepNamesRequest_ = other.stepNamesRequest_ != null ? other.stepNamesRequest_.Clone() : null; - stepNamesResponse_ = other.stepNamesResponse_ != null ? other.stepNamesResponse_.Clone() : null; - suiteExecutionResult_ = other.suiteExecutionResult_ != null ? other.suiteExecutionResult_.Clone() : null; - killProcessRequest_ = other.killProcessRequest_ != null ? other.killProcessRequest_.Clone() : null; - scenarioDataStoreInitRequest_ = other.scenarioDataStoreInitRequest_ != null ? other.scenarioDataStoreInitRequest_.Clone() : null; - specDataStoreInitRequest_ = other.specDataStoreInitRequest_ != null ? other.specDataStoreInitRequest_.Clone() : null; - suiteDataStoreInitRequest_ = other.suiteDataStoreInitRequest_ != null ? other.suiteDataStoreInitRequest_.Clone() : null; - stepNameRequest_ = other.stepNameRequest_ != null ? other.stepNameRequest_.Clone() : null; - stepNameResponse_ = other.stepNameResponse_ != null ? other.stepNameResponse_.Clone() : null; - refactorRequest_ = other.refactorRequest_ != null ? other.refactorRequest_.Clone() : null; - refactorResponse_ = other.refactorResponse_ != null ? other.refactorResponse_.Clone() : null; - unsupportedMessageResponse_ = other.unsupportedMessageResponse_ != null ? other.unsupportedMessageResponse_.Clone() : null; - cacheFileRequest_ = other.cacheFileRequest_ != null ? other.cacheFileRequest_.Clone() : null; - stepPositionsRequest_ = other.stepPositionsRequest_ != null ? other.stepPositionsRequest_.Clone() : null; - stepPositionsResponse_ = other.stepPositionsResponse_ != null ? other.stepPositionsResponse_.Clone() : null; - implementationFileListRequest_ = other.implementationFileListRequest_ != null ? other.implementationFileListRequest_.Clone() : null; - implementationFileListResponse_ = other.implementationFileListResponse_ != null ? other.implementationFileListResponse_.Clone() : null; - stubImplementationCodeRequest_ = other.stubImplementationCodeRequest_ != null ? other.stubImplementationCodeRequest_.Clone() : null; - fileDiff_ = other.fileDiff_ != null ? other.fileDiff_.Clone() : null; - implementationFileGlobPatternRequest_ = other.implementationFileGlobPatternRequest_ != null ? other.implementationFileGlobPatternRequest_.Clone() : null; - implementationFileGlobPatternResponse_ = other.implementationFileGlobPatternResponse_ != null ? other.implementationFileGlobPatternResponse_.Clone() : null; - suiteExecutionResultItem_ = other.suiteExecutionResultItem_ != null ? other.suiteExecutionResultItem_.Clone() : null; - keepAlive_ = other.keepAlive_ != null ? other.keepAlive_.Clone() : null; - conceptExecutionStartingRequest_ = other.conceptExecutionStartingRequest_ != null ? other.conceptExecutionStartingRequest_.Clone() : null; - conceptExecutionEndingRequest_ = other.conceptExecutionEndingRequest_ != null ? other.conceptExecutionEndingRequest_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Message Clone() { - return new Message(this); - } - - /// Field number for the "messageType" field. - public const int MessageTypeFieldNumber = 1; - private global::Gauge.Messages.Message.Types.MessageType messageType_ = global::Gauge.Messages.Message.Types.MessageType.ExecutionStarting; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.Message.Types.MessageType MessageType { - get { return messageType_; } - set { - messageType_ = value; - } - } - - /// Field number for the "messageId" field. - public const int MessageIdFieldNumber = 2; - private long messageId_; - /// - //// A unique id to represent this message. A response to the message should copy over this value. - //// This is used to synchronize messages & responses - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long MessageId { - get { return messageId_; } - set { - messageId_ = value; - } - } - - /// Field number for the "executionStartingRequest" field. - public const int ExecutionStartingRequestFieldNumber = 3; - private global::Gauge.Messages.ExecutionStartingRequest executionStartingRequest_; - /// - //// [ExecutionStartingRequest](#gauge.messages.ExecutionStartingRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecutionStartingRequest ExecutionStartingRequest { - get { return executionStartingRequest_; } - set { - executionStartingRequest_ = value; - } - } - - /// Field number for the "specExecutionStartingRequest" field. - public const int SpecExecutionStartingRequestFieldNumber = 4; - private global::Gauge.Messages.SpecExecutionStartingRequest specExecutionStartingRequest_; - /// - //// [SpecExecutionStartingRequest](#gauge.messages.SpecExecutionStartingRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.SpecExecutionStartingRequest SpecExecutionStartingRequest { - get { return specExecutionStartingRequest_; } - set { - specExecutionStartingRequest_ = value; - } - } - - /// Field number for the "specExecutionEndingRequest" field. - public const int SpecExecutionEndingRequestFieldNumber = 5; - private global::Gauge.Messages.SpecExecutionEndingRequest specExecutionEndingRequest_; - /// - //// [SpecExecutionEndingRequest](#gauge.messages.SpecExecutionEndingRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.SpecExecutionEndingRequest SpecExecutionEndingRequest { - get { return specExecutionEndingRequest_; } - set { - specExecutionEndingRequest_ = value; - } - } - - /// Field number for the "scenarioExecutionStartingRequest" field. - public const int ScenarioExecutionStartingRequestFieldNumber = 6; - private global::Gauge.Messages.ScenarioExecutionStartingRequest scenarioExecutionStartingRequest_; - /// - //// [ScenarioExecutionStartingRequest](#gauge.messages.ScenarioExecutionStartingRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ScenarioExecutionStartingRequest ScenarioExecutionStartingRequest { - get { return scenarioExecutionStartingRequest_; } - set { - scenarioExecutionStartingRequest_ = value; - } - } - - /// Field number for the "scenarioExecutionEndingRequest" field. - public const int ScenarioExecutionEndingRequestFieldNumber = 7; - private global::Gauge.Messages.ScenarioExecutionEndingRequest scenarioExecutionEndingRequest_; - /// - //// [ScenarioExecutionEndingRequest](#gauge.messages.ScenarioExecutionEndingRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ScenarioExecutionEndingRequest ScenarioExecutionEndingRequest { - get { return scenarioExecutionEndingRequest_; } - set { - scenarioExecutionEndingRequest_ = value; - } - } - - /// Field number for the "stepExecutionStartingRequest" field. - public const int StepExecutionStartingRequestFieldNumber = 8; - private global::Gauge.Messages.StepExecutionStartingRequest stepExecutionStartingRequest_; - /// - //// [StepExecutionStartingRequest](#gauge.messages.StepExecutionStartingRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.StepExecutionStartingRequest StepExecutionStartingRequest { - get { return stepExecutionStartingRequest_; } - set { - stepExecutionStartingRequest_ = value; - } - } - - /// Field number for the "stepExecutionEndingRequest" field. - public const int StepExecutionEndingRequestFieldNumber = 9; - private global::Gauge.Messages.StepExecutionEndingRequest stepExecutionEndingRequest_; - /// - //// [StepExecutionEndingRequest](#gauge.messages.StepExecutionEndingRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.StepExecutionEndingRequest StepExecutionEndingRequest { - get { return stepExecutionEndingRequest_; } - set { - stepExecutionEndingRequest_ = value; - } - } - - /// Field number for the "executeStepRequest" field. - public const int ExecuteStepRequestFieldNumber = 10; - private global::Gauge.Messages.ExecuteStepRequest executeStepRequest_; - /// - //// [ExecuteStepRequest](#gauge.messages.ExecuteStepRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecuteStepRequest ExecuteStepRequest { - get { return executeStepRequest_; } - set { - executeStepRequest_ = value; - } - } - - /// Field number for the "executionEndingRequest" field. - public const int ExecutionEndingRequestFieldNumber = 11; - private global::Gauge.Messages.ExecutionEndingRequest executionEndingRequest_; - /// - //// [ExecutionEndingRequest](#gauge.messages.ExecutionEndingRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecutionEndingRequest ExecutionEndingRequest { - get { return executionEndingRequest_; } - set { - executionEndingRequest_ = value; - } - } - - /// Field number for the "stepValidateRequest" field. - public const int StepValidateRequestFieldNumber = 12; - private global::Gauge.Messages.StepValidateRequest stepValidateRequest_; - /// - //// [StepValidateRequest](#gauge.messages.StepValidateRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.StepValidateRequest StepValidateRequest { - get { return stepValidateRequest_; } - set { - stepValidateRequest_ = value; - } - } - - /// Field number for the "stepValidateResponse" field. - public const int StepValidateResponseFieldNumber = 13; - private global::Gauge.Messages.StepValidateResponse stepValidateResponse_; - /// - //// [StepValidateResponse](#gauge.messages.StepValidateResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.StepValidateResponse StepValidateResponse { - get { return stepValidateResponse_; } - set { - stepValidateResponse_ = value; - } - } - - /// Field number for the "executionStatusResponse" field. - public const int ExecutionStatusResponseFieldNumber = 14; - private global::Gauge.Messages.ExecutionStatusResponse executionStatusResponse_; - /// - //// [ExecutionStatusResponse](#gauge.messages.ExecutionStatusResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecutionStatusResponse ExecutionStatusResponse { - get { return executionStatusResponse_; } - set { - executionStatusResponse_ = value; - } - } - - /// Field number for the "stepNamesRequest" field. - public const int StepNamesRequestFieldNumber = 15; - private global::Gauge.Messages.StepNamesRequest stepNamesRequest_; - /// - //// [StepNamesRequest](#gauge.messages.StepNamesRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.StepNamesRequest StepNamesRequest { - get { return stepNamesRequest_; } - set { - stepNamesRequest_ = value; - } - } - - /// Field number for the "stepNamesResponse" field. - public const int StepNamesResponseFieldNumber = 16; - private global::Gauge.Messages.StepNamesResponse stepNamesResponse_; - /// - //// [StepNamesResponse](#gauge.messages.StepNamesResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.StepNamesResponse StepNamesResponse { - get { return stepNamesResponse_; } - set { - stepNamesResponse_ = value; - } - } - - /// Field number for the "suiteExecutionResult" field. - public const int SuiteExecutionResultFieldNumber = 17; - private global::Gauge.Messages.SuiteExecutionResult suiteExecutionResult_; - /// - //// [SuiteExecutionResult ](#gauge.messages.SuiteExecutionResult ) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.SuiteExecutionResult SuiteExecutionResult { - get { return suiteExecutionResult_; } - set { - suiteExecutionResult_ = value; - } - } - - /// Field number for the "killProcessRequest" field. - public const int KillProcessRequestFieldNumber = 18; - private global::Gauge.Messages.KillProcessRequest killProcessRequest_; - /// - //// [KillProcessRequest](#gauge.messages.KillProcessRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.KillProcessRequest KillProcessRequest { - get { return killProcessRequest_; } - set { - killProcessRequest_ = value; - } - } - - /// Field number for the "scenarioDataStoreInitRequest" field. - public const int ScenarioDataStoreInitRequestFieldNumber = 19; - private global::Gauge.Messages.ScenarioDataStoreInitRequest scenarioDataStoreInitRequest_; - /// - //// [ScenarioDataStoreInitRequest](#gauge.messages.ScenarioDataStoreInitRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ScenarioDataStoreInitRequest ScenarioDataStoreInitRequest { - get { return scenarioDataStoreInitRequest_; } - set { - scenarioDataStoreInitRequest_ = value; - } - } - - /// Field number for the "specDataStoreInitRequest" field. - public const int SpecDataStoreInitRequestFieldNumber = 20; - private global::Gauge.Messages.SpecDataStoreInitRequest specDataStoreInitRequest_; - /// - //// [SpecDataStoreInitRequest](#gauge.messages.SpecDataStoreInitRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.SpecDataStoreInitRequest SpecDataStoreInitRequest { - get { return specDataStoreInitRequest_; } - set { - specDataStoreInitRequest_ = value; - } - } - - /// Field number for the "suiteDataStoreInitRequest" field. - public const int SuiteDataStoreInitRequestFieldNumber = 21; - private global::Gauge.Messages.SuiteDataStoreInitRequest suiteDataStoreInitRequest_; - /// - //// [SuiteDataStoreInitRequest](#gauge.messages.SuiteDataStoreInitRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.SuiteDataStoreInitRequest SuiteDataStoreInitRequest { - get { return suiteDataStoreInitRequest_; } - set { - suiteDataStoreInitRequest_ = value; - } - } - - /// Field number for the "stepNameRequest" field. - public const int StepNameRequestFieldNumber = 22; - private global::Gauge.Messages.StepNameRequest stepNameRequest_; - /// - //// [StepNameRequest](#gauge.messages.StepNameRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.StepNameRequest StepNameRequest { - get { return stepNameRequest_; } - set { - stepNameRequest_ = value; - } - } - - /// Field number for the "stepNameResponse" field. - public const int StepNameResponseFieldNumber = 23; - private global::Gauge.Messages.StepNameResponse stepNameResponse_; - /// - //// [StepNameResponse](#gauge.messages.StepNameResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.StepNameResponse StepNameResponse { - get { return stepNameResponse_; } - set { - stepNameResponse_ = value; - } - } - - /// Field number for the "refactorRequest" field. - public const int RefactorRequestFieldNumber = 24; - private global::Gauge.Messages.RefactorRequest refactorRequest_; - /// - //// [RefactorRequest](#gauge.messages.RefactorRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.RefactorRequest RefactorRequest { - get { return refactorRequest_; } - set { - refactorRequest_ = value; - } - } - - /// Field number for the "refactorResponse" field. - public const int RefactorResponseFieldNumber = 25; - private global::Gauge.Messages.RefactorResponse refactorResponse_; - /// - //// [RefactorResponse](#gauge.messages.RefactorResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.RefactorResponse RefactorResponse { - get { return refactorResponse_; } - set { - refactorResponse_ = value; - } - } - - /// Field number for the "unsupportedMessageResponse" field. - public const int UnsupportedMessageResponseFieldNumber = 26; - private global::Gauge.Messages.UnsupportedMessageResponse unsupportedMessageResponse_; - /// - //// [UnsupportedMessageResponse](#gauge.messages.UnsupportedMessageResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.UnsupportedMessageResponse UnsupportedMessageResponse { - get { return unsupportedMessageResponse_; } - set { - unsupportedMessageResponse_ = value; - } - } - - /// Field number for the "cacheFileRequest" field. - public const int CacheFileRequestFieldNumber = 27; - private global::Gauge.Messages.CacheFileRequest cacheFileRequest_; - /// - //// [CacheFileRequest](#gauge.messages.CacheFileRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.CacheFileRequest CacheFileRequest { - get { return cacheFileRequest_; } - set { - cacheFileRequest_ = value; - } - } - - /// Field number for the "stepPositionsRequest" field. - public const int StepPositionsRequestFieldNumber = 28; - private global::Gauge.Messages.StepPositionsRequest stepPositionsRequest_; - /// - //// [StepPositionsRequest](#gauge.messages.StepPositionsRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.StepPositionsRequest StepPositionsRequest { - get { return stepPositionsRequest_; } - set { - stepPositionsRequest_ = value; - } - } - - /// Field number for the "stepPositionsResponse" field. - public const int StepPositionsResponseFieldNumber = 29; - private global::Gauge.Messages.StepPositionsResponse stepPositionsResponse_; - /// - //// [StepPositionsResponse](#gauge.messages.StepPositionsResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.StepPositionsResponse StepPositionsResponse { - get { return stepPositionsResponse_; } - set { - stepPositionsResponse_ = value; - } - } - - /// Field number for the "implementationFileListRequest" field. - public const int ImplementationFileListRequestFieldNumber = 30; - private global::Gauge.Messages.ImplementationFileListRequest implementationFileListRequest_; - /// - //// [ImplementationFileListRequest](#gauge.messages.ImplementationFileListRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ImplementationFileListRequest ImplementationFileListRequest { - get { return implementationFileListRequest_; } - set { - implementationFileListRequest_ = value; - } - } - - /// Field number for the "implementationFileListResponse" field. - public const int ImplementationFileListResponseFieldNumber = 31; - private global::Gauge.Messages.ImplementationFileListResponse implementationFileListResponse_; - /// - //// [ImplementationFileListResponse](#gauge.messages.ImplementationFileListResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ImplementationFileListResponse ImplementationFileListResponse { - get { return implementationFileListResponse_; } - set { - implementationFileListResponse_ = value; - } - } - - /// Field number for the "stubImplementationCodeRequest" field. - public const int StubImplementationCodeRequestFieldNumber = 32; - private global::Gauge.Messages.StubImplementationCodeRequest stubImplementationCodeRequest_; - /// - //// [StubImplementationCodeRequest](#gauge.messages.StubImplementationCodeRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.StubImplementationCodeRequest StubImplementationCodeRequest { - get { return stubImplementationCodeRequest_; } - set { - stubImplementationCodeRequest_ = value; - } - } - - /// Field number for the "fileDiff" field. - public const int FileDiffFieldNumber = 33; - private global::Gauge.Messages.FileDiff fileDiff_; - /// - //// [FileDiff](#gauge.messages.FileDiff) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.FileDiff FileDiff { - get { return fileDiff_; } - set { - fileDiff_ = value; - } - } - - /// Field number for the "implementationFileGlobPatternRequest" field. - public const int ImplementationFileGlobPatternRequestFieldNumber = 34; - private global::Gauge.Messages.ImplementationFileGlobPatternRequest implementationFileGlobPatternRequest_; - /// - //// [ImplementationFileGlobPatternRequest](#gauge.messages.ImplementationFileGlobPatternRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ImplementationFileGlobPatternRequest ImplementationFileGlobPatternRequest { - get { return implementationFileGlobPatternRequest_; } - set { - implementationFileGlobPatternRequest_ = value; - } - } - - /// Field number for the "implementationFileGlobPatternResponse" field. - public const int ImplementationFileGlobPatternResponseFieldNumber = 35; - private global::Gauge.Messages.ImplementationFileGlobPatternResponse implementationFileGlobPatternResponse_; - /// - //// [ImplementationFileGlobPatternResponse](#gauge.messages.ImplementationFileGlobPatternResponse) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ImplementationFileGlobPatternResponse ImplementationFileGlobPatternResponse { - get { return implementationFileGlobPatternResponse_; } - set { - implementationFileGlobPatternResponse_ = value; - } - } - - /// Field number for the "suiteExecutionResultItem" field. - public const int SuiteExecutionResultItemFieldNumber = 36; - private global::Gauge.Messages.SuiteExecutionResultItem suiteExecutionResultItem_; - /// - //// [SuiteExecutionResult ](#gauge.messages.SuiteExecutionResult ) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.SuiteExecutionResultItem SuiteExecutionResultItem { - get { return suiteExecutionResultItem_; } - set { - suiteExecutionResultItem_ = value; - } - } - - /// Field number for the "keepAlive" field. - public const int KeepAliveFieldNumber = 37; - private global::Gauge.Messages.KeepAlive keepAlive_; - /// - //// [KeepAlive ](#gauge.messages.KeepAlive ) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.KeepAlive KeepAlive { - get { return keepAlive_; } - set { - keepAlive_ = value; - } - } - - /// Field number for the "conceptExecutionStartingRequest" field. - public const int ConceptExecutionStartingRequestFieldNumber = 38; - private global::Gauge.Messages.ConceptExecutionStartingRequest conceptExecutionStartingRequest_; - /// - //// [ConceptExecutionStartingRequest](#gauge.messages.ConceptExecutionStartingRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ConceptExecutionStartingRequest ConceptExecutionStartingRequest { - get { return conceptExecutionStartingRequest_; } - set { - conceptExecutionStartingRequest_ = value; - } - } - - /// Field number for the "conceptExecutionEndingRequest" field. - public const int ConceptExecutionEndingRequestFieldNumber = 39; - private global::Gauge.Messages.ConceptExecutionEndingRequest conceptExecutionEndingRequest_; - /// - //// [ConceptExecutionEndingRequest](#gauge.messages.ConceptExecutionEndingRequest) - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ConceptExecutionEndingRequest ConceptExecutionEndingRequest { - get { return conceptExecutionEndingRequest_; } - set { - conceptExecutionEndingRequest_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as Message); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(Message other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (MessageType != other.MessageType) return false; - if (MessageId != other.MessageId) return false; - if (!object.Equals(ExecutionStartingRequest, other.ExecutionStartingRequest)) return false; - if (!object.Equals(SpecExecutionStartingRequest, other.SpecExecutionStartingRequest)) return false; - if (!object.Equals(SpecExecutionEndingRequest, other.SpecExecutionEndingRequest)) return false; - if (!object.Equals(ScenarioExecutionStartingRequest, other.ScenarioExecutionStartingRequest)) return false; - if (!object.Equals(ScenarioExecutionEndingRequest, other.ScenarioExecutionEndingRequest)) return false; - if (!object.Equals(StepExecutionStartingRequest, other.StepExecutionStartingRequest)) return false; - if (!object.Equals(StepExecutionEndingRequest, other.StepExecutionEndingRequest)) return false; - if (!object.Equals(ExecuteStepRequest, other.ExecuteStepRequest)) return false; - if (!object.Equals(ExecutionEndingRequest, other.ExecutionEndingRequest)) return false; - if (!object.Equals(StepValidateRequest, other.StepValidateRequest)) return false; - if (!object.Equals(StepValidateResponse, other.StepValidateResponse)) return false; - if (!object.Equals(ExecutionStatusResponse, other.ExecutionStatusResponse)) return false; - if (!object.Equals(StepNamesRequest, other.StepNamesRequest)) return false; - if (!object.Equals(StepNamesResponse, other.StepNamesResponse)) return false; - if (!object.Equals(SuiteExecutionResult, other.SuiteExecutionResult)) return false; - if (!object.Equals(KillProcessRequest, other.KillProcessRequest)) return false; - if (!object.Equals(ScenarioDataStoreInitRequest, other.ScenarioDataStoreInitRequest)) return false; - if (!object.Equals(SpecDataStoreInitRequest, other.SpecDataStoreInitRequest)) return false; - if (!object.Equals(SuiteDataStoreInitRequest, other.SuiteDataStoreInitRequest)) return false; - if (!object.Equals(StepNameRequest, other.StepNameRequest)) return false; - if (!object.Equals(StepNameResponse, other.StepNameResponse)) return false; - if (!object.Equals(RefactorRequest, other.RefactorRequest)) return false; - if (!object.Equals(RefactorResponse, other.RefactorResponse)) return false; - if (!object.Equals(UnsupportedMessageResponse, other.UnsupportedMessageResponse)) return false; - if (!object.Equals(CacheFileRequest, other.CacheFileRequest)) return false; - if (!object.Equals(StepPositionsRequest, other.StepPositionsRequest)) return false; - if (!object.Equals(StepPositionsResponse, other.StepPositionsResponse)) return false; - if (!object.Equals(ImplementationFileListRequest, other.ImplementationFileListRequest)) return false; - if (!object.Equals(ImplementationFileListResponse, other.ImplementationFileListResponse)) return false; - if (!object.Equals(StubImplementationCodeRequest, other.StubImplementationCodeRequest)) return false; - if (!object.Equals(FileDiff, other.FileDiff)) return false; - if (!object.Equals(ImplementationFileGlobPatternRequest, other.ImplementationFileGlobPatternRequest)) return false; - if (!object.Equals(ImplementationFileGlobPatternResponse, other.ImplementationFileGlobPatternResponse)) return false; - if (!object.Equals(SuiteExecutionResultItem, other.SuiteExecutionResultItem)) return false; - if (!object.Equals(KeepAlive, other.KeepAlive)) return false; - if (!object.Equals(ConceptExecutionStartingRequest, other.ConceptExecutionStartingRequest)) return false; - if (!object.Equals(ConceptExecutionEndingRequest, other.ConceptExecutionEndingRequest)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (MessageType != global::Gauge.Messages.Message.Types.MessageType.ExecutionStarting) hash ^= MessageType.GetHashCode(); - if (MessageId != 0L) hash ^= MessageId.GetHashCode(); - if (executionStartingRequest_ != null) hash ^= ExecutionStartingRequest.GetHashCode(); - if (specExecutionStartingRequest_ != null) hash ^= SpecExecutionStartingRequest.GetHashCode(); - if (specExecutionEndingRequest_ != null) hash ^= SpecExecutionEndingRequest.GetHashCode(); - if (scenarioExecutionStartingRequest_ != null) hash ^= ScenarioExecutionStartingRequest.GetHashCode(); - if (scenarioExecutionEndingRequest_ != null) hash ^= ScenarioExecutionEndingRequest.GetHashCode(); - if (stepExecutionStartingRequest_ != null) hash ^= StepExecutionStartingRequest.GetHashCode(); - if (stepExecutionEndingRequest_ != null) hash ^= StepExecutionEndingRequest.GetHashCode(); - if (executeStepRequest_ != null) hash ^= ExecuteStepRequest.GetHashCode(); - if (executionEndingRequest_ != null) hash ^= ExecutionEndingRequest.GetHashCode(); - if (stepValidateRequest_ != null) hash ^= StepValidateRequest.GetHashCode(); - if (stepValidateResponse_ != null) hash ^= StepValidateResponse.GetHashCode(); - if (executionStatusResponse_ != null) hash ^= ExecutionStatusResponse.GetHashCode(); - if (stepNamesRequest_ != null) hash ^= StepNamesRequest.GetHashCode(); - if (stepNamesResponse_ != null) hash ^= StepNamesResponse.GetHashCode(); - if (suiteExecutionResult_ != null) hash ^= SuiteExecutionResult.GetHashCode(); - if (killProcessRequest_ != null) hash ^= KillProcessRequest.GetHashCode(); - if (scenarioDataStoreInitRequest_ != null) hash ^= ScenarioDataStoreInitRequest.GetHashCode(); - if (specDataStoreInitRequest_ != null) hash ^= SpecDataStoreInitRequest.GetHashCode(); - if (suiteDataStoreInitRequest_ != null) hash ^= SuiteDataStoreInitRequest.GetHashCode(); - if (stepNameRequest_ != null) hash ^= StepNameRequest.GetHashCode(); - if (stepNameResponse_ != null) hash ^= StepNameResponse.GetHashCode(); - if (refactorRequest_ != null) hash ^= RefactorRequest.GetHashCode(); - if (refactorResponse_ != null) hash ^= RefactorResponse.GetHashCode(); - if (unsupportedMessageResponse_ != null) hash ^= UnsupportedMessageResponse.GetHashCode(); - if (cacheFileRequest_ != null) hash ^= CacheFileRequest.GetHashCode(); - if (stepPositionsRequest_ != null) hash ^= StepPositionsRequest.GetHashCode(); - if (stepPositionsResponse_ != null) hash ^= StepPositionsResponse.GetHashCode(); - if (implementationFileListRequest_ != null) hash ^= ImplementationFileListRequest.GetHashCode(); - if (implementationFileListResponse_ != null) hash ^= ImplementationFileListResponse.GetHashCode(); - if (stubImplementationCodeRequest_ != null) hash ^= StubImplementationCodeRequest.GetHashCode(); - if (fileDiff_ != null) hash ^= FileDiff.GetHashCode(); - if (implementationFileGlobPatternRequest_ != null) hash ^= ImplementationFileGlobPatternRequest.GetHashCode(); - if (implementationFileGlobPatternResponse_ != null) hash ^= ImplementationFileGlobPatternResponse.GetHashCode(); - if (suiteExecutionResultItem_ != null) hash ^= SuiteExecutionResultItem.GetHashCode(); - if (keepAlive_ != null) hash ^= KeepAlive.GetHashCode(); - if (conceptExecutionStartingRequest_ != null) hash ^= ConceptExecutionStartingRequest.GetHashCode(); - if (conceptExecutionEndingRequest_ != null) hash ^= ConceptExecutionEndingRequest.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (MessageType != global::Gauge.Messages.Message.Types.MessageType.ExecutionStarting) { - output.WriteRawTag(8); - output.WriteEnum((int) MessageType); - } - if (MessageId != 0L) { - output.WriteRawTag(16); - output.WriteInt64(MessageId); - } - if (executionStartingRequest_ != null) { - output.WriteRawTag(26); - output.WriteMessage(ExecutionStartingRequest); - } - if (specExecutionStartingRequest_ != null) { - output.WriteRawTag(34); - output.WriteMessage(SpecExecutionStartingRequest); - } - if (specExecutionEndingRequest_ != null) { - output.WriteRawTag(42); - output.WriteMessage(SpecExecutionEndingRequest); - } - if (scenarioExecutionStartingRequest_ != null) { - output.WriteRawTag(50); - output.WriteMessage(ScenarioExecutionStartingRequest); - } - if (scenarioExecutionEndingRequest_ != null) { - output.WriteRawTag(58); - output.WriteMessage(ScenarioExecutionEndingRequest); - } - if (stepExecutionStartingRequest_ != null) { - output.WriteRawTag(66); - output.WriteMessage(StepExecutionStartingRequest); - } - if (stepExecutionEndingRequest_ != null) { - output.WriteRawTag(74); - output.WriteMessage(StepExecutionEndingRequest); - } - if (executeStepRequest_ != null) { - output.WriteRawTag(82); - output.WriteMessage(ExecuteStepRequest); - } - if (executionEndingRequest_ != null) { - output.WriteRawTag(90); - output.WriteMessage(ExecutionEndingRequest); - } - if (stepValidateRequest_ != null) { - output.WriteRawTag(98); - output.WriteMessage(StepValidateRequest); - } - if (stepValidateResponse_ != null) { - output.WriteRawTag(106); - output.WriteMessage(StepValidateResponse); - } - if (executionStatusResponse_ != null) { - output.WriteRawTag(114); - output.WriteMessage(ExecutionStatusResponse); - } - if (stepNamesRequest_ != null) { - output.WriteRawTag(122); - output.WriteMessage(StepNamesRequest); - } - if (stepNamesResponse_ != null) { - output.WriteRawTag(130, 1); - output.WriteMessage(StepNamesResponse); - } - if (suiteExecutionResult_ != null) { - output.WriteRawTag(138, 1); - output.WriteMessage(SuiteExecutionResult); - } - if (killProcessRequest_ != null) { - output.WriteRawTag(146, 1); - output.WriteMessage(KillProcessRequest); - } - if (scenarioDataStoreInitRequest_ != null) { - output.WriteRawTag(154, 1); - output.WriteMessage(ScenarioDataStoreInitRequest); - } - if (specDataStoreInitRequest_ != null) { - output.WriteRawTag(162, 1); - output.WriteMessage(SpecDataStoreInitRequest); - } - if (suiteDataStoreInitRequest_ != null) { - output.WriteRawTag(170, 1); - output.WriteMessage(SuiteDataStoreInitRequest); - } - if (stepNameRequest_ != null) { - output.WriteRawTag(178, 1); - output.WriteMessage(StepNameRequest); - } - if (stepNameResponse_ != null) { - output.WriteRawTag(186, 1); - output.WriteMessage(StepNameResponse); - } - if (refactorRequest_ != null) { - output.WriteRawTag(194, 1); - output.WriteMessage(RefactorRequest); - } - if (refactorResponse_ != null) { - output.WriteRawTag(202, 1); - output.WriteMessage(RefactorResponse); - } - if (unsupportedMessageResponse_ != null) { - output.WriteRawTag(210, 1); - output.WriteMessage(UnsupportedMessageResponse); - } - if (cacheFileRequest_ != null) { - output.WriteRawTag(218, 1); - output.WriteMessage(CacheFileRequest); - } - if (stepPositionsRequest_ != null) { - output.WriteRawTag(226, 1); - output.WriteMessage(StepPositionsRequest); - } - if (stepPositionsResponse_ != null) { - output.WriteRawTag(234, 1); - output.WriteMessage(StepPositionsResponse); - } - if (implementationFileListRequest_ != null) { - output.WriteRawTag(242, 1); - output.WriteMessage(ImplementationFileListRequest); - } - if (implementationFileListResponse_ != null) { - output.WriteRawTag(250, 1); - output.WriteMessage(ImplementationFileListResponse); - } - if (stubImplementationCodeRequest_ != null) { - output.WriteRawTag(130, 2); - output.WriteMessage(StubImplementationCodeRequest); - } - if (fileDiff_ != null) { - output.WriteRawTag(138, 2); - output.WriteMessage(FileDiff); - } - if (implementationFileGlobPatternRequest_ != null) { - output.WriteRawTag(146, 2); - output.WriteMessage(ImplementationFileGlobPatternRequest); - } - if (implementationFileGlobPatternResponse_ != null) { - output.WriteRawTag(154, 2); - output.WriteMessage(ImplementationFileGlobPatternResponse); - } - if (suiteExecutionResultItem_ != null) { - output.WriteRawTag(162, 2); - output.WriteMessage(SuiteExecutionResultItem); - } - if (keepAlive_ != null) { - output.WriteRawTag(170, 2); - output.WriteMessage(KeepAlive); - } - if (conceptExecutionStartingRequest_ != null) { - output.WriteRawTag(178, 2); - output.WriteMessage(ConceptExecutionStartingRequest); - } - if (conceptExecutionEndingRequest_ != null) { - output.WriteRawTag(186, 2); - output.WriteMessage(ConceptExecutionEndingRequest); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (MessageType != global::Gauge.Messages.Message.Types.MessageType.ExecutionStarting) { - output.WriteRawTag(8); - output.WriteEnum((int) MessageType); - } - if (MessageId != 0L) { - output.WriteRawTag(16); - output.WriteInt64(MessageId); - } - if (executionStartingRequest_ != null) { - output.WriteRawTag(26); - output.WriteMessage(ExecutionStartingRequest); - } - if (specExecutionStartingRequest_ != null) { - output.WriteRawTag(34); - output.WriteMessage(SpecExecutionStartingRequest); - } - if (specExecutionEndingRequest_ != null) { - output.WriteRawTag(42); - output.WriteMessage(SpecExecutionEndingRequest); - } - if (scenarioExecutionStartingRequest_ != null) { - output.WriteRawTag(50); - output.WriteMessage(ScenarioExecutionStartingRequest); - } - if (scenarioExecutionEndingRequest_ != null) { - output.WriteRawTag(58); - output.WriteMessage(ScenarioExecutionEndingRequest); - } - if (stepExecutionStartingRequest_ != null) { - output.WriteRawTag(66); - output.WriteMessage(StepExecutionStartingRequest); - } - if (stepExecutionEndingRequest_ != null) { - output.WriteRawTag(74); - output.WriteMessage(StepExecutionEndingRequest); - } - if (executeStepRequest_ != null) { - output.WriteRawTag(82); - output.WriteMessage(ExecuteStepRequest); - } - if (executionEndingRequest_ != null) { - output.WriteRawTag(90); - output.WriteMessage(ExecutionEndingRequest); - } - if (stepValidateRequest_ != null) { - output.WriteRawTag(98); - output.WriteMessage(StepValidateRequest); - } - if (stepValidateResponse_ != null) { - output.WriteRawTag(106); - output.WriteMessage(StepValidateResponse); - } - if (executionStatusResponse_ != null) { - output.WriteRawTag(114); - output.WriteMessage(ExecutionStatusResponse); - } - if (stepNamesRequest_ != null) { - output.WriteRawTag(122); - output.WriteMessage(StepNamesRequest); - } - if (stepNamesResponse_ != null) { - output.WriteRawTag(130, 1); - output.WriteMessage(StepNamesResponse); - } - if (suiteExecutionResult_ != null) { - output.WriteRawTag(138, 1); - output.WriteMessage(SuiteExecutionResult); - } - if (killProcessRequest_ != null) { - output.WriteRawTag(146, 1); - output.WriteMessage(KillProcessRequest); - } - if (scenarioDataStoreInitRequest_ != null) { - output.WriteRawTag(154, 1); - output.WriteMessage(ScenarioDataStoreInitRequest); - } - if (specDataStoreInitRequest_ != null) { - output.WriteRawTag(162, 1); - output.WriteMessage(SpecDataStoreInitRequest); - } - if (suiteDataStoreInitRequest_ != null) { - output.WriteRawTag(170, 1); - output.WriteMessage(SuiteDataStoreInitRequest); - } - if (stepNameRequest_ != null) { - output.WriteRawTag(178, 1); - output.WriteMessage(StepNameRequest); - } - if (stepNameResponse_ != null) { - output.WriteRawTag(186, 1); - output.WriteMessage(StepNameResponse); - } - if (refactorRequest_ != null) { - output.WriteRawTag(194, 1); - output.WriteMessage(RefactorRequest); - } - if (refactorResponse_ != null) { - output.WriteRawTag(202, 1); - output.WriteMessage(RefactorResponse); - } - if (unsupportedMessageResponse_ != null) { - output.WriteRawTag(210, 1); - output.WriteMessage(UnsupportedMessageResponse); - } - if (cacheFileRequest_ != null) { - output.WriteRawTag(218, 1); - output.WriteMessage(CacheFileRequest); - } - if (stepPositionsRequest_ != null) { - output.WriteRawTag(226, 1); - output.WriteMessage(StepPositionsRequest); - } - if (stepPositionsResponse_ != null) { - output.WriteRawTag(234, 1); - output.WriteMessage(StepPositionsResponse); - } - if (implementationFileListRequest_ != null) { - output.WriteRawTag(242, 1); - output.WriteMessage(ImplementationFileListRequest); - } - if (implementationFileListResponse_ != null) { - output.WriteRawTag(250, 1); - output.WriteMessage(ImplementationFileListResponse); - } - if (stubImplementationCodeRequest_ != null) { - output.WriteRawTag(130, 2); - output.WriteMessage(StubImplementationCodeRequest); - } - if (fileDiff_ != null) { - output.WriteRawTag(138, 2); - output.WriteMessage(FileDiff); - } - if (implementationFileGlobPatternRequest_ != null) { - output.WriteRawTag(146, 2); - output.WriteMessage(ImplementationFileGlobPatternRequest); - } - if (implementationFileGlobPatternResponse_ != null) { - output.WriteRawTag(154, 2); - output.WriteMessage(ImplementationFileGlobPatternResponse); - } - if (suiteExecutionResultItem_ != null) { - output.WriteRawTag(162, 2); - output.WriteMessage(SuiteExecutionResultItem); - } - if (keepAlive_ != null) { - output.WriteRawTag(170, 2); - output.WriteMessage(KeepAlive); - } - if (conceptExecutionStartingRequest_ != null) { - output.WriteRawTag(178, 2); - output.WriteMessage(ConceptExecutionStartingRequest); - } - if (conceptExecutionEndingRequest_ != null) { - output.WriteRawTag(186, 2); - output.WriteMessage(ConceptExecutionEndingRequest); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (MessageType != global::Gauge.Messages.Message.Types.MessageType.ExecutionStarting) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) MessageType); - } - if (MessageId != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(MessageId); - } - if (executionStartingRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ExecutionStartingRequest); - } - if (specExecutionStartingRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpecExecutionStartingRequest); - } - if (specExecutionEndingRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpecExecutionEndingRequest); - } - if (scenarioExecutionStartingRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ScenarioExecutionStartingRequest); - } - if (scenarioExecutionEndingRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ScenarioExecutionEndingRequest); - } - if (stepExecutionStartingRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepExecutionStartingRequest); - } - if (stepExecutionEndingRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepExecutionEndingRequest); - } - if (executeStepRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ExecuteStepRequest); - } - if (executionEndingRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ExecutionEndingRequest); - } - if (stepValidateRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepValidateRequest); - } - if (stepValidateResponse_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepValidateResponse); - } - if (executionStatusResponse_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ExecutionStatusResponse); - } - if (stepNamesRequest_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepNamesRequest); - } - if (stepNamesResponse_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(StepNamesResponse); - } - if (suiteExecutionResult_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(SuiteExecutionResult); - } - if (killProcessRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(KillProcessRequest); - } - if (scenarioDataStoreInitRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(ScenarioDataStoreInitRequest); - } - if (specDataStoreInitRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(SpecDataStoreInitRequest); - } - if (suiteDataStoreInitRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(SuiteDataStoreInitRequest); - } - if (stepNameRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(StepNameRequest); - } - if (stepNameResponse_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(StepNameResponse); - } - if (refactorRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(RefactorRequest); - } - if (refactorResponse_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(RefactorResponse); - } - if (unsupportedMessageResponse_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(UnsupportedMessageResponse); - } - if (cacheFileRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(CacheFileRequest); - } - if (stepPositionsRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(StepPositionsRequest); - } - if (stepPositionsResponse_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(StepPositionsResponse); - } - if (implementationFileListRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(ImplementationFileListRequest); - } - if (implementationFileListResponse_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(ImplementationFileListResponse); - } - if (stubImplementationCodeRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(StubImplementationCodeRequest); - } - if (fileDiff_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(FileDiff); - } - if (implementationFileGlobPatternRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(ImplementationFileGlobPatternRequest); - } - if (implementationFileGlobPatternResponse_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(ImplementationFileGlobPatternResponse); - } - if (suiteExecutionResultItem_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(SuiteExecutionResultItem); - } - if (keepAlive_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(KeepAlive); - } - if (conceptExecutionStartingRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(ConceptExecutionStartingRequest); - } - if (conceptExecutionEndingRequest_ != null) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(ConceptExecutionEndingRequest); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(Message other) { - if (other == null) { - return; - } - if (other.MessageType != global::Gauge.Messages.Message.Types.MessageType.ExecutionStarting) { - MessageType = other.MessageType; - } - if (other.MessageId != 0L) { - MessageId = other.MessageId; - } - if (other.executionStartingRequest_ != null) { - if (executionStartingRequest_ == null) { - ExecutionStartingRequest = new global::Gauge.Messages.ExecutionStartingRequest(); - } - ExecutionStartingRequest.MergeFrom(other.ExecutionStartingRequest); - } - if (other.specExecutionStartingRequest_ != null) { - if (specExecutionStartingRequest_ == null) { - SpecExecutionStartingRequest = new global::Gauge.Messages.SpecExecutionStartingRequest(); - } - SpecExecutionStartingRequest.MergeFrom(other.SpecExecutionStartingRequest); - } - if (other.specExecutionEndingRequest_ != null) { - if (specExecutionEndingRequest_ == null) { - SpecExecutionEndingRequest = new global::Gauge.Messages.SpecExecutionEndingRequest(); - } - SpecExecutionEndingRequest.MergeFrom(other.SpecExecutionEndingRequest); - } - if (other.scenarioExecutionStartingRequest_ != null) { - if (scenarioExecutionStartingRequest_ == null) { - ScenarioExecutionStartingRequest = new global::Gauge.Messages.ScenarioExecutionStartingRequest(); - } - ScenarioExecutionStartingRequest.MergeFrom(other.ScenarioExecutionStartingRequest); - } - if (other.scenarioExecutionEndingRequest_ != null) { - if (scenarioExecutionEndingRequest_ == null) { - ScenarioExecutionEndingRequest = new global::Gauge.Messages.ScenarioExecutionEndingRequest(); - } - ScenarioExecutionEndingRequest.MergeFrom(other.ScenarioExecutionEndingRequest); - } - if (other.stepExecutionStartingRequest_ != null) { - if (stepExecutionStartingRequest_ == null) { - StepExecutionStartingRequest = new global::Gauge.Messages.StepExecutionStartingRequest(); - } - StepExecutionStartingRequest.MergeFrom(other.StepExecutionStartingRequest); - } - if (other.stepExecutionEndingRequest_ != null) { - if (stepExecutionEndingRequest_ == null) { - StepExecutionEndingRequest = new global::Gauge.Messages.StepExecutionEndingRequest(); - } - StepExecutionEndingRequest.MergeFrom(other.StepExecutionEndingRequest); - } - if (other.executeStepRequest_ != null) { - if (executeStepRequest_ == null) { - ExecuteStepRequest = new global::Gauge.Messages.ExecuteStepRequest(); - } - ExecuteStepRequest.MergeFrom(other.ExecuteStepRequest); - } - if (other.executionEndingRequest_ != null) { - if (executionEndingRequest_ == null) { - ExecutionEndingRequest = new global::Gauge.Messages.ExecutionEndingRequest(); - } - ExecutionEndingRequest.MergeFrom(other.ExecutionEndingRequest); - } - if (other.stepValidateRequest_ != null) { - if (stepValidateRequest_ == null) { - StepValidateRequest = new global::Gauge.Messages.StepValidateRequest(); - } - StepValidateRequest.MergeFrom(other.StepValidateRequest); - } - if (other.stepValidateResponse_ != null) { - if (stepValidateResponse_ == null) { - StepValidateResponse = new global::Gauge.Messages.StepValidateResponse(); - } - StepValidateResponse.MergeFrom(other.StepValidateResponse); - } - if (other.executionStatusResponse_ != null) { - if (executionStatusResponse_ == null) { - ExecutionStatusResponse = new global::Gauge.Messages.ExecutionStatusResponse(); - } - ExecutionStatusResponse.MergeFrom(other.ExecutionStatusResponse); - } - if (other.stepNamesRequest_ != null) { - if (stepNamesRequest_ == null) { - StepNamesRequest = new global::Gauge.Messages.StepNamesRequest(); - } - StepNamesRequest.MergeFrom(other.StepNamesRequest); - } - if (other.stepNamesResponse_ != null) { - if (stepNamesResponse_ == null) { - StepNamesResponse = new global::Gauge.Messages.StepNamesResponse(); - } - StepNamesResponse.MergeFrom(other.StepNamesResponse); - } - if (other.suiteExecutionResult_ != null) { - if (suiteExecutionResult_ == null) { - SuiteExecutionResult = new global::Gauge.Messages.SuiteExecutionResult(); - } - SuiteExecutionResult.MergeFrom(other.SuiteExecutionResult); - } - if (other.killProcessRequest_ != null) { - if (killProcessRequest_ == null) { - KillProcessRequest = new global::Gauge.Messages.KillProcessRequest(); - } - KillProcessRequest.MergeFrom(other.KillProcessRequest); - } - if (other.scenarioDataStoreInitRequest_ != null) { - if (scenarioDataStoreInitRequest_ == null) { - ScenarioDataStoreInitRequest = new global::Gauge.Messages.ScenarioDataStoreInitRequest(); - } - ScenarioDataStoreInitRequest.MergeFrom(other.ScenarioDataStoreInitRequest); - } - if (other.specDataStoreInitRequest_ != null) { - if (specDataStoreInitRequest_ == null) { - SpecDataStoreInitRequest = new global::Gauge.Messages.SpecDataStoreInitRequest(); - } - SpecDataStoreInitRequest.MergeFrom(other.SpecDataStoreInitRequest); - } - if (other.suiteDataStoreInitRequest_ != null) { - if (suiteDataStoreInitRequest_ == null) { - SuiteDataStoreInitRequest = new global::Gauge.Messages.SuiteDataStoreInitRequest(); - } - SuiteDataStoreInitRequest.MergeFrom(other.SuiteDataStoreInitRequest); - } - if (other.stepNameRequest_ != null) { - if (stepNameRequest_ == null) { - StepNameRequest = new global::Gauge.Messages.StepNameRequest(); - } - StepNameRequest.MergeFrom(other.StepNameRequest); - } - if (other.stepNameResponse_ != null) { - if (stepNameResponse_ == null) { - StepNameResponse = new global::Gauge.Messages.StepNameResponse(); - } - StepNameResponse.MergeFrom(other.StepNameResponse); - } - if (other.refactorRequest_ != null) { - if (refactorRequest_ == null) { - RefactorRequest = new global::Gauge.Messages.RefactorRequest(); - } - RefactorRequest.MergeFrom(other.RefactorRequest); - } - if (other.refactorResponse_ != null) { - if (refactorResponse_ == null) { - RefactorResponse = new global::Gauge.Messages.RefactorResponse(); - } - RefactorResponse.MergeFrom(other.RefactorResponse); - } - if (other.unsupportedMessageResponse_ != null) { - if (unsupportedMessageResponse_ == null) { - UnsupportedMessageResponse = new global::Gauge.Messages.UnsupportedMessageResponse(); - } - UnsupportedMessageResponse.MergeFrom(other.UnsupportedMessageResponse); - } - if (other.cacheFileRequest_ != null) { - if (cacheFileRequest_ == null) { - CacheFileRequest = new global::Gauge.Messages.CacheFileRequest(); - } - CacheFileRequest.MergeFrom(other.CacheFileRequest); - } - if (other.stepPositionsRequest_ != null) { - if (stepPositionsRequest_ == null) { - StepPositionsRequest = new global::Gauge.Messages.StepPositionsRequest(); - } - StepPositionsRequest.MergeFrom(other.StepPositionsRequest); - } - if (other.stepPositionsResponse_ != null) { - if (stepPositionsResponse_ == null) { - StepPositionsResponse = new global::Gauge.Messages.StepPositionsResponse(); - } - StepPositionsResponse.MergeFrom(other.StepPositionsResponse); - } - if (other.implementationFileListRequest_ != null) { - if (implementationFileListRequest_ == null) { - ImplementationFileListRequest = new global::Gauge.Messages.ImplementationFileListRequest(); - } - ImplementationFileListRequest.MergeFrom(other.ImplementationFileListRequest); - } - if (other.implementationFileListResponse_ != null) { - if (implementationFileListResponse_ == null) { - ImplementationFileListResponse = new global::Gauge.Messages.ImplementationFileListResponse(); - } - ImplementationFileListResponse.MergeFrom(other.ImplementationFileListResponse); - } - if (other.stubImplementationCodeRequest_ != null) { - if (stubImplementationCodeRequest_ == null) { - StubImplementationCodeRequest = new global::Gauge.Messages.StubImplementationCodeRequest(); - } - StubImplementationCodeRequest.MergeFrom(other.StubImplementationCodeRequest); - } - if (other.fileDiff_ != null) { - if (fileDiff_ == null) { - FileDiff = new global::Gauge.Messages.FileDiff(); - } - FileDiff.MergeFrom(other.FileDiff); - } - if (other.implementationFileGlobPatternRequest_ != null) { - if (implementationFileGlobPatternRequest_ == null) { - ImplementationFileGlobPatternRequest = new global::Gauge.Messages.ImplementationFileGlobPatternRequest(); - } - ImplementationFileGlobPatternRequest.MergeFrom(other.ImplementationFileGlobPatternRequest); - } - if (other.implementationFileGlobPatternResponse_ != null) { - if (implementationFileGlobPatternResponse_ == null) { - ImplementationFileGlobPatternResponse = new global::Gauge.Messages.ImplementationFileGlobPatternResponse(); - } - ImplementationFileGlobPatternResponse.MergeFrom(other.ImplementationFileGlobPatternResponse); - } - if (other.suiteExecutionResultItem_ != null) { - if (suiteExecutionResultItem_ == null) { - SuiteExecutionResultItem = new global::Gauge.Messages.SuiteExecutionResultItem(); - } - SuiteExecutionResultItem.MergeFrom(other.SuiteExecutionResultItem); - } - if (other.keepAlive_ != null) { - if (keepAlive_ == null) { - KeepAlive = new global::Gauge.Messages.KeepAlive(); - } - KeepAlive.MergeFrom(other.KeepAlive); - } - if (other.conceptExecutionStartingRequest_ != null) { - if (conceptExecutionStartingRequest_ == null) { - ConceptExecutionStartingRequest = new global::Gauge.Messages.ConceptExecutionStartingRequest(); - } - ConceptExecutionStartingRequest.MergeFrom(other.ConceptExecutionStartingRequest); - } - if (other.conceptExecutionEndingRequest_ != null) { - if (conceptExecutionEndingRequest_ == null) { - ConceptExecutionEndingRequest = new global::Gauge.Messages.ConceptExecutionEndingRequest(); - } - ConceptExecutionEndingRequest.MergeFrom(other.ConceptExecutionEndingRequest); - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - MessageType = (global::Gauge.Messages.Message.Types.MessageType) input.ReadEnum(); - break; - } - case 16: { - MessageId = input.ReadInt64(); - break; - } - case 26: { - if (executionStartingRequest_ == null) { - ExecutionStartingRequest = new global::Gauge.Messages.ExecutionStartingRequest(); - } - input.ReadMessage(ExecutionStartingRequest); - break; - } - case 34: { - if (specExecutionStartingRequest_ == null) { - SpecExecutionStartingRequest = new global::Gauge.Messages.SpecExecutionStartingRequest(); - } - input.ReadMessage(SpecExecutionStartingRequest); - break; - } - case 42: { - if (specExecutionEndingRequest_ == null) { - SpecExecutionEndingRequest = new global::Gauge.Messages.SpecExecutionEndingRequest(); - } - input.ReadMessage(SpecExecutionEndingRequest); - break; - } - case 50: { - if (scenarioExecutionStartingRequest_ == null) { - ScenarioExecutionStartingRequest = new global::Gauge.Messages.ScenarioExecutionStartingRequest(); - } - input.ReadMessage(ScenarioExecutionStartingRequest); - break; - } - case 58: { - if (scenarioExecutionEndingRequest_ == null) { - ScenarioExecutionEndingRequest = new global::Gauge.Messages.ScenarioExecutionEndingRequest(); - } - input.ReadMessage(ScenarioExecutionEndingRequest); - break; - } - case 66: { - if (stepExecutionStartingRequest_ == null) { - StepExecutionStartingRequest = new global::Gauge.Messages.StepExecutionStartingRequest(); - } - input.ReadMessage(StepExecutionStartingRequest); - break; - } - case 74: { - if (stepExecutionEndingRequest_ == null) { - StepExecutionEndingRequest = new global::Gauge.Messages.StepExecutionEndingRequest(); - } - input.ReadMessage(StepExecutionEndingRequest); - break; - } - case 82: { - if (executeStepRequest_ == null) { - ExecuteStepRequest = new global::Gauge.Messages.ExecuteStepRequest(); - } - input.ReadMessage(ExecuteStepRequest); - break; - } - case 90: { - if (executionEndingRequest_ == null) { - ExecutionEndingRequest = new global::Gauge.Messages.ExecutionEndingRequest(); - } - input.ReadMessage(ExecutionEndingRequest); - break; - } - case 98: { - if (stepValidateRequest_ == null) { - StepValidateRequest = new global::Gauge.Messages.StepValidateRequest(); - } - input.ReadMessage(StepValidateRequest); - break; - } - case 106: { - if (stepValidateResponse_ == null) { - StepValidateResponse = new global::Gauge.Messages.StepValidateResponse(); - } - input.ReadMessage(StepValidateResponse); - break; - } - case 114: { - if (executionStatusResponse_ == null) { - ExecutionStatusResponse = new global::Gauge.Messages.ExecutionStatusResponse(); - } - input.ReadMessage(ExecutionStatusResponse); - break; - } - case 122: { - if (stepNamesRequest_ == null) { - StepNamesRequest = new global::Gauge.Messages.StepNamesRequest(); - } - input.ReadMessage(StepNamesRequest); - break; - } - case 130: { - if (stepNamesResponse_ == null) { - StepNamesResponse = new global::Gauge.Messages.StepNamesResponse(); - } - input.ReadMessage(StepNamesResponse); - break; - } - case 138: { - if (suiteExecutionResult_ == null) { - SuiteExecutionResult = new global::Gauge.Messages.SuiteExecutionResult(); - } - input.ReadMessage(SuiteExecutionResult); - break; - } - case 146: { - if (killProcessRequest_ == null) { - KillProcessRequest = new global::Gauge.Messages.KillProcessRequest(); - } - input.ReadMessage(KillProcessRequest); - break; - } - case 154: { - if (scenarioDataStoreInitRequest_ == null) { - ScenarioDataStoreInitRequest = new global::Gauge.Messages.ScenarioDataStoreInitRequest(); - } - input.ReadMessage(ScenarioDataStoreInitRequest); - break; - } - case 162: { - if (specDataStoreInitRequest_ == null) { - SpecDataStoreInitRequest = new global::Gauge.Messages.SpecDataStoreInitRequest(); - } - input.ReadMessage(SpecDataStoreInitRequest); - break; - } - case 170: { - if (suiteDataStoreInitRequest_ == null) { - SuiteDataStoreInitRequest = new global::Gauge.Messages.SuiteDataStoreInitRequest(); - } - input.ReadMessage(SuiteDataStoreInitRequest); - break; - } - case 178: { - if (stepNameRequest_ == null) { - StepNameRequest = new global::Gauge.Messages.StepNameRequest(); - } - input.ReadMessage(StepNameRequest); - break; - } - case 186: { - if (stepNameResponse_ == null) { - StepNameResponse = new global::Gauge.Messages.StepNameResponse(); - } - input.ReadMessage(StepNameResponse); - break; - } - case 194: { - if (refactorRequest_ == null) { - RefactorRequest = new global::Gauge.Messages.RefactorRequest(); - } - input.ReadMessage(RefactorRequest); - break; - } - case 202: { - if (refactorResponse_ == null) { - RefactorResponse = new global::Gauge.Messages.RefactorResponse(); - } - input.ReadMessage(RefactorResponse); - break; - } - case 210: { - if (unsupportedMessageResponse_ == null) { - UnsupportedMessageResponse = new global::Gauge.Messages.UnsupportedMessageResponse(); - } - input.ReadMessage(UnsupportedMessageResponse); - break; - } - case 218: { - if (cacheFileRequest_ == null) { - CacheFileRequest = new global::Gauge.Messages.CacheFileRequest(); - } - input.ReadMessage(CacheFileRequest); - break; - } - case 226: { - if (stepPositionsRequest_ == null) { - StepPositionsRequest = new global::Gauge.Messages.StepPositionsRequest(); - } - input.ReadMessage(StepPositionsRequest); - break; - } - case 234: { - if (stepPositionsResponse_ == null) { - StepPositionsResponse = new global::Gauge.Messages.StepPositionsResponse(); - } - input.ReadMessage(StepPositionsResponse); - break; - } - case 242: { - if (implementationFileListRequest_ == null) { - ImplementationFileListRequest = new global::Gauge.Messages.ImplementationFileListRequest(); - } - input.ReadMessage(ImplementationFileListRequest); - break; - } - case 250: { - if (implementationFileListResponse_ == null) { - ImplementationFileListResponse = new global::Gauge.Messages.ImplementationFileListResponse(); - } - input.ReadMessage(ImplementationFileListResponse); - break; - } - case 258: { - if (stubImplementationCodeRequest_ == null) { - StubImplementationCodeRequest = new global::Gauge.Messages.StubImplementationCodeRequest(); - } - input.ReadMessage(StubImplementationCodeRequest); - break; - } - case 266: { - if (fileDiff_ == null) { - FileDiff = new global::Gauge.Messages.FileDiff(); - } - input.ReadMessage(FileDiff); - break; - } - case 274: { - if (implementationFileGlobPatternRequest_ == null) { - ImplementationFileGlobPatternRequest = new global::Gauge.Messages.ImplementationFileGlobPatternRequest(); - } - input.ReadMessage(ImplementationFileGlobPatternRequest); - break; - } - case 282: { - if (implementationFileGlobPatternResponse_ == null) { - ImplementationFileGlobPatternResponse = new global::Gauge.Messages.ImplementationFileGlobPatternResponse(); - } - input.ReadMessage(ImplementationFileGlobPatternResponse); - break; - } - case 290: { - if (suiteExecutionResultItem_ == null) { - SuiteExecutionResultItem = new global::Gauge.Messages.SuiteExecutionResultItem(); - } - input.ReadMessage(SuiteExecutionResultItem); - break; - } - case 298: { - if (keepAlive_ == null) { - KeepAlive = new global::Gauge.Messages.KeepAlive(); - } - input.ReadMessage(KeepAlive); - break; - } - case 306: { - if (conceptExecutionStartingRequest_ == null) { - ConceptExecutionStartingRequest = new global::Gauge.Messages.ConceptExecutionStartingRequest(); - } - input.ReadMessage(ConceptExecutionStartingRequest); - break; - } - case 314: { - if (conceptExecutionEndingRequest_ == null) { - ConceptExecutionEndingRequest = new global::Gauge.Messages.ConceptExecutionEndingRequest(); - } - input.ReadMessage(ConceptExecutionEndingRequest); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - MessageType = (global::Gauge.Messages.Message.Types.MessageType) input.ReadEnum(); - break; - } - case 16: { - MessageId = input.ReadInt64(); - break; - } - case 26: { - if (executionStartingRequest_ == null) { - ExecutionStartingRequest = new global::Gauge.Messages.ExecutionStartingRequest(); - } - input.ReadMessage(ExecutionStartingRequest); - break; - } - case 34: { - if (specExecutionStartingRequest_ == null) { - SpecExecutionStartingRequest = new global::Gauge.Messages.SpecExecutionStartingRequest(); - } - input.ReadMessage(SpecExecutionStartingRequest); - break; - } - case 42: { - if (specExecutionEndingRequest_ == null) { - SpecExecutionEndingRequest = new global::Gauge.Messages.SpecExecutionEndingRequest(); - } - input.ReadMessage(SpecExecutionEndingRequest); - break; - } - case 50: { - if (scenarioExecutionStartingRequest_ == null) { - ScenarioExecutionStartingRequest = new global::Gauge.Messages.ScenarioExecutionStartingRequest(); - } - input.ReadMessage(ScenarioExecutionStartingRequest); - break; - } - case 58: { - if (scenarioExecutionEndingRequest_ == null) { - ScenarioExecutionEndingRequest = new global::Gauge.Messages.ScenarioExecutionEndingRequest(); - } - input.ReadMessage(ScenarioExecutionEndingRequest); - break; - } - case 66: { - if (stepExecutionStartingRequest_ == null) { - StepExecutionStartingRequest = new global::Gauge.Messages.StepExecutionStartingRequest(); - } - input.ReadMessage(StepExecutionStartingRequest); - break; - } - case 74: { - if (stepExecutionEndingRequest_ == null) { - StepExecutionEndingRequest = new global::Gauge.Messages.StepExecutionEndingRequest(); - } - input.ReadMessage(StepExecutionEndingRequest); - break; - } - case 82: { - if (executeStepRequest_ == null) { - ExecuteStepRequest = new global::Gauge.Messages.ExecuteStepRequest(); - } - input.ReadMessage(ExecuteStepRequest); - break; - } - case 90: { - if (executionEndingRequest_ == null) { - ExecutionEndingRequest = new global::Gauge.Messages.ExecutionEndingRequest(); - } - input.ReadMessage(ExecutionEndingRequest); - break; - } - case 98: { - if (stepValidateRequest_ == null) { - StepValidateRequest = new global::Gauge.Messages.StepValidateRequest(); - } - input.ReadMessage(StepValidateRequest); - break; - } - case 106: { - if (stepValidateResponse_ == null) { - StepValidateResponse = new global::Gauge.Messages.StepValidateResponse(); - } - input.ReadMessage(StepValidateResponse); - break; - } - case 114: { - if (executionStatusResponse_ == null) { - ExecutionStatusResponse = new global::Gauge.Messages.ExecutionStatusResponse(); - } - input.ReadMessage(ExecutionStatusResponse); - break; - } - case 122: { - if (stepNamesRequest_ == null) { - StepNamesRequest = new global::Gauge.Messages.StepNamesRequest(); - } - input.ReadMessage(StepNamesRequest); - break; - } - case 130: { - if (stepNamesResponse_ == null) { - StepNamesResponse = new global::Gauge.Messages.StepNamesResponse(); - } - input.ReadMessage(StepNamesResponse); - break; - } - case 138: { - if (suiteExecutionResult_ == null) { - SuiteExecutionResult = new global::Gauge.Messages.SuiteExecutionResult(); - } - input.ReadMessage(SuiteExecutionResult); - break; - } - case 146: { - if (killProcessRequest_ == null) { - KillProcessRequest = new global::Gauge.Messages.KillProcessRequest(); - } - input.ReadMessage(KillProcessRequest); - break; - } - case 154: { - if (scenarioDataStoreInitRequest_ == null) { - ScenarioDataStoreInitRequest = new global::Gauge.Messages.ScenarioDataStoreInitRequest(); - } - input.ReadMessage(ScenarioDataStoreInitRequest); - break; - } - case 162: { - if (specDataStoreInitRequest_ == null) { - SpecDataStoreInitRequest = new global::Gauge.Messages.SpecDataStoreInitRequest(); - } - input.ReadMessage(SpecDataStoreInitRequest); - break; - } - case 170: { - if (suiteDataStoreInitRequest_ == null) { - SuiteDataStoreInitRequest = new global::Gauge.Messages.SuiteDataStoreInitRequest(); - } - input.ReadMessage(SuiteDataStoreInitRequest); - break; - } - case 178: { - if (stepNameRequest_ == null) { - StepNameRequest = new global::Gauge.Messages.StepNameRequest(); - } - input.ReadMessage(StepNameRequest); - break; - } - case 186: { - if (stepNameResponse_ == null) { - StepNameResponse = new global::Gauge.Messages.StepNameResponse(); - } - input.ReadMessage(StepNameResponse); - break; - } - case 194: { - if (refactorRequest_ == null) { - RefactorRequest = new global::Gauge.Messages.RefactorRequest(); - } - input.ReadMessage(RefactorRequest); - break; - } - case 202: { - if (refactorResponse_ == null) { - RefactorResponse = new global::Gauge.Messages.RefactorResponse(); - } - input.ReadMessage(RefactorResponse); - break; - } - case 210: { - if (unsupportedMessageResponse_ == null) { - UnsupportedMessageResponse = new global::Gauge.Messages.UnsupportedMessageResponse(); - } - input.ReadMessage(UnsupportedMessageResponse); - break; - } - case 218: { - if (cacheFileRequest_ == null) { - CacheFileRequest = new global::Gauge.Messages.CacheFileRequest(); - } - input.ReadMessage(CacheFileRequest); - break; - } - case 226: { - if (stepPositionsRequest_ == null) { - StepPositionsRequest = new global::Gauge.Messages.StepPositionsRequest(); - } - input.ReadMessage(StepPositionsRequest); - break; - } - case 234: { - if (stepPositionsResponse_ == null) { - StepPositionsResponse = new global::Gauge.Messages.StepPositionsResponse(); - } - input.ReadMessage(StepPositionsResponse); - break; - } - case 242: { - if (implementationFileListRequest_ == null) { - ImplementationFileListRequest = new global::Gauge.Messages.ImplementationFileListRequest(); - } - input.ReadMessage(ImplementationFileListRequest); - break; - } - case 250: { - if (implementationFileListResponse_ == null) { - ImplementationFileListResponse = new global::Gauge.Messages.ImplementationFileListResponse(); - } - input.ReadMessage(ImplementationFileListResponse); - break; - } - case 258: { - if (stubImplementationCodeRequest_ == null) { - StubImplementationCodeRequest = new global::Gauge.Messages.StubImplementationCodeRequest(); - } - input.ReadMessage(StubImplementationCodeRequest); - break; - } - case 266: { - if (fileDiff_ == null) { - FileDiff = new global::Gauge.Messages.FileDiff(); - } - input.ReadMessage(FileDiff); - break; - } - case 274: { - if (implementationFileGlobPatternRequest_ == null) { - ImplementationFileGlobPatternRequest = new global::Gauge.Messages.ImplementationFileGlobPatternRequest(); - } - input.ReadMessage(ImplementationFileGlobPatternRequest); - break; - } - case 282: { - if (implementationFileGlobPatternResponse_ == null) { - ImplementationFileGlobPatternResponse = new global::Gauge.Messages.ImplementationFileGlobPatternResponse(); - } - input.ReadMessage(ImplementationFileGlobPatternResponse); - break; - } - case 290: { - if (suiteExecutionResultItem_ == null) { - SuiteExecutionResultItem = new global::Gauge.Messages.SuiteExecutionResultItem(); - } - input.ReadMessage(SuiteExecutionResultItem); - break; - } - case 298: { - if (keepAlive_ == null) { - KeepAlive = new global::Gauge.Messages.KeepAlive(); - } - input.ReadMessage(KeepAlive); - break; - } - case 306: { - if (conceptExecutionStartingRequest_ == null) { - ConceptExecutionStartingRequest = new global::Gauge.Messages.ConceptExecutionStartingRequest(); - } - input.ReadMessage(ConceptExecutionStartingRequest); - break; - } - case 314: { - if (conceptExecutionEndingRequest_ == null) { - ConceptExecutionEndingRequest = new global::Gauge.Messages.ConceptExecutionEndingRequest(); - } - input.ReadMessage(ConceptExecutionEndingRequest); - break; - } - } - } - } - #endif - - #region Nested types - /// Container for nested types declared in the Message message type. - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static partial class Types { - public enum MessageType { - [pbr::OriginalName("ExecutionStarting")] ExecutionStarting = 0, - [pbr::OriginalName("SpecExecutionStarting")] SpecExecutionStarting = 1, - [pbr::OriginalName("SpecExecutionEnding")] SpecExecutionEnding = 2, - [pbr::OriginalName("ScenarioExecutionStarting")] ScenarioExecutionStarting = 3, - [pbr::OriginalName("ScenarioExecutionEnding")] ScenarioExecutionEnding = 4, - [pbr::OriginalName("StepExecutionStarting")] StepExecutionStarting = 5, - [pbr::OriginalName("StepExecutionEnding")] StepExecutionEnding = 6, - [pbr::OriginalName("ExecuteStep")] ExecuteStep = 7, - [pbr::OriginalName("ExecutionEnding")] ExecutionEnding = 8, - [pbr::OriginalName("StepValidateRequest")] StepValidateRequest = 9, - [pbr::OriginalName("StepValidateResponse")] StepValidateResponse = 10, - [pbr::OriginalName("ExecutionStatusResponse")] ExecutionStatusResponse = 11, - [pbr::OriginalName("StepNamesRequest")] StepNamesRequest = 12, - [pbr::OriginalName("StepNamesResponse")] StepNamesResponse = 13, - [pbr::OriginalName("KillProcessRequest")] KillProcessRequest = 14, - [pbr::OriginalName("SuiteExecutionResult")] SuiteExecutionResult = 15, - [pbr::OriginalName("ScenarioDataStoreInit")] ScenarioDataStoreInit = 16, - [pbr::OriginalName("SpecDataStoreInit")] SpecDataStoreInit = 17, - [pbr::OriginalName("SuiteDataStoreInit")] SuiteDataStoreInit = 18, - [pbr::OriginalName("StepNameRequest")] StepNameRequest = 19, - [pbr::OriginalName("StepNameResponse")] StepNameResponse = 20, - [pbr::OriginalName("RefactorRequest")] RefactorRequest = 21, - [pbr::OriginalName("RefactorResponse")] RefactorResponse = 22, - [pbr::OriginalName("UnsupportedMessageResponse")] UnsupportedMessageResponse = 23, - [pbr::OriginalName("CacheFileRequest")] CacheFileRequest = 24, - [pbr::OriginalName("StepPositionsRequest")] StepPositionsRequest = 25, - [pbr::OriginalName("StepPositionsResponse")] StepPositionsResponse = 26, - [pbr::OriginalName("ImplementationFileListRequest")] ImplementationFileListRequest = 27, - [pbr::OriginalName("ImplementationFileListResponse")] ImplementationFileListResponse = 28, - [pbr::OriginalName("StubImplementationCodeRequest")] StubImplementationCodeRequest = 29, - [pbr::OriginalName("FileDiff")] FileDiff = 30, - [pbr::OriginalName("ImplementationFileGlobPatternRequest")] ImplementationFileGlobPatternRequest = 31, - [pbr::OriginalName("ImplementationFileGlobPatternResponse")] ImplementationFileGlobPatternResponse = 32, - [pbr::OriginalName("SuiteExecutionResultItem")] SuiteExecutionResultItem = 33, - [pbr::OriginalName("KeepAlive")] KeepAlive = 34, - [pbr::OriginalName("ConceptExecutionStarting")] ConceptExecutionStarting = 35, - [pbr::OriginalName("ConceptExecutionEnding")] ConceptExecutionEnding = 36, - } - - } - #endregion - - } - - #endregion - -} - -#endregion Designer generated code diff --git a/src/Gauge.CSharp.Core/Services.cs b/src/Gauge.CSharp.Core/Services.cs deleted file mode 100644 index aa13b8d..0000000 --- a/src/Gauge.CSharp.Core/Services.cs +++ /dev/null @@ -1,122 +0,0 @@ -// -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: services.proto -// -#pragma warning disable 1591, 0612, 3021, 8981 -#region Designer generated code - -using pb = global::Google.Protobuf; -using pbc = global::Google.Protobuf.Collections; -using pbr = global::Google.Protobuf.Reflection; -using scg = global::System.Collections.Generic; -namespace Gauge.Messages { - - /// Holder for reflection information generated from services.proto - public static partial class ServicesReflection { - - #region Descriptor - /// File descriptor for services.proto - public static pbr::FileDescriptor Descriptor { - get { return descriptor; } - } - private static pbr::FileDescriptor descriptor; - - static ServicesReflection() { - byte[] descriptorData = global::System.Convert.FromBase64String( - string.Concat( - "Cg5zZXJ2aWNlcy5wcm90bxIOZ2F1Z2UubWVzc2FnZXMaDm1lc3NhZ2VzLnBy", - "b3RvMucSCgZSdW5uZXISWQoMVmFsaWRhdGVTdGVwEiMuZ2F1Z2UubWVzc2Fn", - "ZXMuU3RlcFZhbGlkYXRlUmVxdWVzdBokLmdhdWdlLm1lc3NhZ2VzLlN0ZXBW", - "YWxpZGF0ZVJlc3BvbnNlEm4KGEluaXRpYWxpemVTdWl0ZURhdGFTdG9yZRIp", - "LmdhdWdlLm1lc3NhZ2VzLlN1aXRlRGF0YVN0b3JlSW5pdFJlcXVlc3QaJy5n", - "YXVnZS5tZXNzYWdlcy5FeGVjdXRpb25TdGF0dXNSZXNwb25zZRJjCg5TdGFy", - "dEV4ZWN1dGlvbhIoLmdhdWdlLm1lc3NhZ2VzLkV4ZWN1dGlvblN0YXJ0aW5n", - "UmVxdWVzdBonLmdhdWdlLm1lc3NhZ2VzLkV4ZWN1dGlvblN0YXR1c1Jlc3Bv", - "bnNlEmwKF0luaXRpYWxpemVTcGVjRGF0YVN0b3JlEiguZ2F1Z2UubWVzc2Fn", - "ZXMuU3BlY0RhdGFTdG9yZUluaXRSZXF1ZXN0GicuZ2F1Z2UubWVzc2FnZXMu", - "RXhlY3V0aW9uU3RhdHVzUmVzcG9uc2USawoSU3RhcnRTcGVjRXhlY3V0aW9u", - "EiwuZ2F1Z2UubWVzc2FnZXMuU3BlY0V4ZWN1dGlvblN0YXJ0aW5nUmVxdWVz", - "dBonLmdhdWdlLm1lc3NhZ2VzLkV4ZWN1dGlvblN0YXR1c1Jlc3BvbnNlEnQK", - "G0luaXRpYWxpemVTY2VuYXJpb0RhdGFTdG9yZRIsLmdhdWdlLm1lc3NhZ2Vz", - "LlNjZW5hcmlvRGF0YVN0b3JlSW5pdFJlcXVlc3QaJy5nYXVnZS5tZXNzYWdl", - "cy5FeGVjdXRpb25TdGF0dXNSZXNwb25zZRJzChZTdGFydFNjZW5hcmlvRXhl", - "Y3V0aW9uEjAuZ2F1Z2UubWVzc2FnZXMuU2NlbmFyaW9FeGVjdXRpb25TdGFy", - "dGluZ1JlcXVlc3QaJy5nYXVnZS5tZXNzYWdlcy5FeGVjdXRpb25TdGF0dXNS", - "ZXNwb25zZRJrChJTdGFydFN0ZXBFeGVjdXRpb24SLC5nYXVnZS5tZXNzYWdl", - "cy5TdGVwRXhlY3V0aW9uU3RhcnRpbmdSZXF1ZXN0GicuZ2F1Z2UubWVzc2Fn", - "ZXMuRXhlY3V0aW9uU3RhdHVzUmVzcG9uc2USWgoLRXhlY3V0ZVN0ZXASIi5n", - "YXVnZS5tZXNzYWdlcy5FeGVjdXRlU3RlcFJlcXVlc3QaJy5nYXVnZS5tZXNz", - "YWdlcy5FeGVjdXRpb25TdGF0dXNSZXNwb25zZRJqChNGaW5pc2hTdGVwRXhl", - "Y3V0aW9uEiouZ2F1Z2UubWVzc2FnZXMuU3RlcEV4ZWN1dGlvbkVuZGluZ1Jl", - "cXVlc3QaJy5nYXVnZS5tZXNzYWdlcy5FeGVjdXRpb25TdGF0dXNSZXNwb25z", - "ZRJyChdGaW5pc2hTY2VuYXJpb0V4ZWN1dGlvbhIuLmdhdWdlLm1lc3NhZ2Vz", - "LlNjZW5hcmlvRXhlY3V0aW9uRW5kaW5nUmVxdWVzdBonLmdhdWdlLm1lc3Nh", - "Z2VzLkV4ZWN1dGlvblN0YXR1c1Jlc3BvbnNlEmoKE0ZpbmlzaFNwZWNFeGVj", - "dXRpb24SKi5nYXVnZS5tZXNzYWdlcy5TcGVjRXhlY3V0aW9uRW5kaW5nUmVx", - "dWVzdBonLmdhdWdlLm1lc3NhZ2VzLkV4ZWN1dGlvblN0YXR1c1Jlc3BvbnNl", - "EmIKD0ZpbmlzaEV4ZWN1dGlvbhImLmdhdWdlLm1lc3NhZ2VzLkV4ZWN1dGlv", - "bkVuZGluZ1JlcXVlc3QaJy5nYXVnZS5tZXNzYWdlcy5FeGVjdXRpb25TdGF0", - "dXNSZXNwb25zZRJECglDYWNoZUZpbGUSIC5nYXVnZS5tZXNzYWdlcy5DYWNo", - "ZUZpbGVSZXF1ZXN0GhUuZ2F1Z2UubWVzc2FnZXMuRW1wdHkSUAoLR2V0U3Rl", - "cE5hbWUSHy5nYXVnZS5tZXNzYWdlcy5TdGVwTmFtZVJlcXVlc3QaIC5nYXVn", - "ZS5tZXNzYWdlcy5TdGVwTmFtZVJlc3BvbnNlEl8KD0dldEdsb2JQYXR0ZXJu", - "cxIVLmdhdWdlLm1lc3NhZ2VzLkVtcHR5GjUuZ2F1Z2UubWVzc2FnZXMuSW1w", - "bGVtZW50YXRpb25GaWxlR2xvYlBhdHRlcm5SZXNwb25zZRJTCgxHZXRTdGVw", - "TmFtZXMSIC5nYXVnZS5tZXNzYWdlcy5TdGVwTmFtZXNSZXF1ZXN0GiEuZ2F1", - "Z2UubWVzc2FnZXMuU3RlcE5hbWVzUmVzcG9uc2USXwoQR2V0U3RlcFBvc2l0", - "aW9ucxIkLmdhdWdlLm1lc3NhZ2VzLlN0ZXBQb3NpdGlvbnNSZXF1ZXN0GiUu", - "Z2F1Z2UubWVzc2FnZXMuU3RlcFBvc2l0aW9uc1Jlc3BvbnNlEl8KFkdldElt", - "cGxlbWVudGF0aW9uRmlsZXMSFS5nYXVnZS5tZXNzYWdlcy5FbXB0eRouLmdh", - "dWdlLm1lc3NhZ2VzLkltcGxlbWVudGF0aW9uRmlsZUxpc3RSZXNwb25zZRJY", - "Cg1JbXBsZW1lbnRTdHViEi0uZ2F1Z2UubWVzc2FnZXMuU3R1YkltcGxlbWVu", - "dGF0aW9uQ29kZVJlcXVlc3QaGC5nYXVnZS5tZXNzYWdlcy5GaWxlRGlmZhJN", - "CghSZWZhY3RvchIfLmdhdWdlLm1lc3NhZ2VzLlJlZmFjdG9yUmVxdWVzdBog", - "LmdhdWdlLm1lc3NhZ2VzLlJlZmFjdG9yUmVzcG9uc2USQQoES2lsbBIiLmdh", - "dWdlLm1lc3NhZ2VzLktpbGxQcm9jZXNzUmVxdWVzdBoVLmdhdWdlLm1lc3Nh", - "Z2VzLkVtcHR5EnoKHk5vdGlmeUNvbmNlcHRFeGVjdXRpb25TdGFydGluZxIv", - "LmdhdWdlLm1lc3NhZ2VzLkNvbmNlcHRFeGVjdXRpb25TdGFydGluZ1JlcXVl", - "c3QaJy5nYXVnZS5tZXNzYWdlcy5FeGVjdXRpb25TdGF0dXNSZXNwb25zZRJ2", - "ChxOb3RpZnlDb25jZXB0RXhlY3V0aW9uRW5kaW5nEi0uZ2F1Z2UubWVzc2Fn", - "ZXMuQ29uY2VwdEV4ZWN1dGlvbkVuZGluZ1JlcXVlc3QaJy5nYXVnZS5tZXNz", - "YWdlcy5FeGVjdXRpb25TdGF0dXNSZXNwb25zZTL/CAoIUmVwb3J0ZXISWgoX", - "Tm90aWZ5RXhlY3V0aW9uU3RhcnRpbmcSKC5nYXVnZS5tZXNzYWdlcy5FeGVj", - "dXRpb25TdGFydGluZ1JlcXVlc3QaFS5nYXVnZS5tZXNzYWdlcy5FbXB0eRJi", - "ChtOb3RpZnlTcGVjRXhlY3V0aW9uU3RhcnRpbmcSLC5nYXVnZS5tZXNzYWdl", - "cy5TcGVjRXhlY3V0aW9uU3RhcnRpbmdSZXF1ZXN0GhUuZ2F1Z2UubWVzc2Fn", - "ZXMuRW1wdHkSagofTm90aWZ5U2NlbmFyaW9FeGVjdXRpb25TdGFydGluZxIw", - "LmdhdWdlLm1lc3NhZ2VzLlNjZW5hcmlvRXhlY3V0aW9uU3RhcnRpbmdSZXF1", - "ZXN0GhUuZ2F1Z2UubWVzc2FnZXMuRW1wdHkSaAoeTm90aWZ5Q29uY2VwdEV4", - "ZWN1dGlvblN0YXJ0aW5nEi8uZ2F1Z2UubWVzc2FnZXMuQ29uY2VwdEV4ZWN1", - "dGlvblN0YXJ0aW5nUmVxdWVzdBoVLmdhdWdlLm1lc3NhZ2VzLkVtcHR5EmQK", - "HE5vdGlmeUNvbmNlcHRFeGVjdXRpb25FbmRpbmcSLS5nYXVnZS5tZXNzYWdl", - "cy5Db25jZXB0RXhlY3V0aW9uRW5kaW5nUmVxdWVzdBoVLmdhdWdlLm1lc3Nh", - "Z2VzLkVtcHR5EmIKG05vdGlmeVN0ZXBFeGVjdXRpb25TdGFydGluZxIsLmdh", - "dWdlLm1lc3NhZ2VzLlN0ZXBFeGVjdXRpb25TdGFydGluZ1JlcXVlc3QaFS5n", - "YXVnZS5tZXNzYWdlcy5FbXB0eRJeChlOb3RpZnlTdGVwRXhlY3V0aW9uRW5k", - "aW5nEiouZ2F1Z2UubWVzc2FnZXMuU3RlcEV4ZWN1dGlvbkVuZGluZ1JlcXVl", - "c3QaFS5nYXVnZS5tZXNzYWdlcy5FbXB0eRJmCh1Ob3RpZnlTY2VuYXJpb0V4", - "ZWN1dGlvbkVuZGluZxIuLmdhdWdlLm1lc3NhZ2VzLlNjZW5hcmlvRXhlY3V0", - "aW9uRW5kaW5nUmVxdWVzdBoVLmdhdWdlLm1lc3NhZ2VzLkVtcHR5El4KGU5v", - "dGlmeVNwZWNFeGVjdXRpb25FbmRpbmcSKi5nYXVnZS5tZXNzYWdlcy5TcGVj", - "RXhlY3V0aW9uRW5kaW5nUmVxdWVzdBoVLmdhdWdlLm1lc3NhZ2VzLkVtcHR5", - "ElYKFU5vdGlmeUV4ZWN1dGlvbkVuZGluZxImLmdhdWdlLm1lc3NhZ2VzLkV4", - "ZWN1dGlvbkVuZGluZ1JlcXVlc3QaFS5nYXVnZS5tZXNzYWdlcy5FbXB0eRJQ", - "ChFOb3RpZnlTdWl0ZVJlc3VsdBIkLmdhdWdlLm1lc3NhZ2VzLlN1aXRlRXhl", - "Y3V0aW9uUmVzdWx0GhUuZ2F1Z2UubWVzc2FnZXMuRW1wdHkSQQoES2lsbBIi", - "LmdhdWdlLm1lc3NhZ2VzLktpbGxQcm9jZXNzUmVxdWVzdBoVLmdhdWdlLm1l", - "c3NhZ2VzLkVtcHR5MpMBCgpEb2N1bWVudGVyEkIKDEdlbmVyYXRlRG9jcxIb", - "LmdhdWdlLm1lc3NhZ2VzLlNwZWNEZXRhaWxzGhUuZ2F1Z2UubWVzc2FnZXMu", - "RW1wdHkSQQoES2lsbBIiLmdhdWdlLm1lc3NhZ2VzLktpbGxQcm9jZXNzUmVx", - "dWVzdBoVLmdhdWdlLm1lc3NhZ2VzLkVtcHR5QlwKFmNvbS50aG91Z2h0d29y", - "a3MuZ2F1Z2VaMWdpdGh1Yi5jb20vZ2V0Z2F1Z2UvZ2F1Z2UtcHJvdG8vZ28v", - "Z2F1Z2VfbWVzc2FnZXOqAg5HYXVnZS5NZXNzYWdlc2IGcHJvdG8z")); - descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { global::Gauge.Messages.MessagesReflection.Descriptor, }, - new pbr::GeneratedClrTypeInfo(null, null, null)); - } - #endregion - - } -} - -#endregion Designer generated code diff --git a/src/Gauge.CSharp.Core/ServicesGrpc.cs b/src/Gauge.CSharp.Core/ServicesGrpc.cs deleted file mode 100644 index df68019..0000000 --- a/src/Gauge.CSharp.Core/ServicesGrpc.cs +++ /dev/null @@ -1,3470 +0,0 @@ -// -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: services.proto -// -// Original file comments: -// ---------------------------------------------------------------- -// Copyright (c) ThoughtWorks, Inc. -// Licensed under the Apache License, Version 2.0 -// See LICENSE in the project root for license information. -// ---------------------------------------------------------------- -// -#pragma warning disable 0414, 1591, 8981, 0612 -#region Designer generated code - -using grpc = global::Grpc.Core; - -namespace Gauge.Messages { - public static partial class Runner - { - static readonly string __ServiceName = "gauge.messages.Runner"; - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context) - { - #if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION - if (message is global::Google.Protobuf.IBufferMessage) - { - context.SetPayloadLength(message.CalculateSize()); - global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter()); - context.Complete(); - return; - } - #endif - context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message)); - } - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static class __Helper_MessageCache - { - public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T)); - } - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static T __Helper_DeserializeMessage(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser parser) where T : global::Google.Protobuf.IMessage - { - #if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION - if (__Helper_MessageCache.IsBufferMessage) - { - return parser.ParseFrom(context.PayloadAsReadOnlySequence()); - } - #endif - return parser.ParseFrom(context.PayloadAsNewBuffer()); - } - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepValidateRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepValidateRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepValidateResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepValidateResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_SuiteDataStoreInitRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.SuiteDataStoreInitRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ExecutionStatusResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ExecutionStatusResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ExecutionStartingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ExecutionStartingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_SpecDataStoreInitRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.SpecDataStoreInitRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_SpecExecutionStartingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.SpecExecutionStartingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ScenarioDataStoreInitRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ScenarioDataStoreInitRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ScenarioExecutionStartingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ScenarioExecutionStartingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepExecutionStartingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepExecutionStartingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ExecuteStepRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ExecuteStepRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepExecutionEndingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepExecutionEndingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ScenarioExecutionEndingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ScenarioExecutionEndingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_SpecExecutionEndingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.SpecExecutionEndingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ExecutionEndingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ExecutionEndingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_CacheFileRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.CacheFileRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_Empty = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.Empty.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepNameRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepNameRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepNameResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepNameResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ImplementationFileGlobPatternResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ImplementationFileGlobPatternResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepNamesRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepNamesRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepNamesResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepNamesResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepPositionsRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepPositionsRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepPositionsResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepPositionsResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ImplementationFileListResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ImplementationFileListResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StubImplementationCodeRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StubImplementationCodeRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_FileDiff = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.FileDiff.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_RefactorRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.RefactorRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_RefactorResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.RefactorResponse.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_KillProcessRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.KillProcessRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ConceptExecutionStartingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ConceptExecutionStartingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ConceptExecutionEndingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ConceptExecutionEndingRequest.Parser)); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_ValidateStep = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "ValidateStep", - __Marshaller_gauge_messages_StepValidateRequest, - __Marshaller_gauge_messages_StepValidateResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_InitializeSuiteDataStore = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "InitializeSuiteDataStore", - __Marshaller_gauge_messages_SuiteDataStoreInitRequest, - __Marshaller_gauge_messages_ExecutionStatusResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_StartExecution = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "StartExecution", - __Marshaller_gauge_messages_ExecutionStartingRequest, - __Marshaller_gauge_messages_ExecutionStatusResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_InitializeSpecDataStore = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "InitializeSpecDataStore", - __Marshaller_gauge_messages_SpecDataStoreInitRequest, - __Marshaller_gauge_messages_ExecutionStatusResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_StartSpecExecution = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "StartSpecExecution", - __Marshaller_gauge_messages_SpecExecutionStartingRequest, - __Marshaller_gauge_messages_ExecutionStatusResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_InitializeScenarioDataStore = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "InitializeScenarioDataStore", - __Marshaller_gauge_messages_ScenarioDataStoreInitRequest, - __Marshaller_gauge_messages_ExecutionStatusResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_StartScenarioExecution = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "StartScenarioExecution", - __Marshaller_gauge_messages_ScenarioExecutionStartingRequest, - __Marshaller_gauge_messages_ExecutionStatusResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_StartStepExecution = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "StartStepExecution", - __Marshaller_gauge_messages_StepExecutionStartingRequest, - __Marshaller_gauge_messages_ExecutionStatusResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_ExecuteStep = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "ExecuteStep", - __Marshaller_gauge_messages_ExecuteStepRequest, - __Marshaller_gauge_messages_ExecutionStatusResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_FinishStepExecution = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "FinishStepExecution", - __Marshaller_gauge_messages_StepExecutionEndingRequest, - __Marshaller_gauge_messages_ExecutionStatusResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_FinishScenarioExecution = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "FinishScenarioExecution", - __Marshaller_gauge_messages_ScenarioExecutionEndingRequest, - __Marshaller_gauge_messages_ExecutionStatusResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_FinishSpecExecution = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "FinishSpecExecution", - __Marshaller_gauge_messages_SpecExecutionEndingRequest, - __Marshaller_gauge_messages_ExecutionStatusResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_FinishExecution = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "FinishExecution", - __Marshaller_gauge_messages_ExecutionEndingRequest, - __Marshaller_gauge_messages_ExecutionStatusResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_CacheFile = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "CacheFile", - __Marshaller_gauge_messages_CacheFileRequest, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_GetStepName = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "GetStepName", - __Marshaller_gauge_messages_StepNameRequest, - __Marshaller_gauge_messages_StepNameResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_GetGlobPatterns = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "GetGlobPatterns", - __Marshaller_gauge_messages_Empty, - __Marshaller_gauge_messages_ImplementationFileGlobPatternResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_GetStepNames = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "GetStepNames", - __Marshaller_gauge_messages_StepNamesRequest, - __Marshaller_gauge_messages_StepNamesResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_GetStepPositions = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "GetStepPositions", - __Marshaller_gauge_messages_StepPositionsRequest, - __Marshaller_gauge_messages_StepPositionsResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_GetImplementationFiles = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "GetImplementationFiles", - __Marshaller_gauge_messages_Empty, - __Marshaller_gauge_messages_ImplementationFileListResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_ImplementStub = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "ImplementStub", - __Marshaller_gauge_messages_StubImplementationCodeRequest, - __Marshaller_gauge_messages_FileDiff); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_Refactor = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "Refactor", - __Marshaller_gauge_messages_RefactorRequest, - __Marshaller_gauge_messages_RefactorResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_Kill = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "Kill", - __Marshaller_gauge_messages_KillProcessRequest, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_NotifyConceptExecutionStarting = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "NotifyConceptExecutionStarting", - __Marshaller_gauge_messages_ConceptExecutionStartingRequest, - __Marshaller_gauge_messages_ExecutionStatusResponse); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_NotifyConceptExecutionEnding = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "NotifyConceptExecutionEnding", - __Marshaller_gauge_messages_ConceptExecutionEndingRequest, - __Marshaller_gauge_messages_ExecutionStatusResponse); - - /// Service descriptor - public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor - { - get { return global::Gauge.Messages.ServicesReflection.Descriptor.Services[0]; } - } - - /// Base class for server-side implementations of Runner - [grpc::BindServiceMethod(typeof(Runner), "BindService")] - public abstract partial class RunnerBase - { - /// - /// ValidateStep is a RPC to validate a given step. - /// - /// Accepts a StepValidateRequest message and returns a StepValidateResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task ValidateStep(global::Gauge.Messages.StepValidateRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// SuiteDataStoreInit is a RPC to initialize the suite level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task InitializeSuiteDataStore(global::Gauge.Messages.SuiteDataStoreInitRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// ExecutionStarting is a RPC to tell runner to execute Suite level hooks. - /// - /// Accepts a ExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task StartExecution(global::Gauge.Messages.ExecutionStartingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// SpecDataStoreInit is a RPC to initialize the spec level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task InitializeSpecDataStore(global::Gauge.Messages.SpecDataStoreInitRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// SpecExecutionStarting is a RPC to tell runner to execute spec level hooks. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task StartSpecExecution(global::Gauge.Messages.SpecExecutionStartingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// ScenarioDataStoreInit is a RPC to initialize the scenario level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task InitializeScenarioDataStore(global::Gauge.Messages.ScenarioDataStoreInitRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// ScenarioExecutionStarting is a RPC to tell runner to execute scenario level hooks. - /// - /// Accepts a ScenarioExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task StartScenarioExecution(global::Gauge.Messages.ScenarioExecutionStartingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// StepExecutionStarting is a RPC to tell runner to execute step level hooks. - /// - /// Accepts a StepExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task StartStepExecution(global::Gauge.Messages.StepExecutionStartingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// ExecuteStep is a RPC to tell runner to execute a step . - /// - /// Accepts a ExecuteStepRequest message and returns a ExecutionStatusResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task ExecuteStep(global::Gauge.Messages.ExecuteStepRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// StepExecutionEnding is a RPC to tell runner to execute step level hooks. - /// - /// Accepts a StepExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task FinishStepExecution(global::Gauge.Messages.StepExecutionEndingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// ScenarioExecutionEnding is a RPC to tell runner to execute Scenario level hooks. - /// - /// Accepts a ScenarioExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task FinishScenarioExecution(global::Gauge.Messages.ScenarioExecutionEndingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// SpecExecutionEnding is a RPC to tell runner to execute spec level hooks. - /// - /// Accepts a SpecExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task FinishSpecExecution(global::Gauge.Messages.SpecExecutionEndingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// ExecutionEnding is a RPC to tell runner to execute suite level hooks. - /// - /// Accepts a ExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task FinishExecution(global::Gauge.Messages.ExecutionEndingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// CacheFile is a RPC to tell runner to load/reload/unload a implementation file. - /// - /// Accepts a CacheFileRequest message and returns a Empty message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task CacheFile(global::Gauge.Messages.CacheFileRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// GetStepName is a RPC to get information about the given step. - /// - /// Accepts a StepNameRequest message and returns a StepNameResponse message. - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task GetStepName(global::Gauge.Messages.StepNameRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// GetGlobPatterns is a RPC to get the file path pattern which needs to be cached. - /// - /// Accepts a Empty message and returns a ImplementationFileGlobPatternResponse message. - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task GetGlobPatterns(global::Gauge.Messages.Empty request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// GetStepNames is a RPC to get all the available steps from the runner. - /// - /// Accepts a StepNamesRequest message and returns a StepNamesResponse - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task GetStepNames(global::Gauge.Messages.StepNamesRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// GetStepPositions is a RPC to get positions of all available steps in a given file. - /// - /// Accepts a StepPositionsRequest message and returns a StepPositionsResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task GetStepPositions(global::Gauge.Messages.StepPositionsRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// GetImplementationFiles is a RPC get all the existing implementation files. - /// - /// Accepts a Empty and returns a ImplementationFileListResponse message. - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task GetImplementationFiles(global::Gauge.Messages.Empty request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// ImplementStub is a RPC to to ask runner to add a given implementation to given file. - /// - /// Accepts a StubImplementationCodeRequest and returns a FileDiff message. - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task ImplementStub(global::Gauge.Messages.StubImplementationCodeRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// Refactor is a RPC to refactor a given step in implementation file. - /// - /// Accepts a RefactorRequest message and returns a RefactorResponse message. - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task Refactor(global::Gauge.Messages.RefactorRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task Kill(global::Gauge.Messages.KillProcessRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// NotifyConceptExecutionStarting is a RPC to tell plugins that the concept execution has started. - /// - /// Accepts a ConceptExecutionStartingRequest message and returns an ExecutionStatusResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task NotifyConceptExecutionStarting(global::Gauge.Messages.ConceptExecutionStartingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// NotifyConceptExecutionEnding is a RPC to tell plugins that the concept execution has finished. - /// - /// Accepts a ConceptExecutionEndingRequest message and returns an ExecutionStatusResponse message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task NotifyConceptExecutionEnding(global::Gauge.Messages.ConceptExecutionEndingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - } - - /// Client for Runner - public partial class RunnerClient : grpc::ClientBase - { - /// Creates a new client for Runner - /// The channel to use to make remote calls. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public RunnerClient(grpc::ChannelBase channel) : base(channel) - { - } - /// Creates a new client for Runner that uses a custom CallInvoker. - /// The callInvoker to use to make remote calls. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public RunnerClient(grpc::CallInvoker callInvoker) : base(callInvoker) - { - } - /// Protected parameterless constructor to allow creation of test doubles. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - protected RunnerClient() : base() - { - } - /// Protected constructor to allow creation of configured clients. - /// The client configuration. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - protected RunnerClient(ClientBaseConfiguration configuration) : base(configuration) - { - } - - /// - /// ValidateStep is a RPC to validate a given step. - /// - /// Accepts a StepValidateRequest message and returns a StepValidateResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepValidateResponse ValidateStep(global::Gauge.Messages.StepValidateRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return ValidateStep(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ValidateStep is a RPC to validate a given step. - /// - /// Accepts a StepValidateRequest message and returns a StepValidateResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepValidateResponse ValidateStep(global::Gauge.Messages.StepValidateRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_ValidateStep, null, options, request); - } - /// - /// ValidateStep is a RPC to validate a given step. - /// - /// Accepts a StepValidateRequest message and returns a StepValidateResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall ValidateStepAsync(global::Gauge.Messages.StepValidateRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return ValidateStepAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ValidateStep is a RPC to validate a given step. - /// - /// Accepts a StepValidateRequest message and returns a StepValidateResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall ValidateStepAsync(global::Gauge.Messages.StepValidateRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_ValidateStep, null, options, request); - } - /// - /// SuiteDataStoreInit is a RPC to initialize the suite level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse InitializeSuiteDataStore(global::Gauge.Messages.SuiteDataStoreInitRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return InitializeSuiteDataStore(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// SuiteDataStoreInit is a RPC to initialize the suite level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse InitializeSuiteDataStore(global::Gauge.Messages.SuiteDataStoreInitRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_InitializeSuiteDataStore, null, options, request); - } - /// - /// SuiteDataStoreInit is a RPC to initialize the suite level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall InitializeSuiteDataStoreAsync(global::Gauge.Messages.SuiteDataStoreInitRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return InitializeSuiteDataStoreAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// SuiteDataStoreInit is a RPC to initialize the suite level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall InitializeSuiteDataStoreAsync(global::Gauge.Messages.SuiteDataStoreInitRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_InitializeSuiteDataStore, null, options, request); - } - /// - /// ExecutionStarting is a RPC to tell runner to execute Suite level hooks. - /// - /// Accepts a ExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse StartExecution(global::Gauge.Messages.ExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return StartExecution(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ExecutionStarting is a RPC to tell runner to execute Suite level hooks. - /// - /// Accepts a ExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse StartExecution(global::Gauge.Messages.ExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_StartExecution, null, options, request); - } - /// - /// ExecutionStarting is a RPC to tell runner to execute Suite level hooks. - /// - /// Accepts a ExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall StartExecutionAsync(global::Gauge.Messages.ExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return StartExecutionAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ExecutionStarting is a RPC to tell runner to execute Suite level hooks. - /// - /// Accepts a ExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall StartExecutionAsync(global::Gauge.Messages.ExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_StartExecution, null, options, request); - } - /// - /// SpecDataStoreInit is a RPC to initialize the spec level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse InitializeSpecDataStore(global::Gauge.Messages.SpecDataStoreInitRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return InitializeSpecDataStore(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// SpecDataStoreInit is a RPC to initialize the spec level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse InitializeSpecDataStore(global::Gauge.Messages.SpecDataStoreInitRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_InitializeSpecDataStore, null, options, request); - } - /// - /// SpecDataStoreInit is a RPC to initialize the spec level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall InitializeSpecDataStoreAsync(global::Gauge.Messages.SpecDataStoreInitRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return InitializeSpecDataStoreAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// SpecDataStoreInit is a RPC to initialize the spec level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall InitializeSpecDataStoreAsync(global::Gauge.Messages.SpecDataStoreInitRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_InitializeSpecDataStore, null, options, request); - } - /// - /// SpecExecutionStarting is a RPC to tell runner to execute spec level hooks. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse StartSpecExecution(global::Gauge.Messages.SpecExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return StartSpecExecution(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// SpecExecutionStarting is a RPC to tell runner to execute spec level hooks. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse StartSpecExecution(global::Gauge.Messages.SpecExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_StartSpecExecution, null, options, request); - } - /// - /// SpecExecutionStarting is a RPC to tell runner to execute spec level hooks. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall StartSpecExecutionAsync(global::Gauge.Messages.SpecExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return StartSpecExecutionAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// SpecExecutionStarting is a RPC to tell runner to execute spec level hooks. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall StartSpecExecutionAsync(global::Gauge.Messages.SpecExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_StartSpecExecution, null, options, request); - } - /// - /// ScenarioDataStoreInit is a RPC to initialize the scenario level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse InitializeScenarioDataStore(global::Gauge.Messages.ScenarioDataStoreInitRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return InitializeScenarioDataStore(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ScenarioDataStoreInit is a RPC to initialize the scenario level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse InitializeScenarioDataStore(global::Gauge.Messages.ScenarioDataStoreInitRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_InitializeScenarioDataStore, null, options, request); - } - /// - /// ScenarioDataStoreInit is a RPC to initialize the scenario level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall InitializeScenarioDataStoreAsync(global::Gauge.Messages.ScenarioDataStoreInitRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return InitializeScenarioDataStoreAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ScenarioDataStoreInit is a RPC to initialize the scenario level data store. - /// - /// Accepts a Empty message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall InitializeScenarioDataStoreAsync(global::Gauge.Messages.ScenarioDataStoreInitRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_InitializeScenarioDataStore, null, options, request); - } - /// - /// ScenarioExecutionStarting is a RPC to tell runner to execute scenario level hooks. - /// - /// Accepts a ScenarioExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse StartScenarioExecution(global::Gauge.Messages.ScenarioExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return StartScenarioExecution(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ScenarioExecutionStarting is a RPC to tell runner to execute scenario level hooks. - /// - /// Accepts a ScenarioExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse StartScenarioExecution(global::Gauge.Messages.ScenarioExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_StartScenarioExecution, null, options, request); - } - /// - /// ScenarioExecutionStarting is a RPC to tell runner to execute scenario level hooks. - /// - /// Accepts a ScenarioExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall StartScenarioExecutionAsync(global::Gauge.Messages.ScenarioExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return StartScenarioExecutionAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ScenarioExecutionStarting is a RPC to tell runner to execute scenario level hooks. - /// - /// Accepts a ScenarioExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall StartScenarioExecutionAsync(global::Gauge.Messages.ScenarioExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_StartScenarioExecution, null, options, request); - } - /// - /// StepExecutionStarting is a RPC to tell runner to execute step level hooks. - /// - /// Accepts a StepExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse StartStepExecution(global::Gauge.Messages.StepExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return StartStepExecution(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// StepExecutionStarting is a RPC to tell runner to execute step level hooks. - /// - /// Accepts a StepExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse StartStepExecution(global::Gauge.Messages.StepExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_StartStepExecution, null, options, request); - } - /// - /// StepExecutionStarting is a RPC to tell runner to execute step level hooks. - /// - /// Accepts a StepExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall StartStepExecutionAsync(global::Gauge.Messages.StepExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return StartStepExecutionAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// StepExecutionStarting is a RPC to tell runner to execute step level hooks. - /// - /// Accepts a StepExecutionStartingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall StartStepExecutionAsync(global::Gauge.Messages.StepExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_StartStepExecution, null, options, request); - } - /// - /// ExecuteStep is a RPC to tell runner to execute a step . - /// - /// Accepts a ExecuteStepRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse ExecuteStep(global::Gauge.Messages.ExecuteStepRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return ExecuteStep(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ExecuteStep is a RPC to tell runner to execute a step . - /// - /// Accepts a ExecuteStepRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse ExecuteStep(global::Gauge.Messages.ExecuteStepRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_ExecuteStep, null, options, request); - } - /// - /// ExecuteStep is a RPC to tell runner to execute a step . - /// - /// Accepts a ExecuteStepRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall ExecuteStepAsync(global::Gauge.Messages.ExecuteStepRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return ExecuteStepAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ExecuteStep is a RPC to tell runner to execute a step . - /// - /// Accepts a ExecuteStepRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall ExecuteStepAsync(global::Gauge.Messages.ExecuteStepRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_ExecuteStep, null, options, request); - } - /// - /// StepExecutionEnding is a RPC to tell runner to execute step level hooks. - /// - /// Accepts a StepExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse FinishStepExecution(global::Gauge.Messages.StepExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return FinishStepExecution(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// StepExecutionEnding is a RPC to tell runner to execute step level hooks. - /// - /// Accepts a StepExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse FinishStepExecution(global::Gauge.Messages.StepExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_FinishStepExecution, null, options, request); - } - /// - /// StepExecutionEnding is a RPC to tell runner to execute step level hooks. - /// - /// Accepts a StepExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall FinishStepExecutionAsync(global::Gauge.Messages.StepExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return FinishStepExecutionAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// StepExecutionEnding is a RPC to tell runner to execute step level hooks. - /// - /// Accepts a StepExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall FinishStepExecutionAsync(global::Gauge.Messages.StepExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_FinishStepExecution, null, options, request); - } - /// - /// ScenarioExecutionEnding is a RPC to tell runner to execute Scenario level hooks. - /// - /// Accepts a ScenarioExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse FinishScenarioExecution(global::Gauge.Messages.ScenarioExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return FinishScenarioExecution(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ScenarioExecutionEnding is a RPC to tell runner to execute Scenario level hooks. - /// - /// Accepts a ScenarioExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse FinishScenarioExecution(global::Gauge.Messages.ScenarioExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_FinishScenarioExecution, null, options, request); - } - /// - /// ScenarioExecutionEnding is a RPC to tell runner to execute Scenario level hooks. - /// - /// Accepts a ScenarioExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall FinishScenarioExecutionAsync(global::Gauge.Messages.ScenarioExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return FinishScenarioExecutionAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ScenarioExecutionEnding is a RPC to tell runner to execute Scenario level hooks. - /// - /// Accepts a ScenarioExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall FinishScenarioExecutionAsync(global::Gauge.Messages.ScenarioExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_FinishScenarioExecution, null, options, request); - } - /// - /// SpecExecutionEnding is a RPC to tell runner to execute spec level hooks. - /// - /// Accepts a SpecExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse FinishSpecExecution(global::Gauge.Messages.SpecExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return FinishSpecExecution(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// SpecExecutionEnding is a RPC to tell runner to execute spec level hooks. - /// - /// Accepts a SpecExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse FinishSpecExecution(global::Gauge.Messages.SpecExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_FinishSpecExecution, null, options, request); - } - /// - /// SpecExecutionEnding is a RPC to tell runner to execute spec level hooks. - /// - /// Accepts a SpecExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall FinishSpecExecutionAsync(global::Gauge.Messages.SpecExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return FinishSpecExecutionAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// SpecExecutionEnding is a RPC to tell runner to execute spec level hooks. - /// - /// Accepts a SpecExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall FinishSpecExecutionAsync(global::Gauge.Messages.SpecExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_FinishSpecExecution, null, options, request); - } - /// - /// ExecutionEnding is a RPC to tell runner to execute suite level hooks. - /// - /// Accepts a ExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse FinishExecution(global::Gauge.Messages.ExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return FinishExecution(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ExecutionEnding is a RPC to tell runner to execute suite level hooks. - /// - /// Accepts a ExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse FinishExecution(global::Gauge.Messages.ExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_FinishExecution, null, options, request); - } - /// - /// ExecutionEnding is a RPC to tell runner to execute suite level hooks. - /// - /// Accepts a ExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall FinishExecutionAsync(global::Gauge.Messages.ExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return FinishExecutionAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ExecutionEnding is a RPC to tell runner to execute suite level hooks. - /// - /// Accepts a ExecutionEndingRequest message and returns a ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall FinishExecutionAsync(global::Gauge.Messages.ExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_FinishExecution, null, options, request); - } - /// - /// CacheFile is a RPC to tell runner to load/reload/unload a implementation file. - /// - /// Accepts a CacheFileRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty CacheFile(global::Gauge.Messages.CacheFileRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return CacheFile(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// CacheFile is a RPC to tell runner to load/reload/unload a implementation file. - /// - /// Accepts a CacheFileRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty CacheFile(global::Gauge.Messages.CacheFileRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_CacheFile, null, options, request); - } - /// - /// CacheFile is a RPC to tell runner to load/reload/unload a implementation file. - /// - /// Accepts a CacheFileRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall CacheFileAsync(global::Gauge.Messages.CacheFileRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return CacheFileAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// CacheFile is a RPC to tell runner to load/reload/unload a implementation file. - /// - /// Accepts a CacheFileRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall CacheFileAsync(global::Gauge.Messages.CacheFileRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_CacheFile, null, options, request); - } - /// - /// GetStepName is a RPC to get information about the given step. - /// - /// Accepts a StepNameRequest message and returns a StepNameResponse message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepNameResponse GetStepName(global::Gauge.Messages.StepNameRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetStepName(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// GetStepName is a RPC to get information about the given step. - /// - /// Accepts a StepNameRequest message and returns a StepNameResponse message. - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepNameResponse GetStepName(global::Gauge.Messages.StepNameRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_GetStepName, null, options, request); - } - /// - /// GetStepName is a RPC to get information about the given step. - /// - /// Accepts a StepNameRequest message and returns a StepNameResponse message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetStepNameAsync(global::Gauge.Messages.StepNameRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetStepNameAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// GetStepName is a RPC to get information about the given step. - /// - /// Accepts a StepNameRequest message and returns a StepNameResponse message. - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetStepNameAsync(global::Gauge.Messages.StepNameRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_GetStepName, null, options, request); - } - /// - /// GetGlobPatterns is a RPC to get the file path pattern which needs to be cached. - /// - /// Accepts a Empty message and returns a ImplementationFileGlobPatternResponse message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ImplementationFileGlobPatternResponse GetGlobPatterns(global::Gauge.Messages.Empty request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetGlobPatterns(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// GetGlobPatterns is a RPC to get the file path pattern which needs to be cached. - /// - /// Accepts a Empty message and returns a ImplementationFileGlobPatternResponse message. - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ImplementationFileGlobPatternResponse GetGlobPatterns(global::Gauge.Messages.Empty request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_GetGlobPatterns, null, options, request); - } - /// - /// GetGlobPatterns is a RPC to get the file path pattern which needs to be cached. - /// - /// Accepts a Empty message and returns a ImplementationFileGlobPatternResponse message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetGlobPatternsAsync(global::Gauge.Messages.Empty request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetGlobPatternsAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// GetGlobPatterns is a RPC to get the file path pattern which needs to be cached. - /// - /// Accepts a Empty message and returns a ImplementationFileGlobPatternResponse message. - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetGlobPatternsAsync(global::Gauge.Messages.Empty request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_GetGlobPatterns, null, options, request); - } - /// - /// GetStepNames is a RPC to get all the available steps from the runner. - /// - /// Accepts a StepNamesRequest message and returns a StepNamesResponse - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepNamesResponse GetStepNames(global::Gauge.Messages.StepNamesRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetStepNames(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// GetStepNames is a RPC to get all the available steps from the runner. - /// - /// Accepts a StepNamesRequest message and returns a StepNamesResponse - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepNamesResponse GetStepNames(global::Gauge.Messages.StepNamesRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_GetStepNames, null, options, request); - } - /// - /// GetStepNames is a RPC to get all the available steps from the runner. - /// - /// Accepts a StepNamesRequest message and returns a StepNamesResponse - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetStepNamesAsync(global::Gauge.Messages.StepNamesRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetStepNamesAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// GetStepNames is a RPC to get all the available steps from the runner. - /// - /// Accepts a StepNamesRequest message and returns a StepNamesResponse - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetStepNamesAsync(global::Gauge.Messages.StepNamesRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_GetStepNames, null, options, request); - } - /// - /// GetStepPositions is a RPC to get positions of all available steps in a given file. - /// - /// Accepts a StepPositionsRequest message and returns a StepPositionsResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepPositionsResponse GetStepPositions(global::Gauge.Messages.StepPositionsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetStepPositions(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// GetStepPositions is a RPC to get positions of all available steps in a given file. - /// - /// Accepts a StepPositionsRequest message and returns a StepPositionsResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.StepPositionsResponse GetStepPositions(global::Gauge.Messages.StepPositionsRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_GetStepPositions, null, options, request); - } - /// - /// GetStepPositions is a RPC to get positions of all available steps in a given file. - /// - /// Accepts a StepPositionsRequest message and returns a StepPositionsResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetStepPositionsAsync(global::Gauge.Messages.StepPositionsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetStepPositionsAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// GetStepPositions is a RPC to get positions of all available steps in a given file. - /// - /// Accepts a StepPositionsRequest message and returns a StepPositionsResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetStepPositionsAsync(global::Gauge.Messages.StepPositionsRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_GetStepPositions, null, options, request); - } - /// - /// GetImplementationFiles is a RPC get all the existing implementation files. - /// - /// Accepts a Empty and returns a ImplementationFileListResponse message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ImplementationFileListResponse GetImplementationFiles(global::Gauge.Messages.Empty request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetImplementationFiles(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// GetImplementationFiles is a RPC get all the existing implementation files. - /// - /// Accepts a Empty and returns a ImplementationFileListResponse message. - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ImplementationFileListResponse GetImplementationFiles(global::Gauge.Messages.Empty request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_GetImplementationFiles, null, options, request); - } - /// - /// GetImplementationFiles is a RPC get all the existing implementation files. - /// - /// Accepts a Empty and returns a ImplementationFileListResponse message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetImplementationFilesAsync(global::Gauge.Messages.Empty request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GetImplementationFilesAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// GetImplementationFiles is a RPC get all the existing implementation files. - /// - /// Accepts a Empty and returns a ImplementationFileListResponse message. - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GetImplementationFilesAsync(global::Gauge.Messages.Empty request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_GetImplementationFiles, null, options, request); - } - /// - /// ImplementStub is a RPC to to ask runner to add a given implementation to given file. - /// - /// Accepts a StubImplementationCodeRequest and returns a FileDiff message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.FileDiff ImplementStub(global::Gauge.Messages.StubImplementationCodeRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return ImplementStub(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ImplementStub is a RPC to to ask runner to add a given implementation to given file. - /// - /// Accepts a StubImplementationCodeRequest and returns a FileDiff message. - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.FileDiff ImplementStub(global::Gauge.Messages.StubImplementationCodeRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_ImplementStub, null, options, request); - } - /// - /// ImplementStub is a RPC to to ask runner to add a given implementation to given file. - /// - /// Accepts a StubImplementationCodeRequest and returns a FileDiff message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall ImplementStubAsync(global::Gauge.Messages.StubImplementationCodeRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return ImplementStubAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// ImplementStub is a RPC to to ask runner to add a given implementation to given file. - /// - /// Accepts a StubImplementationCodeRequest and returns a FileDiff message. - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall ImplementStubAsync(global::Gauge.Messages.StubImplementationCodeRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_ImplementStub, null, options, request); - } - /// - /// Refactor is a RPC to refactor a given step in implementation file. - /// - /// Accepts a RefactorRequest message and returns a RefactorResponse message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.RefactorResponse Refactor(global::Gauge.Messages.RefactorRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return Refactor(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// Refactor is a RPC to refactor a given step in implementation file. - /// - /// Accepts a RefactorRequest message and returns a RefactorResponse message. - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.RefactorResponse Refactor(global::Gauge.Messages.RefactorRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_Refactor, null, options, request); - } - /// - /// Refactor is a RPC to refactor a given step in implementation file. - /// - /// Accepts a RefactorRequest message and returns a RefactorResponse message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall RefactorAsync(global::Gauge.Messages.RefactorRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return RefactorAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// Refactor is a RPC to refactor a given step in implementation file. - /// - /// Accepts a RefactorRequest message and returns a RefactorResponse message. - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall RefactorAsync(global::Gauge.Messages.RefactorRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_Refactor, null, options, request); - } - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty Kill(global::Gauge.Messages.KillProcessRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return Kill(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty Kill(global::Gauge.Messages.KillProcessRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_Kill, null, options, request); - } - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall KillAsync(global::Gauge.Messages.KillProcessRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return KillAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall KillAsync(global::Gauge.Messages.KillProcessRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_Kill, null, options, request); - } - /// - /// NotifyConceptExecutionStarting is a RPC to tell plugins that the concept execution has started. - /// - /// Accepts a ConceptExecutionStartingRequest message and returns an ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse NotifyConceptExecutionStarting(global::Gauge.Messages.ConceptExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyConceptExecutionStarting(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyConceptExecutionStarting is a RPC to tell plugins that the concept execution has started. - /// - /// Accepts a ConceptExecutionStartingRequest message and returns an ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse NotifyConceptExecutionStarting(global::Gauge.Messages.ConceptExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_NotifyConceptExecutionStarting, null, options, request); - } - /// - /// NotifyConceptExecutionStarting is a RPC to tell plugins that the concept execution has started. - /// - /// Accepts a ConceptExecutionStartingRequest message and returns an ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyConceptExecutionStartingAsync(global::Gauge.Messages.ConceptExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyConceptExecutionStartingAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyConceptExecutionStarting is a RPC to tell plugins that the concept execution has started. - /// - /// Accepts a ConceptExecutionStartingRequest message and returns an ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyConceptExecutionStartingAsync(global::Gauge.Messages.ConceptExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_NotifyConceptExecutionStarting, null, options, request); - } - /// - /// NotifyConceptExecutionEnding is a RPC to tell plugins that the concept execution has finished. - /// - /// Accepts a ConceptExecutionEndingRequest message and returns an ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse NotifyConceptExecutionEnding(global::Gauge.Messages.ConceptExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyConceptExecutionEnding(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyConceptExecutionEnding is a RPC to tell plugins that the concept execution has finished. - /// - /// Accepts a ConceptExecutionEndingRequest message and returns an ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.ExecutionStatusResponse NotifyConceptExecutionEnding(global::Gauge.Messages.ConceptExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_NotifyConceptExecutionEnding, null, options, request); - } - /// - /// NotifyConceptExecutionEnding is a RPC to tell plugins that the concept execution has finished. - /// - /// Accepts a ConceptExecutionEndingRequest message and returns an ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyConceptExecutionEndingAsync(global::Gauge.Messages.ConceptExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyConceptExecutionEndingAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyConceptExecutionEnding is a RPC to tell plugins that the concept execution has finished. - /// - /// Accepts a ConceptExecutionEndingRequest message and returns an ExecutionStatusResponse message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyConceptExecutionEndingAsync(global::Gauge.Messages.ConceptExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_NotifyConceptExecutionEnding, null, options, request); - } - /// Creates a new instance of client from given ClientBaseConfiguration. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - protected override RunnerClient NewInstance(ClientBaseConfiguration configuration) - { - return new RunnerClient(configuration); - } - } - - /// Creates service definition that can be registered with a server - /// An object implementing the server-side handling logic. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public static grpc::ServerServiceDefinition BindService(RunnerBase serviceImpl) - { - return grpc::ServerServiceDefinition.CreateBuilder() - .AddMethod(__Method_ValidateStep, serviceImpl.ValidateStep) - .AddMethod(__Method_InitializeSuiteDataStore, serviceImpl.InitializeSuiteDataStore) - .AddMethod(__Method_StartExecution, serviceImpl.StartExecution) - .AddMethod(__Method_InitializeSpecDataStore, serviceImpl.InitializeSpecDataStore) - .AddMethod(__Method_StartSpecExecution, serviceImpl.StartSpecExecution) - .AddMethod(__Method_InitializeScenarioDataStore, serviceImpl.InitializeScenarioDataStore) - .AddMethod(__Method_StartScenarioExecution, serviceImpl.StartScenarioExecution) - .AddMethod(__Method_StartStepExecution, serviceImpl.StartStepExecution) - .AddMethod(__Method_ExecuteStep, serviceImpl.ExecuteStep) - .AddMethod(__Method_FinishStepExecution, serviceImpl.FinishStepExecution) - .AddMethod(__Method_FinishScenarioExecution, serviceImpl.FinishScenarioExecution) - .AddMethod(__Method_FinishSpecExecution, serviceImpl.FinishSpecExecution) - .AddMethod(__Method_FinishExecution, serviceImpl.FinishExecution) - .AddMethod(__Method_CacheFile, serviceImpl.CacheFile) - .AddMethod(__Method_GetStepName, serviceImpl.GetStepName) - .AddMethod(__Method_GetGlobPatterns, serviceImpl.GetGlobPatterns) - .AddMethod(__Method_GetStepNames, serviceImpl.GetStepNames) - .AddMethod(__Method_GetStepPositions, serviceImpl.GetStepPositions) - .AddMethod(__Method_GetImplementationFiles, serviceImpl.GetImplementationFiles) - .AddMethod(__Method_ImplementStub, serviceImpl.ImplementStub) - .AddMethod(__Method_Refactor, serviceImpl.Refactor) - .AddMethod(__Method_Kill, serviceImpl.Kill) - .AddMethod(__Method_NotifyConceptExecutionStarting, serviceImpl.NotifyConceptExecutionStarting) - .AddMethod(__Method_NotifyConceptExecutionEnding, serviceImpl.NotifyConceptExecutionEnding).Build(); - } - - /// Register service method with a service binder with or without implementation. Useful when customizing the service binding logic. - /// Note: this method is part of an experimental API that can change or be removed without any prior notice. - /// Service methods will be bound by calling AddMethod on this object. - /// An object implementing the server-side handling logic. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public static void BindService(grpc::ServiceBinderBase serviceBinder, RunnerBase serviceImpl) - { - serviceBinder.AddMethod(__Method_ValidateStep, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.ValidateStep)); - serviceBinder.AddMethod(__Method_InitializeSuiteDataStore, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.InitializeSuiteDataStore)); - serviceBinder.AddMethod(__Method_StartExecution, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.StartExecution)); - serviceBinder.AddMethod(__Method_InitializeSpecDataStore, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.InitializeSpecDataStore)); - serviceBinder.AddMethod(__Method_StartSpecExecution, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.StartSpecExecution)); - serviceBinder.AddMethod(__Method_InitializeScenarioDataStore, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.InitializeScenarioDataStore)); - serviceBinder.AddMethod(__Method_StartScenarioExecution, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.StartScenarioExecution)); - serviceBinder.AddMethod(__Method_StartStepExecution, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.StartStepExecution)); - serviceBinder.AddMethod(__Method_ExecuteStep, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.ExecuteStep)); - serviceBinder.AddMethod(__Method_FinishStepExecution, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.FinishStepExecution)); - serviceBinder.AddMethod(__Method_FinishScenarioExecution, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.FinishScenarioExecution)); - serviceBinder.AddMethod(__Method_FinishSpecExecution, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.FinishSpecExecution)); - serviceBinder.AddMethod(__Method_FinishExecution, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.FinishExecution)); - serviceBinder.AddMethod(__Method_CacheFile, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.CacheFile)); - serviceBinder.AddMethod(__Method_GetStepName, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.GetStepName)); - serviceBinder.AddMethod(__Method_GetGlobPatterns, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.GetGlobPatterns)); - serviceBinder.AddMethod(__Method_GetStepNames, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.GetStepNames)); - serviceBinder.AddMethod(__Method_GetStepPositions, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.GetStepPositions)); - serviceBinder.AddMethod(__Method_GetImplementationFiles, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.GetImplementationFiles)); - serviceBinder.AddMethod(__Method_ImplementStub, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.ImplementStub)); - serviceBinder.AddMethod(__Method_Refactor, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.Refactor)); - serviceBinder.AddMethod(__Method_Kill, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.Kill)); - serviceBinder.AddMethod(__Method_NotifyConceptExecutionStarting, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.NotifyConceptExecutionStarting)); - serviceBinder.AddMethod(__Method_NotifyConceptExecutionEnding, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.NotifyConceptExecutionEnding)); - } - - } - /// - /// Reporter services is meant for reporting plugins, or others plugins which are interested the live events - /// - public static partial class Reporter - { - static readonly string __ServiceName = "gauge.messages.Reporter"; - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context) - { - #if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION - if (message is global::Google.Protobuf.IBufferMessage) - { - context.SetPayloadLength(message.CalculateSize()); - global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter()); - context.Complete(); - return; - } - #endif - context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message)); - } - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static class __Helper_MessageCache - { - public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T)); - } - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static T __Helper_DeserializeMessage(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser parser) where T : global::Google.Protobuf.IMessage - { - #if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION - if (__Helper_MessageCache.IsBufferMessage) - { - return parser.ParseFrom(context.PayloadAsReadOnlySequence()); - } - #endif - return parser.ParseFrom(context.PayloadAsNewBuffer()); - } - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ExecutionStartingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ExecutionStartingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_Empty = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.Empty.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_SpecExecutionStartingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.SpecExecutionStartingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ScenarioExecutionStartingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ScenarioExecutionStartingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ConceptExecutionStartingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ConceptExecutionStartingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ConceptExecutionEndingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ConceptExecutionEndingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepExecutionStartingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepExecutionStartingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_StepExecutionEndingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.StepExecutionEndingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ScenarioExecutionEndingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ScenarioExecutionEndingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_SpecExecutionEndingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.SpecExecutionEndingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_ExecutionEndingRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.ExecutionEndingRequest.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_SuiteExecutionResult = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.SuiteExecutionResult.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_KillProcessRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.KillProcessRequest.Parser)); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_NotifyExecutionStarting = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "NotifyExecutionStarting", - __Marshaller_gauge_messages_ExecutionStartingRequest, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_NotifySpecExecutionStarting = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "NotifySpecExecutionStarting", - __Marshaller_gauge_messages_SpecExecutionStartingRequest, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_NotifyScenarioExecutionStarting = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "NotifyScenarioExecutionStarting", - __Marshaller_gauge_messages_ScenarioExecutionStartingRequest, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_NotifyConceptExecutionStarting = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "NotifyConceptExecutionStarting", - __Marshaller_gauge_messages_ConceptExecutionStartingRequest, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_NotifyConceptExecutionEnding = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "NotifyConceptExecutionEnding", - __Marshaller_gauge_messages_ConceptExecutionEndingRequest, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_NotifyStepExecutionStarting = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "NotifyStepExecutionStarting", - __Marshaller_gauge_messages_StepExecutionStartingRequest, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_NotifyStepExecutionEnding = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "NotifyStepExecutionEnding", - __Marshaller_gauge_messages_StepExecutionEndingRequest, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_NotifyScenarioExecutionEnding = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "NotifyScenarioExecutionEnding", - __Marshaller_gauge_messages_ScenarioExecutionEndingRequest, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_NotifySpecExecutionEnding = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "NotifySpecExecutionEnding", - __Marshaller_gauge_messages_SpecExecutionEndingRequest, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_NotifyExecutionEnding = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "NotifyExecutionEnding", - __Marshaller_gauge_messages_ExecutionEndingRequest, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_NotifySuiteResult = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "NotifySuiteResult", - __Marshaller_gauge_messages_SuiteExecutionResult, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_Kill = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "Kill", - __Marshaller_gauge_messages_KillProcessRequest, - __Marshaller_gauge_messages_Empty); - - /// Service descriptor - public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor - { - get { return global::Gauge.Messages.ServicesReflection.Descriptor.Services[1]; } - } - - /// Base class for server-side implementations of Reporter - [grpc::BindServiceMethod(typeof(Reporter), "BindService")] - public abstract partial class ReporterBase - { - /// - /// NotifyExecutionStarting is a RPC to tell plugins that the execution has started. - /// - /// Accepts a ExecutionStartingRequest message and returns a Empty message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task NotifyExecutionStarting(global::Gauge.Messages.ExecutionStartingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// NotifySpecExecutionStarting is a RPC to tell plugins that the specification execution has started. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a Empty message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task NotifySpecExecutionStarting(global::Gauge.Messages.SpecExecutionStartingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// NotifyScenarioExecutionStarting is a RPC to tell plugins that the scenario execution has started. - /// - /// Accepts a ScenarioExecutionStartingRequest message and returns a Empty message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task NotifyScenarioExecutionStarting(global::Gauge.Messages.ScenarioExecutionStartingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// NotifyConceptExecutionStarting is a RPC to tell plugins that the concept execution has started. - /// - /// Accepts a ConceptExecutionStartingRequest message and returns a Empty message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task NotifyConceptExecutionStarting(global::Gauge.Messages.ConceptExecutionStartingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// NotifyConceptExecutionEnding is a RPC to tell plugins that the concept execution has finished. - /// - /// Accepts a ConceptExecutionEndingRequest message and returns a Empty message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task NotifyConceptExecutionEnding(global::Gauge.Messages.ConceptExecutionEndingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// NotifyStepExecutionStarting is a RPC to tell plugins that the step execution has started. - /// - /// Accepts a StepExecutionStartingRequest message and returns a Empty message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task NotifyStepExecutionStarting(global::Gauge.Messages.StepExecutionStartingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// NotifyStepExecutionEnding is a RPC to tell plugins that the step execution has finished. - /// - /// Accepts a StepExecutionStartingRequest message and returns a Empty message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task NotifyStepExecutionEnding(global::Gauge.Messages.StepExecutionEndingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// NotifyScenarioExecutionEnding is a RPC to tell plugins that the scenario execution has finished. - /// - /// Accepts a ScenarioExecutionEndingRequest message and returns a Empty message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task NotifyScenarioExecutionEnding(global::Gauge.Messages.ScenarioExecutionEndingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// NotifySpecExecutionEnding is a RPC to tell plugins that the specification execution has finished. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a Empty message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task NotifySpecExecutionEnding(global::Gauge.Messages.SpecExecutionEndingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// NotifyExecutionEnding is a RPC to tell plugins that the execution has finished. - /// - /// Accepts a ExecutionEndingRequest message and returns a Empty message - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task NotifyExecutionEnding(global::Gauge.Messages.ExecutionEndingRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// NotifySuiteResult is a RPC to tell about the end result of execution - /// - /// Accepts a SuiteExecutionResult message and returns a Empty message. - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task NotifySuiteResult(global::Gauge.Messages.SuiteExecutionResult request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task Kill(global::Gauge.Messages.KillProcessRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - } - - /// Client for Reporter - public partial class ReporterClient : grpc::ClientBase - { - /// Creates a new client for Reporter - /// The channel to use to make remote calls. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public ReporterClient(grpc::ChannelBase channel) : base(channel) - { - } - /// Creates a new client for Reporter that uses a custom CallInvoker. - /// The callInvoker to use to make remote calls. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public ReporterClient(grpc::CallInvoker callInvoker) : base(callInvoker) - { - } - /// Protected parameterless constructor to allow creation of test doubles. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - protected ReporterClient() : base() - { - } - /// Protected constructor to allow creation of configured clients. - /// The client configuration. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - protected ReporterClient(ClientBaseConfiguration configuration) : base(configuration) - { - } - - /// - /// NotifyExecutionStarting is a RPC to tell plugins that the execution has started. - /// - /// Accepts a ExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyExecutionStarting(global::Gauge.Messages.ExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyExecutionStarting(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyExecutionStarting is a RPC to tell plugins that the execution has started. - /// - /// Accepts a ExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyExecutionStarting(global::Gauge.Messages.ExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_NotifyExecutionStarting, null, options, request); - } - /// - /// NotifyExecutionStarting is a RPC to tell plugins that the execution has started. - /// - /// Accepts a ExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyExecutionStartingAsync(global::Gauge.Messages.ExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyExecutionStartingAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyExecutionStarting is a RPC to tell plugins that the execution has started. - /// - /// Accepts a ExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyExecutionStartingAsync(global::Gauge.Messages.ExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_NotifyExecutionStarting, null, options, request); - } - /// - /// NotifySpecExecutionStarting is a RPC to tell plugins that the specification execution has started. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifySpecExecutionStarting(global::Gauge.Messages.SpecExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifySpecExecutionStarting(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifySpecExecutionStarting is a RPC to tell plugins that the specification execution has started. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifySpecExecutionStarting(global::Gauge.Messages.SpecExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_NotifySpecExecutionStarting, null, options, request); - } - /// - /// NotifySpecExecutionStarting is a RPC to tell plugins that the specification execution has started. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifySpecExecutionStartingAsync(global::Gauge.Messages.SpecExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifySpecExecutionStartingAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifySpecExecutionStarting is a RPC to tell plugins that the specification execution has started. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifySpecExecutionStartingAsync(global::Gauge.Messages.SpecExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_NotifySpecExecutionStarting, null, options, request); - } - /// - /// NotifyScenarioExecutionStarting is a RPC to tell plugins that the scenario execution has started. - /// - /// Accepts a ScenarioExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyScenarioExecutionStarting(global::Gauge.Messages.ScenarioExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyScenarioExecutionStarting(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyScenarioExecutionStarting is a RPC to tell plugins that the scenario execution has started. - /// - /// Accepts a ScenarioExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyScenarioExecutionStarting(global::Gauge.Messages.ScenarioExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_NotifyScenarioExecutionStarting, null, options, request); - } - /// - /// NotifyScenarioExecutionStarting is a RPC to tell plugins that the scenario execution has started. - /// - /// Accepts a ScenarioExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyScenarioExecutionStartingAsync(global::Gauge.Messages.ScenarioExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyScenarioExecutionStartingAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyScenarioExecutionStarting is a RPC to tell plugins that the scenario execution has started. - /// - /// Accepts a ScenarioExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyScenarioExecutionStartingAsync(global::Gauge.Messages.ScenarioExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_NotifyScenarioExecutionStarting, null, options, request); - } - /// - /// NotifyConceptExecutionStarting is a RPC to tell plugins that the concept execution has started. - /// - /// Accepts a ConceptExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyConceptExecutionStarting(global::Gauge.Messages.ConceptExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyConceptExecutionStarting(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyConceptExecutionStarting is a RPC to tell plugins that the concept execution has started. - /// - /// Accepts a ConceptExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyConceptExecutionStarting(global::Gauge.Messages.ConceptExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_NotifyConceptExecutionStarting, null, options, request); - } - /// - /// NotifyConceptExecutionStarting is a RPC to tell plugins that the concept execution has started. - /// - /// Accepts a ConceptExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyConceptExecutionStartingAsync(global::Gauge.Messages.ConceptExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyConceptExecutionStartingAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyConceptExecutionStarting is a RPC to tell plugins that the concept execution has started. - /// - /// Accepts a ConceptExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyConceptExecutionStartingAsync(global::Gauge.Messages.ConceptExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_NotifyConceptExecutionStarting, null, options, request); - } - /// - /// NotifyConceptExecutionEnding is a RPC to tell plugins that the concept execution has finished. - /// - /// Accepts a ConceptExecutionEndingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyConceptExecutionEnding(global::Gauge.Messages.ConceptExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyConceptExecutionEnding(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyConceptExecutionEnding is a RPC to tell plugins that the concept execution has finished. - /// - /// Accepts a ConceptExecutionEndingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyConceptExecutionEnding(global::Gauge.Messages.ConceptExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_NotifyConceptExecutionEnding, null, options, request); - } - /// - /// NotifyConceptExecutionEnding is a RPC to tell plugins that the concept execution has finished. - /// - /// Accepts a ConceptExecutionEndingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyConceptExecutionEndingAsync(global::Gauge.Messages.ConceptExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyConceptExecutionEndingAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyConceptExecutionEnding is a RPC to tell plugins that the concept execution has finished. - /// - /// Accepts a ConceptExecutionEndingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyConceptExecutionEndingAsync(global::Gauge.Messages.ConceptExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_NotifyConceptExecutionEnding, null, options, request); - } - /// - /// NotifyStepExecutionStarting is a RPC to tell plugins that the step execution has started. - /// - /// Accepts a StepExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyStepExecutionStarting(global::Gauge.Messages.StepExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyStepExecutionStarting(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyStepExecutionStarting is a RPC to tell plugins that the step execution has started. - /// - /// Accepts a StepExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyStepExecutionStarting(global::Gauge.Messages.StepExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_NotifyStepExecutionStarting, null, options, request); - } - /// - /// NotifyStepExecutionStarting is a RPC to tell plugins that the step execution has started. - /// - /// Accepts a StepExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyStepExecutionStartingAsync(global::Gauge.Messages.StepExecutionStartingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyStepExecutionStartingAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyStepExecutionStarting is a RPC to tell plugins that the step execution has started. - /// - /// Accepts a StepExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyStepExecutionStartingAsync(global::Gauge.Messages.StepExecutionStartingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_NotifyStepExecutionStarting, null, options, request); - } - /// - /// NotifyStepExecutionEnding is a RPC to tell plugins that the step execution has finished. - /// - /// Accepts a StepExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyStepExecutionEnding(global::Gauge.Messages.StepExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyStepExecutionEnding(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyStepExecutionEnding is a RPC to tell plugins that the step execution has finished. - /// - /// Accepts a StepExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyStepExecutionEnding(global::Gauge.Messages.StepExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_NotifyStepExecutionEnding, null, options, request); - } - /// - /// NotifyStepExecutionEnding is a RPC to tell plugins that the step execution has finished. - /// - /// Accepts a StepExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyStepExecutionEndingAsync(global::Gauge.Messages.StepExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyStepExecutionEndingAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyStepExecutionEnding is a RPC to tell plugins that the step execution has finished. - /// - /// Accepts a StepExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyStepExecutionEndingAsync(global::Gauge.Messages.StepExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_NotifyStepExecutionEnding, null, options, request); - } - /// - /// NotifyScenarioExecutionEnding is a RPC to tell plugins that the scenario execution has finished. - /// - /// Accepts a ScenarioExecutionEndingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyScenarioExecutionEnding(global::Gauge.Messages.ScenarioExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyScenarioExecutionEnding(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyScenarioExecutionEnding is a RPC to tell plugins that the scenario execution has finished. - /// - /// Accepts a ScenarioExecutionEndingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyScenarioExecutionEnding(global::Gauge.Messages.ScenarioExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_NotifyScenarioExecutionEnding, null, options, request); - } - /// - /// NotifyScenarioExecutionEnding is a RPC to tell plugins that the scenario execution has finished. - /// - /// Accepts a ScenarioExecutionEndingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyScenarioExecutionEndingAsync(global::Gauge.Messages.ScenarioExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyScenarioExecutionEndingAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyScenarioExecutionEnding is a RPC to tell plugins that the scenario execution has finished. - /// - /// Accepts a ScenarioExecutionEndingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyScenarioExecutionEndingAsync(global::Gauge.Messages.ScenarioExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_NotifyScenarioExecutionEnding, null, options, request); - } - /// - /// NotifySpecExecutionEnding is a RPC to tell plugins that the specification execution has finished. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifySpecExecutionEnding(global::Gauge.Messages.SpecExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifySpecExecutionEnding(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifySpecExecutionEnding is a RPC to tell plugins that the specification execution has finished. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifySpecExecutionEnding(global::Gauge.Messages.SpecExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_NotifySpecExecutionEnding, null, options, request); - } - /// - /// NotifySpecExecutionEnding is a RPC to tell plugins that the specification execution has finished. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifySpecExecutionEndingAsync(global::Gauge.Messages.SpecExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifySpecExecutionEndingAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifySpecExecutionEnding is a RPC to tell plugins that the specification execution has finished. - /// - /// Accepts a SpecExecutionStartingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifySpecExecutionEndingAsync(global::Gauge.Messages.SpecExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_NotifySpecExecutionEnding, null, options, request); - } - /// - /// NotifyExecutionEnding is a RPC to tell plugins that the execution has finished. - /// - /// Accepts a ExecutionEndingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyExecutionEnding(global::Gauge.Messages.ExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyExecutionEnding(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyExecutionEnding is a RPC to tell plugins that the execution has finished. - /// - /// Accepts a ExecutionEndingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifyExecutionEnding(global::Gauge.Messages.ExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_NotifyExecutionEnding, null, options, request); - } - /// - /// NotifyExecutionEnding is a RPC to tell plugins that the execution has finished. - /// - /// Accepts a ExecutionEndingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyExecutionEndingAsync(global::Gauge.Messages.ExecutionEndingRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifyExecutionEndingAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifyExecutionEnding is a RPC to tell plugins that the execution has finished. - /// - /// Accepts a ExecutionEndingRequest message and returns a Empty message - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifyExecutionEndingAsync(global::Gauge.Messages.ExecutionEndingRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_NotifyExecutionEnding, null, options, request); - } - /// - /// NotifySuiteResult is a RPC to tell about the end result of execution - /// - /// Accepts a SuiteExecutionResult message and returns a Empty message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifySuiteResult(global::Gauge.Messages.SuiteExecutionResult request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifySuiteResult(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifySuiteResult is a RPC to tell about the end result of execution - /// - /// Accepts a SuiteExecutionResult message and returns a Empty message. - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty NotifySuiteResult(global::Gauge.Messages.SuiteExecutionResult request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_NotifySuiteResult, null, options, request); - } - /// - /// NotifySuiteResult is a RPC to tell about the end result of execution - /// - /// Accepts a SuiteExecutionResult message and returns a Empty message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifySuiteResultAsync(global::Gauge.Messages.SuiteExecutionResult request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return NotifySuiteResultAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// NotifySuiteResult is a RPC to tell about the end result of execution - /// - /// Accepts a SuiteExecutionResult message and returns a Empty message. - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall NotifySuiteResultAsync(global::Gauge.Messages.SuiteExecutionResult request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_NotifySuiteResult, null, options, request); - } - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty Kill(global::Gauge.Messages.KillProcessRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return Kill(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty Kill(global::Gauge.Messages.KillProcessRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_Kill, null, options, request); - } - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall KillAsync(global::Gauge.Messages.KillProcessRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return KillAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall KillAsync(global::Gauge.Messages.KillProcessRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_Kill, null, options, request); - } - /// Creates a new instance of client from given ClientBaseConfiguration. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - protected override ReporterClient NewInstance(ClientBaseConfiguration configuration) - { - return new ReporterClient(configuration); - } - } - - /// Creates service definition that can be registered with a server - /// An object implementing the server-side handling logic. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public static grpc::ServerServiceDefinition BindService(ReporterBase serviceImpl) - { - return grpc::ServerServiceDefinition.CreateBuilder() - .AddMethod(__Method_NotifyExecutionStarting, serviceImpl.NotifyExecutionStarting) - .AddMethod(__Method_NotifySpecExecutionStarting, serviceImpl.NotifySpecExecutionStarting) - .AddMethod(__Method_NotifyScenarioExecutionStarting, serviceImpl.NotifyScenarioExecutionStarting) - .AddMethod(__Method_NotifyConceptExecutionStarting, serviceImpl.NotifyConceptExecutionStarting) - .AddMethod(__Method_NotifyConceptExecutionEnding, serviceImpl.NotifyConceptExecutionEnding) - .AddMethod(__Method_NotifyStepExecutionStarting, serviceImpl.NotifyStepExecutionStarting) - .AddMethod(__Method_NotifyStepExecutionEnding, serviceImpl.NotifyStepExecutionEnding) - .AddMethod(__Method_NotifyScenarioExecutionEnding, serviceImpl.NotifyScenarioExecutionEnding) - .AddMethod(__Method_NotifySpecExecutionEnding, serviceImpl.NotifySpecExecutionEnding) - .AddMethod(__Method_NotifyExecutionEnding, serviceImpl.NotifyExecutionEnding) - .AddMethod(__Method_NotifySuiteResult, serviceImpl.NotifySuiteResult) - .AddMethod(__Method_Kill, serviceImpl.Kill).Build(); - } - - /// Register service method with a service binder with or without implementation. Useful when customizing the service binding logic. - /// Note: this method is part of an experimental API that can change or be removed without any prior notice. - /// Service methods will be bound by calling AddMethod on this object. - /// An object implementing the server-side handling logic. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public static void BindService(grpc::ServiceBinderBase serviceBinder, ReporterBase serviceImpl) - { - serviceBinder.AddMethod(__Method_NotifyExecutionStarting, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.NotifyExecutionStarting)); - serviceBinder.AddMethod(__Method_NotifySpecExecutionStarting, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.NotifySpecExecutionStarting)); - serviceBinder.AddMethod(__Method_NotifyScenarioExecutionStarting, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.NotifyScenarioExecutionStarting)); - serviceBinder.AddMethod(__Method_NotifyConceptExecutionStarting, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.NotifyConceptExecutionStarting)); - serviceBinder.AddMethod(__Method_NotifyConceptExecutionEnding, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.NotifyConceptExecutionEnding)); - serviceBinder.AddMethod(__Method_NotifyStepExecutionStarting, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.NotifyStepExecutionStarting)); - serviceBinder.AddMethod(__Method_NotifyStepExecutionEnding, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.NotifyStepExecutionEnding)); - serviceBinder.AddMethod(__Method_NotifyScenarioExecutionEnding, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.NotifyScenarioExecutionEnding)); - serviceBinder.AddMethod(__Method_NotifySpecExecutionEnding, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.NotifySpecExecutionEnding)); - serviceBinder.AddMethod(__Method_NotifyExecutionEnding, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.NotifyExecutionEnding)); - serviceBinder.AddMethod(__Method_NotifySuiteResult, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.NotifySuiteResult)); - serviceBinder.AddMethod(__Method_Kill, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.Kill)); - } - - } - /// - /// Reporter services is meant for documentation plugins - /// - public static partial class Documenter - { - static readonly string __ServiceName = "gauge.messages.Documenter"; - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context) - { - #if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION - if (message is global::Google.Protobuf.IBufferMessage) - { - context.SetPayloadLength(message.CalculateSize()); - global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter()); - context.Complete(); - return; - } - #endif - context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message)); - } - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static class __Helper_MessageCache - { - public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T)); - } - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static T __Helper_DeserializeMessage(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser parser) where T : global::Google.Protobuf.IMessage - { - #if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION - if (__Helper_MessageCache.IsBufferMessage) - { - return parser.ParseFrom(context.PayloadAsReadOnlySequence()); - } - #endif - return parser.ParseFrom(context.PayloadAsNewBuffer()); - } - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_SpecDetails = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.SpecDetails.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_Empty = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.Empty.Parser)); - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Marshaller __Marshaller_gauge_messages_KillProcessRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Gauge.Messages.KillProcessRequest.Parser)); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_GenerateDocs = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "GenerateDocs", - __Marshaller_gauge_messages_SpecDetails, - __Marshaller_gauge_messages_Empty); - - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - static readonly grpc::Method __Method_Kill = new grpc::Method( - grpc::MethodType.Unary, - __ServiceName, - "Kill", - __Marshaller_gauge_messages_KillProcessRequest, - __Marshaller_gauge_messages_Empty); - - /// Service descriptor - public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor - { - get { return global::Gauge.Messages.ServicesReflection.Descriptor.Services[2]; } - } - - /// Base class for server-side implementations of Documenter - [grpc::BindServiceMethod(typeof(Documenter), "BindService")] - public abstract partial class DocumenterBase - { - /// - /// GenerateDocs is a RPC tell plugin to generate docs from the spec details. - /// - /// Accepts a SpecDetails message and returns a Empty message. - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task GenerateDocs(global::Gauge.Messages.SpecDetails request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request received from the client. - /// The context of the server-side call handler being invoked. - /// The response to send back to the client (wrapped by a task). - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::System.Threading.Tasks.Task Kill(global::Gauge.Messages.KillProcessRequest request, grpc::ServerCallContext context) - { - throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); - } - - } - - /// Client for Documenter - public partial class DocumenterClient : grpc::ClientBase - { - /// Creates a new client for Documenter - /// The channel to use to make remote calls. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public DocumenterClient(grpc::ChannelBase channel) : base(channel) - { - } - /// Creates a new client for Documenter that uses a custom CallInvoker. - /// The callInvoker to use to make remote calls. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public DocumenterClient(grpc::CallInvoker callInvoker) : base(callInvoker) - { - } - /// Protected parameterless constructor to allow creation of test doubles. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - protected DocumenterClient() : base() - { - } - /// Protected constructor to allow creation of configured clients. - /// The client configuration. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - protected DocumenterClient(ClientBaseConfiguration configuration) : base(configuration) - { - } - - /// - /// GenerateDocs is a RPC tell plugin to generate docs from the spec details. - /// - /// Accepts a SpecDetails message and returns a Empty message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty GenerateDocs(global::Gauge.Messages.SpecDetails request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GenerateDocs(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// GenerateDocs is a RPC tell plugin to generate docs from the spec details. - /// - /// Accepts a SpecDetails message and returns a Empty message. - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty GenerateDocs(global::Gauge.Messages.SpecDetails request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_GenerateDocs, null, options, request); - } - /// - /// GenerateDocs is a RPC tell plugin to generate docs from the spec details. - /// - /// Accepts a SpecDetails message and returns a Empty message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GenerateDocsAsync(global::Gauge.Messages.SpecDetails request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return GenerateDocsAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// GenerateDocs is a RPC tell plugin to generate docs from the spec details. - /// - /// Accepts a SpecDetails message and returns a Empty message. - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall GenerateDocsAsync(global::Gauge.Messages.SpecDetails request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_GenerateDocs, null, options, request); - } - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty Kill(global::Gauge.Messages.KillProcessRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return Kill(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request to send to the server. - /// The options for the call. - /// The response received from the server. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual global::Gauge.Messages.Empty Kill(global::Gauge.Messages.KillProcessRequest request, grpc::CallOptions options) - { - return CallInvoker.BlockingUnaryCall(__Method_Kill, null, options, request); - } - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request to send to the server. - /// The initial metadata to send with the call. This parameter is optional. - /// An optional deadline for the call. The call will be cancelled if deadline is hit. - /// An optional token for canceling the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall KillAsync(global::Gauge.Messages.KillProcessRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) - { - return KillAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); - } - /// - /// Kill is a RPC tell plugin to stop grpc server and kill the plugin process. - /// - /// Accepts a KillProcessRequest message and returns a Empty message. - /// - /// The request to send to the server. - /// The options for the call. - /// The call object. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public virtual grpc::AsyncUnaryCall KillAsync(global::Gauge.Messages.KillProcessRequest request, grpc::CallOptions options) - { - return CallInvoker.AsyncUnaryCall(__Method_Kill, null, options, request); - } - /// Creates a new instance of client from given ClientBaseConfiguration. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - protected override DocumenterClient NewInstance(ClientBaseConfiguration configuration) - { - return new DocumenterClient(configuration); - } - } - - /// Creates service definition that can be registered with a server - /// An object implementing the server-side handling logic. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public static grpc::ServerServiceDefinition BindService(DocumenterBase serviceImpl) - { - return grpc::ServerServiceDefinition.CreateBuilder() - .AddMethod(__Method_GenerateDocs, serviceImpl.GenerateDocs) - .AddMethod(__Method_Kill, serviceImpl.Kill).Build(); - } - - /// Register service method with a service binder with or without implementation. Useful when customizing the service binding logic. - /// Note: this method is part of an experimental API that can change or be removed without any prior notice. - /// Service methods will be bound by calling AddMethod on this object. - /// An object implementing the server-side handling logic. - [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] - public static void BindService(grpc::ServiceBinderBase serviceBinder, DocumenterBase serviceImpl) - { - serviceBinder.AddMethod(__Method_GenerateDocs, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.GenerateDocs)); - serviceBinder.AddMethod(__Method_Kill, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.Kill)); - } - - } -} -#endregion diff --git a/src/Gauge.CSharp.Core/Spec.cs b/src/Gauge.CSharp.Core/Spec.cs deleted file mode 100644 index f0fbe7c..0000000 --- a/src/Gauge.CSharp.Core/Spec.cs +++ /dev/null @@ -1,9602 +0,0 @@ -// -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: spec.proto -// -#pragma warning disable 1591, 0612, 3021, 8981 -#region Designer generated code - -using pb = global::Google.Protobuf; -using pbc = global::Google.Protobuf.Collections; -using pbr = global::Google.Protobuf.Reflection; -using scg = global::System.Collections.Generic; -namespace Gauge.Messages { - - /// Holder for reflection information generated from spec.proto - public static partial class SpecReflection { - - #region Descriptor - /// File descriptor for spec.proto - public static pbr::FileDescriptor Descriptor { - get { return descriptor; } - } - private static pbr::FileDescriptor descriptor; - - static SpecReflection() { - byte[] descriptorData = global::System.Convert.FromBase64String( - string.Concat( - "CgpzcGVjLnByb3RvEg5nYXVnZS5tZXNzYWdlcyL5AwoJUHJvdG9TcGVjEhMK", - "C3NwZWNIZWFkaW5nGAEgASgJEigKBWl0ZW1zGAIgAygLMhkuZ2F1Z2UubWVz", - "c2FnZXMuUHJvdG9JdGVtEhUKDWlzVGFibGVEcml2ZW4YAyABKAgSOQoPcHJl", - "SG9va0ZhaWx1cmVzGAQgAygLMiAuZ2F1Z2UubWVzc2FnZXMuUHJvdG9Ib29r", - "RmFpbHVyZRI6ChBwb3N0SG9va0ZhaWx1cmVzGAUgAygLMiAuZ2F1Z2UubWVz", - "c2FnZXMuUHJvdG9Ib29rRmFpbHVyZRIQCghmaWxlTmFtZRgGIAEoCRIMCgR0", - "YWdzGAcgAygJEhcKD3ByZUhvb2tNZXNzYWdlcxgIIAMoCRIYChBwb3N0SG9v", - "a01lc3NhZ2VzGAkgAygJEhoKDnByZUhvb2tNZXNzYWdlGAogAygJQgIYARIb", - "Cg9wb3N0SG9va01lc3NhZ2UYCyADKAlCAhgBEh4KEnByZUhvb2tTY3JlZW5z", - "aG90cxgMIAMoDEICGAESHwoTcG9zdEhvb2tTY3JlZW5zaG90cxgNIAMoDEIC", - "GAESEQoJaXRlbUNvdW50GA4gASgDEh4KFnByZUhvb2tTY3JlZW5zaG90Rmls", - "ZXMYDyADKAkSHwoXcG9zdEhvb2tTY3JlZW5zaG90RmlsZXMYECADKAkikgQK", - "CVByb3RvSXRlbRI0CghpdGVtVHlwZRgBIAEoDjIiLmdhdWdlLm1lc3NhZ2Vz", - "LlByb3RvSXRlbS5JdGVtVHlwZRInCgRzdGVwGAIgASgLMhkuZ2F1Z2UubWVz", - "c2FnZXMuUHJvdG9TdGVwEi0KB2NvbmNlcHQYAyABKAsyHC5nYXVnZS5tZXNz", - "YWdlcy5Qcm90b0NvbmNlcHQSLwoIc2NlbmFyaW8YBCABKAsyHS5nYXVnZS5t", - "ZXNzYWdlcy5Qcm90b1NjZW5hcmlvEkUKE3RhYmxlRHJpdmVuU2NlbmFyaW8Y", - "BSABKAsyKC5nYXVnZS5tZXNzYWdlcy5Qcm90b1RhYmxlRHJpdmVuU2NlbmFy", - "aW8SLQoHY29tbWVudBgGIAEoCzIcLmdhdWdlLm1lc3NhZ2VzLlByb3RvQ29t", - "bWVudBIpCgV0YWJsZRgHIAEoCzIaLmdhdWdlLm1lc3NhZ2VzLlByb3RvVGFi", - "bGUSJwoEdGFncxgIIAEoCzIZLmdhdWdlLm1lc3NhZ2VzLlByb3RvVGFncxIQ", - "CghmaWxlTmFtZRgJIAEoCSJqCghJdGVtVHlwZRIICgRTdGVwEAASCwoHQ29t", - "bWVudBABEgsKB0NvbmNlcHQQAhIMCghTY2VuYXJpbxADEhcKE1RhYmxlRHJp", - "dmVuU2NlbmFyaW8QBBIJCgVUYWJsZRAFEggKBFRhZ3MQBiL+BQoNUHJvdG9T", - "Y2VuYXJpbxIXCg9zY2VuYXJpb0hlYWRpbmcYASABKAkSEgoGZmFpbGVkGAIg", - "ASgIQgIYARIrCghjb250ZXh0cxgDIAMoCzIZLmdhdWdlLm1lc3NhZ2VzLlBy", - "b3RvSXRlbRIwCg1zY2VuYXJpb0l0ZW1zGAQgAygLMhkuZ2F1Z2UubWVzc2Fn", - "ZXMuUHJvdG9JdGVtEjgKDnByZUhvb2tGYWlsdXJlGAUgASgLMiAuZ2F1Z2Uu", - "bWVzc2FnZXMuUHJvdG9Ib29rRmFpbHVyZRI5Cg9wb3N0SG9va0ZhaWx1cmUY", - "BiABKAsyIC5nYXVnZS5tZXNzYWdlcy5Qcm90b0hvb2tGYWlsdXJlEgwKBHRh", - "Z3MYByADKAkSFQoNZXhlY3V0aW9uVGltZRgIIAEoAxITCgdza2lwcGVkGAkg", - "ASgIQgIYARISCgpza2lwRXJyb3JzGAogAygJEgoKAklEGAsgASgJEjAKDXRl", - "YXJEb3duU3RlcHMYDCADKAsyGS5nYXVnZS5tZXNzYWdlcy5Qcm90b0l0ZW0S", - "IgoEc3BhbhgNIAEoCzIULmdhdWdlLm1lc3NhZ2VzLlNwYW4SOAoPZXhlY3V0", - "aW9uU3RhdHVzGA4gASgOMh8uZ2F1Z2UubWVzc2FnZXMuRXhlY3V0aW9uU3Rh", - "dHVzEhcKD3ByZUhvb2tNZXNzYWdlcxgPIAMoCRIYChBwb3N0SG9va01lc3Nh", - "Z2VzGBAgAygJEhoKDnByZUhvb2tNZXNzYWdlGBEgAygJQgIYARIbCg9wb3N0", - "SG9va01lc3NhZ2UYEiADKAlCAhgBEh4KEnByZUhvb2tTY3JlZW5zaG90cxgT", - "IAMoDEICGAESHwoTcG9zdEhvb2tTY3JlZW5zaG90cxgUIAMoDEICGAESHgoW", - "cHJlSG9va1NjcmVlbnNob3RGaWxlcxgVIAMoCRIfChdwb3N0SG9va1NjcmVl", - "bnNob3RGaWxlcxgWIAMoCRIUCgxyZXRyaWVzQ291bnQYFyABKAMiRgoEU3Bh", - "bhINCgVzdGFydBgBIAEoAxILCgNlbmQYAiABKAMSEQoJc3RhcnRDaGFyGAMg", - "ASgDEg8KB2VuZENoYXIYBCABKAMiqAIKGFByb3RvVGFibGVEcml2ZW5TY2Vu", - "YXJpbxIvCghzY2VuYXJpbxgBIAEoCzIdLmdhdWdlLm1lc3NhZ2VzLlByb3Rv", - "U2NlbmFyaW8SFQoNdGFibGVSb3dJbmRleBgCIAEoBRIdChVzY2VuYXJpb1Rh", - "YmxlUm93SW5kZXgYAyABKAUSGQoRaXNTcGVjVGFibGVEcml2ZW4YBCABKAgS", - "HQoVaXNTY2VuYXJpb1RhYmxlRHJpdmVuGAUgASgIEjUKEXNjZW5hcmlvRGF0", - "YVRhYmxlGAYgASgLMhouZ2F1Z2UubWVzc2FnZXMuUHJvdG9UYWJsZRI0ChBz", - "Y2VuYXJpb1RhYmxlUm93GAcgASgLMhouZ2F1Z2UubWVzc2FnZXMuUHJvdG9U", - "YWJsZSLcAgoJUHJvdG9TdGVwEhIKCmFjdHVhbFRleHQYASABKAkSEgoKcGFy", - "c2VkVGV4dBgCIAEoCRIrCglmcmFnbWVudHMYAyADKAsyGC5nYXVnZS5tZXNz", - "YWdlcy5GcmFnbWVudBJFChNzdGVwRXhlY3V0aW9uUmVzdWx0GAQgASgLMigu", - "Z2F1Z2UubWVzc2FnZXMuUHJvdG9TdGVwRXhlY3V0aW9uUmVzdWx0EhcKD3By", - "ZUhvb2tNZXNzYWdlcxgFIAMoCRIYChBwb3N0SG9va01lc3NhZ2VzGAYgAygJ", - "Eh4KEnByZUhvb2tTY3JlZW5zaG90cxgHIAMoDEICGAESHwoTcG9zdEhvb2tT", - "Y3JlZW5zaG90cxgIIAMoDEICGAESHgoWcHJlSG9va1NjcmVlbnNob3RGaWxl", - "cxgJIAMoCRIfChdwb3N0SG9va1NjcmVlbnNob3RGaWxlcxgKIAMoCSKyAQoM", - "UHJvdG9Db25jZXB0Ei4KC2NvbmNlcHRTdGVwGAEgASgLMhkuZ2F1Z2UubWVz", - "c2FnZXMuUHJvdG9TdGVwEigKBXN0ZXBzGAIgAygLMhkuZ2F1Z2UubWVzc2Fn", - "ZXMuUHJvdG9JdGVtEkgKFmNvbmNlcHRFeGVjdXRpb25SZXN1bHQYAyABKAsy", - "KC5nYXVnZS5tZXNzYWdlcy5Qcm90b1N0ZXBFeGVjdXRpb25SZXN1bHQiGQoJ", - "UHJvdG9UYWdzEgwKBHRhZ3MYASADKAkirAEKCEZyYWdtZW50EjsKDGZyYWdt", - "ZW50VHlwZRgBIAEoDjIlLmdhdWdlLm1lc3NhZ2VzLkZyYWdtZW50LkZyYWdt", - "ZW50VHlwZRIMCgR0ZXh0GAIgASgJEiwKCXBhcmFtZXRlchgDIAEoCzIZLmdh", - "dWdlLm1lc3NhZ2VzLlBhcmFtZXRlciInCgxGcmFnbWVudFR5cGUSCAoEVGV4", - "dBAAEg0KCVBhcmFtZXRlchABIu8BCglQYXJhbWV0ZXISPgoNcGFyYW1ldGVy", - "VHlwZRgBIAEoDjInLmdhdWdlLm1lc3NhZ2VzLlBhcmFtZXRlci5QYXJhbWV0", - "ZXJUeXBlEg0KBXZhbHVlGAIgASgJEgwKBG5hbWUYAyABKAkSKQoFdGFibGUY", - "BCABKAsyGi5nYXVnZS5tZXNzYWdlcy5Qcm90b1RhYmxlIloKDVBhcmFtZXRl", - "clR5cGUSCgoGU3RhdGljEAASCwoHRHluYW1pYxABEhIKDlNwZWNpYWxfU3Ry", - "aW5nEAISEQoNU3BlY2lhbF9UYWJsZRADEgkKBVRhYmxlEAQiHAoMUHJvdG9D", - "b21tZW50EgwKBHRleHQYASABKAkiaQoKUHJvdG9UYWJsZRIuCgdoZWFkZXJz", - "GAEgASgLMh0uZ2F1Z2UubWVzc2FnZXMuUHJvdG9UYWJsZVJvdxIrCgRyb3dz", - "GAIgAygLMh0uZ2F1Z2UubWVzc2FnZXMuUHJvdG9UYWJsZVJvdyIeCg1Qcm90", - "b1RhYmxlUm93Eg0KBWNlbGxzGAEgAygJIvYBChhQcm90b1N0ZXBFeGVjdXRp", - "b25SZXN1bHQSPQoPZXhlY3V0aW9uUmVzdWx0GAEgASgLMiQuZ2F1Z2UubWVz", - "c2FnZXMuUHJvdG9FeGVjdXRpb25SZXN1bHQSOAoOcHJlSG9va0ZhaWx1cmUY", - "AiABKAsyIC5nYXVnZS5tZXNzYWdlcy5Qcm90b0hvb2tGYWlsdXJlEjkKD3Bv", - "c3RIb29rRmFpbHVyZRgDIAEoCzIgLmdhdWdlLm1lc3NhZ2VzLlByb3RvSG9v", - "a0ZhaWx1cmUSDwoHc2tpcHBlZBgEIAEoCBIVCg1za2lwcGVkUmVhc29uGAUg", - "ASgJIqEDChRQcm90b0V4ZWN1dGlvblJlc3VsdBIOCgZmYWlsZWQYASABKAgS", - "GAoQcmVjb3ZlcmFibGVFcnJvchgCIAEoCBIUCgxlcnJvck1lc3NhZ2UYAyAB", - "KAkSEgoKc3RhY2tUcmFjZRgEIAEoCRIWCgpzY3JlZW5TaG90GAUgASgMQgIY", - "ARIVCg1leGVjdXRpb25UaW1lGAYgASgDEg8KB21lc3NhZ2UYByADKAkSQQoJ", - "ZXJyb3JUeXBlGAggASgOMi4uZ2F1Z2UubWVzc2FnZXMuUHJvdG9FeGVjdXRp", - "b25SZXN1bHQuRXJyb3JUeXBlEh0KEWZhaWx1cmVTY3JlZW5zaG90GAkgASgM", - "QgIYARIXCgtzY3JlZW5zaG90cxgKIAMoDEICGAESHQoVZmFpbHVyZVNjcmVl", - "bnNob3RGaWxlGAsgASgJEhcKD3NjcmVlbnNob3RGaWxlcxgMIAMoCRIUCgxz", - "a2lwU2NlbmFyaW8YDSABKAgiLAoJRXJyb3JUeXBlEg0KCUFTU0VSVElPThAA", - "EhAKDFZFUklGSUNBVElPThABIqkBChBQcm90b0hvb2tGYWlsdXJlEhIKCnN0", - "YWNrVHJhY2UYASABKAkSFAoMZXJyb3JNZXNzYWdlGAIgASgJEhYKCnNjcmVl", - "blNob3QYAyABKAxCAhgBEhUKDXRhYmxlUm93SW5kZXgYBCABKAUSHQoRZmFp", - "bHVyZVNjcmVlbnNob3QYBSABKAxCAhgBEh0KFWZhaWx1cmVTY3JlZW5zaG90", - "RmlsZRgGIAEoCSKLBQoQUHJvdG9TdWl0ZVJlc3VsdBI0CgtzcGVjUmVzdWx0", - "cxgBIAMoCzIfLmdhdWdlLm1lc3NhZ2VzLlByb3RvU3BlY1Jlc3VsdBI4Cg5w", - "cmVIb29rRmFpbHVyZRgCIAEoCzIgLmdhdWdlLm1lc3NhZ2VzLlByb3RvSG9v", - "a0ZhaWx1cmUSOQoPcG9zdEhvb2tGYWlsdXJlGAMgASgLMiAuZ2F1Z2UubWVz", - "c2FnZXMuUHJvdG9Ib29rRmFpbHVyZRIOCgZmYWlsZWQYBCABKAgSGAoQc3Bl", - "Y3NGYWlsZWRDb3VudBgFIAEoBRIVCg1leGVjdXRpb25UaW1lGAYgASgDEhMK", - "C3N1Y2Nlc3NSYXRlGAcgASgCEhMKC2Vudmlyb25tZW50GAggASgJEgwKBHRh", - "Z3MYCSABKAkSEwoLcHJvamVjdE5hbWUYCiABKAkSEQoJdGltZXN0YW1wGAsg", - "ASgJEhkKEXNwZWNzU2tpcHBlZENvdW50GAwgASgFEhcKD3ByZUhvb2tNZXNz", - "YWdlcxgNIAMoCRIYChBwb3N0SG9va01lc3NhZ2VzGA4gAygJEhoKDnByZUhv", - "b2tNZXNzYWdlGA8gAygJQgIYARIbCg9wb3N0SG9va01lc3NhZ2UYECADKAlC", - "AhgBEh4KEnByZUhvb2tTY3JlZW5zaG90cxgRIAMoDEICGAESHwoTcG9zdEhv", - "b2tTY3JlZW5zaG90cxgSIAMoDEICGAESDwoHY2h1bmtlZBgTIAEoCBIRCglj", - "aHVua1NpemUYFCABKAMSHgoWcHJlSG9va1NjcmVlbnNob3RGaWxlcxgVIAMo", - "CRIfChdwb3N0SG9va1NjcmVlbnNob3RGaWxlcxgWIAMoCSK+AgoPUHJvdG9T", - "cGVjUmVzdWx0EiwKCXByb3RvU3BlYxgBIAEoCzIZLmdhdWdlLm1lc3NhZ2Vz", - "LlByb3RvU3BlYxIVCg1zY2VuYXJpb0NvdW50GAIgASgFEhsKE3NjZW5hcmlv", - "RmFpbGVkQ291bnQYAyABKAUSDgoGZmFpbGVkGAQgASgIEhsKE2ZhaWxlZERh", - "dGFUYWJsZVJvd3MYBSADKAUSFQoNZXhlY3V0aW9uVGltZRgGIAEoAxIPCgdz", - "a2lwcGVkGAcgASgIEhwKFHNjZW5hcmlvU2tpcHBlZENvdW50GAggASgFEhwK", - "FHNraXBwZWREYXRhVGFibGVSb3dzGAkgAygFEiUKBmVycm9ycxgKIAMoCzIV", - "LmdhdWdlLm1lc3NhZ2VzLkVycm9yEhEKCXRpbWVzdGFtcBgLIAEoCSJtChNQ", - "cm90b1NjZW5hcmlvUmVzdWx0EiwKCXByb3RvSXRlbRgBIAEoCzIZLmdhdWdl", - "Lm1lc3NhZ2VzLlByb3RvSXRlbRIVCg1leGVjdXRpb25UaW1lGAIgASgDEhEK", - "CXRpbWVzdGFtcBgDIAEoCSJpCg9Qcm90b1N0ZXBSZXN1bHQSLAoJcHJvdG9J", - "dGVtGAEgASgLMhkuZ2F1Z2UubWVzc2FnZXMuUHJvdG9JdGVtEhUKDWV4ZWN1", - "dGlvblRpbWUYAiABKAMSEQoJdGltZXN0YW1wGAMgASgJIqEBCgVFcnJvchIt", - "CgR0eXBlGAEgASgOMh8uZ2F1Z2UubWVzc2FnZXMuRXJyb3IuRXJyb3JUeXBl", - "EhAKCGZpbGVuYW1lGAIgASgJEhIKCmxpbmVOdW1iZXIYAyABKAUSDwoHbWVz", - "c2FnZRgEIAEoCSIyCglFcnJvclR5cGUSDwoLUEFSU0VfRVJST1IQABIUChBW", - "QUxJREFUSU9OX0VSUk9SEAEiVwoOUHJvdG9TdGVwVmFsdWUSEQoJc3RlcFZh", - "bHVlGAEgASgJEh4KFnBhcmFtZXRlcml6ZWRTdGVwVmFsdWUYAiABKAkSEgoK", - "cGFyYW1ldGVycxgDIAMoCSpHCg9FeGVjdXRpb25TdGF0dXMSDwoLTk9URVhF", - "Q1VURUQQABIKCgZQQVNTRUQQARIKCgZGQUlMRUQQAhILCgdTS0lQUEVEEANC", - "XAoWY29tLnRob3VnaHR3b3Jrcy5nYXVnZVoxZ2l0aHViLmNvbS9nZXRnYXVn", - "ZS9nYXVnZS1wcm90by9nby9nYXVnZV9tZXNzYWdlc6oCDkdhdWdlLk1lc3Nh", - "Z2VzYgZwcm90bzM=")); - descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { }, - new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Gauge.Messages.ExecutionStatus), }, null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoSpec), global::Gauge.Messages.ProtoSpec.Parser, new[]{ "SpecHeading", "Items", "IsTableDriven", "PreHookFailures", "PostHookFailures", "FileName", "Tags", "PreHookMessages", "PostHookMessages", "PreHookMessage", "PostHookMessage", "PreHookScreenshots", "PostHookScreenshots", "ItemCount", "PreHookScreenshotFiles", "PostHookScreenshotFiles" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoItem), global::Gauge.Messages.ProtoItem.Parser, new[]{ "ItemType", "Step", "Concept", "Scenario", "TableDrivenScenario", "Comment", "Table", "Tags", "FileName" }, null, new[]{ typeof(global::Gauge.Messages.ProtoItem.Types.ItemType) }, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoScenario), global::Gauge.Messages.ProtoScenario.Parser, new[]{ "ScenarioHeading", "Failed", "Contexts", "ScenarioItems", "PreHookFailure", "PostHookFailure", "Tags", "ExecutionTime", "Skipped", "SkipErrors", "ID", "TearDownSteps", "Span", "ExecutionStatus", "PreHookMessages", "PostHookMessages", "PreHookMessage", "PostHookMessage", "PreHookScreenshots", "PostHookScreenshots", "PreHookScreenshotFiles", "PostHookScreenshotFiles", "RetriesCount" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.Span), global::Gauge.Messages.Span.Parser, new[]{ "Start", "End", "StartChar", "EndChar" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoTableDrivenScenario), global::Gauge.Messages.ProtoTableDrivenScenario.Parser, new[]{ "Scenario", "TableRowIndex", "ScenarioTableRowIndex", "IsSpecTableDriven", "IsScenarioTableDriven", "ScenarioDataTable", "ScenarioTableRow" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoStep), global::Gauge.Messages.ProtoStep.Parser, new[]{ "ActualText", "ParsedText", "Fragments", "StepExecutionResult", "PreHookMessages", "PostHookMessages", "PreHookScreenshots", "PostHookScreenshots", "PreHookScreenshotFiles", "PostHookScreenshotFiles" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoConcept), global::Gauge.Messages.ProtoConcept.Parser, new[]{ "ConceptStep", "Steps", "ConceptExecutionResult" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoTags), global::Gauge.Messages.ProtoTags.Parser, new[]{ "Tags" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.Fragment), global::Gauge.Messages.Fragment.Parser, new[]{ "FragmentType", "Text", "Parameter" }, null, new[]{ typeof(global::Gauge.Messages.Fragment.Types.FragmentType) }, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.Parameter), global::Gauge.Messages.Parameter.Parser, new[]{ "ParameterType", "Value", "Name", "Table" }, null, new[]{ typeof(global::Gauge.Messages.Parameter.Types.ParameterType) }, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoComment), global::Gauge.Messages.ProtoComment.Parser, new[]{ "Text" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoTable), global::Gauge.Messages.ProtoTable.Parser, new[]{ "Headers", "Rows" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoTableRow), global::Gauge.Messages.ProtoTableRow.Parser, new[]{ "Cells" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoStepExecutionResult), global::Gauge.Messages.ProtoStepExecutionResult.Parser, new[]{ "ExecutionResult", "PreHookFailure", "PostHookFailure", "Skipped", "SkippedReason" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoExecutionResult), global::Gauge.Messages.ProtoExecutionResult.Parser, new[]{ "Failed", "RecoverableError", "ErrorMessage", "StackTrace", "ScreenShot", "ExecutionTime", "Message", "ErrorType", "FailureScreenshot", "Screenshots", "FailureScreenshotFile", "ScreenshotFiles", "SkipScenario" }, null, new[]{ typeof(global::Gauge.Messages.ProtoExecutionResult.Types.ErrorType) }, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoHookFailure), global::Gauge.Messages.ProtoHookFailure.Parser, new[]{ "StackTrace", "ErrorMessage", "ScreenShot", "TableRowIndex", "FailureScreenshot", "FailureScreenshotFile" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoSuiteResult), global::Gauge.Messages.ProtoSuiteResult.Parser, new[]{ "SpecResults", "PreHookFailure", "PostHookFailure", "Failed", "SpecsFailedCount", "ExecutionTime", "SuccessRate", "Environment", "Tags", "ProjectName", "Timestamp", "SpecsSkippedCount", "PreHookMessages", "PostHookMessages", "PreHookMessage", "PostHookMessage", "PreHookScreenshots", "PostHookScreenshots", "Chunked", "ChunkSize", "PreHookScreenshotFiles", "PostHookScreenshotFiles" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoSpecResult), global::Gauge.Messages.ProtoSpecResult.Parser, new[]{ "ProtoSpec", "ScenarioCount", "ScenarioFailedCount", "Failed", "FailedDataTableRows", "ExecutionTime", "Skipped", "ScenarioSkippedCount", "SkippedDataTableRows", "Errors", "Timestamp" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoScenarioResult), global::Gauge.Messages.ProtoScenarioResult.Parser, new[]{ "ProtoItem", "ExecutionTime", "Timestamp" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoStepResult), global::Gauge.Messages.ProtoStepResult.Parser, new[]{ "ProtoItem", "ExecutionTime", "Timestamp" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.Error), global::Gauge.Messages.Error.Parser, new[]{ "Type", "Filename", "LineNumber", "Message" }, null, new[]{ typeof(global::Gauge.Messages.Error.Types.ErrorType) }, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Gauge.Messages.ProtoStepValue), global::Gauge.Messages.ProtoStepValue.Parser, new[]{ "StepValue", "ParameterizedStepValue", "Parameters" }, null, null, null, null) - })); - } - #endregion - - } - #region Enums - /// - //// Execution Status - /// - public enum ExecutionStatus { - [pbr::OriginalName("NOTEXECUTED")] Notexecuted = 0, - [pbr::OriginalName("PASSED")] Passed = 1, - [pbr::OriginalName("FAILED")] Failed = 2, - [pbr::OriginalName("SKIPPED")] Skipped = 3, - } - - #endregion - - #region Messages - /// - //// A proto object representing a Specification - //// A specification can contain Scenarios or Steps, besides Comments - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoSpec : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoSpec()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[0]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoSpec() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoSpec(ProtoSpec other) : this() { - specHeading_ = other.specHeading_; - items_ = other.items_.Clone(); - isTableDriven_ = other.isTableDriven_; - preHookFailures_ = other.preHookFailures_.Clone(); - postHookFailures_ = other.postHookFailures_.Clone(); - fileName_ = other.fileName_; - tags_ = other.tags_.Clone(); - preHookMessages_ = other.preHookMessages_.Clone(); - postHookMessages_ = other.postHookMessages_.Clone(); - preHookMessage_ = other.preHookMessage_.Clone(); - postHookMessage_ = other.postHookMessage_.Clone(); - preHookScreenshots_ = other.preHookScreenshots_.Clone(); - postHookScreenshots_ = other.postHookScreenshots_.Clone(); - itemCount_ = other.itemCount_; - preHookScreenshotFiles_ = other.preHookScreenshotFiles_.Clone(); - postHookScreenshotFiles_ = other.postHookScreenshotFiles_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoSpec Clone() { - return new ProtoSpec(this); - } - - /// Field number for the "specHeading" field. - public const int SpecHeadingFieldNumber = 1; - private string specHeading_ = ""; - /// - //// Heading describing the Specification - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string SpecHeading { - get { return specHeading_; } - set { - specHeading_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "items" field. - public const int ItemsFieldNumber = 2; - private static readonly pb::FieldCodec _repeated_items_codec - = pb::FieldCodec.ForMessage(18, global::Gauge.Messages.ProtoItem.Parser); - private readonly pbc::RepeatedField items_ = new pbc::RepeatedField(); - /// - //// A collection of items that come under this step - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Items { - get { return items_; } - } - - /// Field number for the "isTableDriven" field. - public const int IsTableDrivenFieldNumber = 3; - private bool isTableDriven_; - /// - //// Flag indicating if this is a Table Driven Specification. The table is defined in the context, this is different from using a table parameter. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool IsTableDriven { - get { return isTableDriven_; } - set { - isTableDriven_ = value; - } - } - - /// Field number for the "preHookFailures" field. - public const int PreHookFailuresFieldNumber = 4; - private static readonly pb::FieldCodec _repeated_preHookFailures_codec - = pb::FieldCodec.ForMessage(34, global::Gauge.Messages.ProtoHookFailure.Parser); - private readonly pbc::RepeatedField preHookFailures_ = new pbc::RepeatedField(); - /// - //// Contains a 'before' hook failure message. This happens when the `before_spec` hook has an error. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookFailures { - get { return preHookFailures_; } - } - - /// Field number for the "postHookFailures" field. - public const int PostHookFailuresFieldNumber = 5; - private static readonly pb::FieldCodec _repeated_postHookFailures_codec - = pb::FieldCodec.ForMessage(42, global::Gauge.Messages.ProtoHookFailure.Parser); - private readonly pbc::RepeatedField postHookFailures_ = new pbc::RepeatedField(); - /// - //// Contains a 'before' hook failure message. This happens when the `after_hook` hook has an error. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookFailures { - get { return postHookFailures_; } - } - - /// Field number for the "fileName" field. - public const int FileNameFieldNumber = 6; - private string fileName_ = ""; - /// - //// Contains the filename for that holds this specification. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string FileName { - get { return fileName_; } - set { - fileName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "tags" field. - public const int TagsFieldNumber = 7; - private static readonly pb::FieldCodec _repeated_tags_codec - = pb::FieldCodec.ForString(58); - private readonly pbc::RepeatedField tags_ = new pbc::RepeatedField(); - /// - //// Contains a list of tags that are defined at the specification level. Scenario tags are not present here. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Tags { - get { return tags_; } - } - - /// Field number for the "preHookMessages" field. - public const int PreHookMessagesFieldNumber = 8; - private static readonly pb::FieldCodec _repeated_preHookMessages_codec - = pb::FieldCodec.ForString(66); - private readonly pbc::RepeatedField preHookMessages_ = new pbc::RepeatedField(); - /// - //// Additional information at pre hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookMessages { - get { return preHookMessages_; } - } - - /// Field number for the "postHookMessages" field. - public const int PostHookMessagesFieldNumber = 9; - private static readonly pb::FieldCodec _repeated_postHookMessages_codec - = pb::FieldCodec.ForString(74); - private readonly pbc::RepeatedField postHookMessages_ = new pbc::RepeatedField(); - /// - //// Additional information at post hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookMessages { - get { return postHookMessages_; } - } - - /// Field number for the "preHookMessage" field. - public const int PreHookMessageFieldNumber = 10; - private static readonly pb::FieldCodec _repeated_preHookMessage_codec - = pb::FieldCodec.ForString(82); - private readonly pbc::RepeatedField preHookMessage_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use preHookMessages] Additional information at pre hook exec time to be available on reports - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookMessage { - get { return preHookMessage_; } - } - - /// Field number for the "postHookMessage" field. - public const int PostHookMessageFieldNumber = 11; - private static readonly pb::FieldCodec _repeated_postHookMessage_codec - = pb::FieldCodec.ForString(90); - private readonly pbc::RepeatedField postHookMessage_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use postHookMessages] Additional information at post hook exec time to be available on reports - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookMessage { - get { return postHookMessage_; } - } - - /// Field number for the "preHookScreenshots" field. - public const int PreHookScreenshotsFieldNumber = 12; - private static readonly pb::FieldCodec _repeated_preHookScreenshots_codec - = pb::FieldCodec.ForBytes(98); - private readonly pbc::RepeatedField preHookScreenshots_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use preHookScreenshotFiles] Capture Screenshot at pre hook exec time to be available on reports - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookScreenshots { - get { return preHookScreenshots_; } - } - - /// Field number for the "postHookScreenshots" field. - public const int PostHookScreenshotsFieldNumber = 13; - private static readonly pb::FieldCodec _repeated_postHookScreenshots_codec - = pb::FieldCodec.ForBytes(106); - private readonly pbc::RepeatedField postHookScreenshots_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use postHookScreenshotFiles] Capture Screenshot at post hook exec time to be available on reports - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookScreenshots { - get { return postHookScreenshots_; } - } - - /// Field number for the "itemCount" field. - public const int ItemCountFieldNumber = 14; - private long itemCount_; - /// - //// meta field to indicate the number of items in the list - //// used when items are sent as individual chunk - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long ItemCount { - get { return itemCount_; } - set { - itemCount_ = value; - } - } - - /// Field number for the "preHookScreenshotFiles" field. - public const int PreHookScreenshotFilesFieldNumber = 15; - private static readonly pb::FieldCodec _repeated_preHookScreenshotFiles_codec - = pb::FieldCodec.ForString(122); - private readonly pbc::RepeatedField preHookScreenshotFiles_ = new pbc::RepeatedField(); - /// - //// Screenshots captured on pre hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookScreenshotFiles { - get { return preHookScreenshotFiles_; } - } - - /// Field number for the "postHookScreenshotFiles" field. - public const int PostHookScreenshotFilesFieldNumber = 16; - private static readonly pb::FieldCodec _repeated_postHookScreenshotFiles_codec - = pb::FieldCodec.ForString(130); - private readonly pbc::RepeatedField postHookScreenshotFiles_ = new pbc::RepeatedField(); - /// - //// Screenshots captured on post hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookScreenshotFiles { - get { return postHookScreenshotFiles_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoSpec); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoSpec other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (SpecHeading != other.SpecHeading) return false; - if(!items_.Equals(other.items_)) return false; - if (IsTableDriven != other.IsTableDriven) return false; - if(!preHookFailures_.Equals(other.preHookFailures_)) return false; - if(!postHookFailures_.Equals(other.postHookFailures_)) return false; - if (FileName != other.FileName) return false; - if(!tags_.Equals(other.tags_)) return false; - if(!preHookMessages_.Equals(other.preHookMessages_)) return false; - if(!postHookMessages_.Equals(other.postHookMessages_)) return false; - if(!preHookMessage_.Equals(other.preHookMessage_)) return false; - if(!postHookMessage_.Equals(other.postHookMessage_)) return false; - if(!preHookScreenshots_.Equals(other.preHookScreenshots_)) return false; - if(!postHookScreenshots_.Equals(other.postHookScreenshots_)) return false; - if (ItemCount != other.ItemCount) return false; - if(!preHookScreenshotFiles_.Equals(other.preHookScreenshotFiles_)) return false; - if(!postHookScreenshotFiles_.Equals(other.postHookScreenshotFiles_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (SpecHeading.Length != 0) hash ^= SpecHeading.GetHashCode(); - hash ^= items_.GetHashCode(); - if (IsTableDriven != false) hash ^= IsTableDriven.GetHashCode(); - hash ^= preHookFailures_.GetHashCode(); - hash ^= postHookFailures_.GetHashCode(); - if (FileName.Length != 0) hash ^= FileName.GetHashCode(); - hash ^= tags_.GetHashCode(); - hash ^= preHookMessages_.GetHashCode(); - hash ^= postHookMessages_.GetHashCode(); - hash ^= preHookMessage_.GetHashCode(); - hash ^= postHookMessage_.GetHashCode(); - hash ^= preHookScreenshots_.GetHashCode(); - hash ^= postHookScreenshots_.GetHashCode(); - if (ItemCount != 0L) hash ^= ItemCount.GetHashCode(); - hash ^= preHookScreenshotFiles_.GetHashCode(); - hash ^= postHookScreenshotFiles_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (SpecHeading.Length != 0) { - output.WriteRawTag(10); - output.WriteString(SpecHeading); - } - items_.WriteTo(output, _repeated_items_codec); - if (IsTableDriven != false) { - output.WriteRawTag(24); - output.WriteBool(IsTableDriven); - } - preHookFailures_.WriteTo(output, _repeated_preHookFailures_codec); - postHookFailures_.WriteTo(output, _repeated_postHookFailures_codec); - if (FileName.Length != 0) { - output.WriteRawTag(50); - output.WriteString(FileName); - } - tags_.WriteTo(output, _repeated_tags_codec); - preHookMessages_.WriteTo(output, _repeated_preHookMessages_codec); - postHookMessages_.WriteTo(output, _repeated_postHookMessages_codec); - preHookMessage_.WriteTo(output, _repeated_preHookMessage_codec); - postHookMessage_.WriteTo(output, _repeated_postHookMessage_codec); - preHookScreenshots_.WriteTo(output, _repeated_preHookScreenshots_codec); - postHookScreenshots_.WriteTo(output, _repeated_postHookScreenshots_codec); - if (ItemCount != 0L) { - output.WriteRawTag(112); - output.WriteInt64(ItemCount); - } - preHookScreenshotFiles_.WriteTo(output, _repeated_preHookScreenshotFiles_codec); - postHookScreenshotFiles_.WriteTo(output, _repeated_postHookScreenshotFiles_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (SpecHeading.Length != 0) { - output.WriteRawTag(10); - output.WriteString(SpecHeading); - } - items_.WriteTo(ref output, _repeated_items_codec); - if (IsTableDriven != false) { - output.WriteRawTag(24); - output.WriteBool(IsTableDriven); - } - preHookFailures_.WriteTo(ref output, _repeated_preHookFailures_codec); - postHookFailures_.WriteTo(ref output, _repeated_postHookFailures_codec); - if (FileName.Length != 0) { - output.WriteRawTag(50); - output.WriteString(FileName); - } - tags_.WriteTo(ref output, _repeated_tags_codec); - preHookMessages_.WriteTo(ref output, _repeated_preHookMessages_codec); - postHookMessages_.WriteTo(ref output, _repeated_postHookMessages_codec); - preHookMessage_.WriteTo(ref output, _repeated_preHookMessage_codec); - postHookMessage_.WriteTo(ref output, _repeated_postHookMessage_codec); - preHookScreenshots_.WriteTo(ref output, _repeated_preHookScreenshots_codec); - postHookScreenshots_.WriteTo(ref output, _repeated_postHookScreenshots_codec); - if (ItemCount != 0L) { - output.WriteRawTag(112); - output.WriteInt64(ItemCount); - } - preHookScreenshotFiles_.WriteTo(ref output, _repeated_preHookScreenshotFiles_codec); - postHookScreenshotFiles_.WriteTo(ref output, _repeated_postHookScreenshotFiles_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (SpecHeading.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(SpecHeading); - } - size += items_.CalculateSize(_repeated_items_codec); - if (IsTableDriven != false) { - size += 1 + 1; - } - size += preHookFailures_.CalculateSize(_repeated_preHookFailures_codec); - size += postHookFailures_.CalculateSize(_repeated_postHookFailures_codec); - if (FileName.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(FileName); - } - size += tags_.CalculateSize(_repeated_tags_codec); - size += preHookMessages_.CalculateSize(_repeated_preHookMessages_codec); - size += postHookMessages_.CalculateSize(_repeated_postHookMessages_codec); - size += preHookMessage_.CalculateSize(_repeated_preHookMessage_codec); - size += postHookMessage_.CalculateSize(_repeated_postHookMessage_codec); - size += preHookScreenshots_.CalculateSize(_repeated_preHookScreenshots_codec); - size += postHookScreenshots_.CalculateSize(_repeated_postHookScreenshots_codec); - if (ItemCount != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(ItemCount); - } - size += preHookScreenshotFiles_.CalculateSize(_repeated_preHookScreenshotFiles_codec); - size += postHookScreenshotFiles_.CalculateSize(_repeated_postHookScreenshotFiles_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoSpec other) { - if (other == null) { - return; - } - if (other.SpecHeading.Length != 0) { - SpecHeading = other.SpecHeading; - } - items_.Add(other.items_); - if (other.IsTableDriven != false) { - IsTableDriven = other.IsTableDriven; - } - preHookFailures_.Add(other.preHookFailures_); - postHookFailures_.Add(other.postHookFailures_); - if (other.FileName.Length != 0) { - FileName = other.FileName; - } - tags_.Add(other.tags_); - preHookMessages_.Add(other.preHookMessages_); - postHookMessages_.Add(other.postHookMessages_); - preHookMessage_.Add(other.preHookMessage_); - postHookMessage_.Add(other.postHookMessage_); - preHookScreenshots_.Add(other.preHookScreenshots_); - postHookScreenshots_.Add(other.postHookScreenshots_); - if (other.ItemCount != 0L) { - ItemCount = other.ItemCount; - } - preHookScreenshotFiles_.Add(other.preHookScreenshotFiles_); - postHookScreenshotFiles_.Add(other.postHookScreenshotFiles_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - SpecHeading = input.ReadString(); - break; - } - case 18: { - items_.AddEntriesFrom(input, _repeated_items_codec); - break; - } - case 24: { - IsTableDriven = input.ReadBool(); - break; - } - case 34: { - preHookFailures_.AddEntriesFrom(input, _repeated_preHookFailures_codec); - break; - } - case 42: { - postHookFailures_.AddEntriesFrom(input, _repeated_postHookFailures_codec); - break; - } - case 50: { - FileName = input.ReadString(); - break; - } - case 58: { - tags_.AddEntriesFrom(input, _repeated_tags_codec); - break; - } - case 66: { - preHookMessages_.AddEntriesFrom(input, _repeated_preHookMessages_codec); - break; - } - case 74: { - postHookMessages_.AddEntriesFrom(input, _repeated_postHookMessages_codec); - break; - } - case 82: { - preHookMessage_.AddEntriesFrom(input, _repeated_preHookMessage_codec); - break; - } - case 90: { - postHookMessage_.AddEntriesFrom(input, _repeated_postHookMessage_codec); - break; - } - case 98: { - preHookScreenshots_.AddEntriesFrom(input, _repeated_preHookScreenshots_codec); - break; - } - case 106: { - postHookScreenshots_.AddEntriesFrom(input, _repeated_postHookScreenshots_codec); - break; - } - case 112: { - ItemCount = input.ReadInt64(); - break; - } - case 122: { - preHookScreenshotFiles_.AddEntriesFrom(input, _repeated_preHookScreenshotFiles_codec); - break; - } - case 130: { - postHookScreenshotFiles_.AddEntriesFrom(input, _repeated_postHookScreenshotFiles_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - SpecHeading = input.ReadString(); - break; - } - case 18: { - items_.AddEntriesFrom(ref input, _repeated_items_codec); - break; - } - case 24: { - IsTableDriven = input.ReadBool(); - break; - } - case 34: { - preHookFailures_.AddEntriesFrom(ref input, _repeated_preHookFailures_codec); - break; - } - case 42: { - postHookFailures_.AddEntriesFrom(ref input, _repeated_postHookFailures_codec); - break; - } - case 50: { - FileName = input.ReadString(); - break; - } - case 58: { - tags_.AddEntriesFrom(ref input, _repeated_tags_codec); - break; - } - case 66: { - preHookMessages_.AddEntriesFrom(ref input, _repeated_preHookMessages_codec); - break; - } - case 74: { - postHookMessages_.AddEntriesFrom(ref input, _repeated_postHookMessages_codec); - break; - } - case 82: { - preHookMessage_.AddEntriesFrom(ref input, _repeated_preHookMessage_codec); - break; - } - case 90: { - postHookMessage_.AddEntriesFrom(ref input, _repeated_postHookMessage_codec); - break; - } - case 98: { - preHookScreenshots_.AddEntriesFrom(ref input, _repeated_preHookScreenshots_codec); - break; - } - case 106: { - postHookScreenshots_.AddEntriesFrom(ref input, _repeated_postHookScreenshots_codec); - break; - } - case 112: { - ItemCount = input.ReadInt64(); - break; - } - case 122: { - preHookScreenshotFiles_.AddEntriesFrom(ref input, _repeated_preHookScreenshotFiles_codec); - break; - } - case 130: { - postHookScreenshotFiles_.AddEntriesFrom(ref input, _repeated_postHookScreenshotFiles_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Container for all valid Items under a Specification. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoItem : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoItem()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[1]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoItem() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoItem(ProtoItem other) : this() { - itemType_ = other.itemType_; - step_ = other.step_ != null ? other.step_.Clone() : null; - concept_ = other.concept_ != null ? other.concept_.Clone() : null; - scenario_ = other.scenario_ != null ? other.scenario_.Clone() : null; - tableDrivenScenario_ = other.tableDrivenScenario_ != null ? other.tableDrivenScenario_.Clone() : null; - comment_ = other.comment_ != null ? other.comment_.Clone() : null; - table_ = other.table_ != null ? other.table_.Clone() : null; - tags_ = other.tags_ != null ? other.tags_.Clone() : null; - fileName_ = other.fileName_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoItem Clone() { - return new ProtoItem(this); - } - - /// Field number for the "itemType" field. - public const int ItemTypeFieldNumber = 1; - private global::Gauge.Messages.ProtoItem.Types.ItemType itemType_ = global::Gauge.Messages.ProtoItem.Types.ItemType.Step; - /// - //// Itemtype of the current ProtoItem - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoItem.Types.ItemType ItemType { - get { return itemType_; } - set { - itemType_ = value; - } - } - - /// Field number for the "step" field. - public const int StepFieldNumber = 2; - private global::Gauge.Messages.ProtoStep step_; - /// - //// Holds the Step definition. Valid only if ItemType = Step - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoStep Step { - get { return step_; } - set { - step_ = value; - } - } - - /// Field number for the "concept" field. - public const int ConceptFieldNumber = 3; - private global::Gauge.Messages.ProtoConcept concept_; - /// - //// Holds the Concept definition. Valid only if ItemType = Concept - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoConcept Concept { - get { return concept_; } - set { - concept_ = value; - } - } - - /// Field number for the "scenario" field. - public const int ScenarioFieldNumber = 4; - private global::Gauge.Messages.ProtoScenario scenario_; - /// - //// Holds the Scenario definition. Valid only if ItemType = Scenario - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoScenario Scenario { - get { return scenario_; } - set { - scenario_ = value; - } - } - - /// Field number for the "tableDrivenScenario" field. - public const int TableDrivenScenarioFieldNumber = 5; - private global::Gauge.Messages.ProtoTableDrivenScenario tableDrivenScenario_; - /// - //// Holds the TableDrivenScenario definition. Valid only if ItemType = TableDrivenScenario - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoTableDrivenScenario TableDrivenScenario { - get { return tableDrivenScenario_; } - set { - tableDrivenScenario_ = value; - } - } - - /// Field number for the "comment" field. - public const int CommentFieldNumber = 6; - private global::Gauge.Messages.ProtoComment comment_; - /// - //// Holds the Comment definition. Valid only if ItemType = Comment - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoComment Comment { - get { return comment_; } - set { - comment_ = value; - } - } - - /// Field number for the "table" field. - public const int TableFieldNumber = 7; - private global::Gauge.Messages.ProtoTable table_; - /// - //// Holds the Table definition. Valid only if ItemType = Table - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoTable Table { - get { return table_; } - set { - table_ = value; - } - } - - /// Field number for the "tags" field. - public const int TagsFieldNumber = 8; - private global::Gauge.Messages.ProtoTags tags_; - /// - //// Holds the Tags definition. Valid only if ItemType = Tags - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoTags Tags { - get { return tags_; } - set { - tags_ = value; - } - } - - /// Field number for the "fileName" field. - public const int FileNameFieldNumber = 9; - private string fileName_ = ""; - /// - //// Holds the Filename that the item belongs to - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string FileName { - get { return fileName_; } - set { - fileName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoItem); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoItem other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (ItemType != other.ItemType) return false; - if (!object.Equals(Step, other.Step)) return false; - if (!object.Equals(Concept, other.Concept)) return false; - if (!object.Equals(Scenario, other.Scenario)) return false; - if (!object.Equals(TableDrivenScenario, other.TableDrivenScenario)) return false; - if (!object.Equals(Comment, other.Comment)) return false; - if (!object.Equals(Table, other.Table)) return false; - if (!object.Equals(Tags, other.Tags)) return false; - if (FileName != other.FileName) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (ItemType != global::Gauge.Messages.ProtoItem.Types.ItemType.Step) hash ^= ItemType.GetHashCode(); - if (step_ != null) hash ^= Step.GetHashCode(); - if (concept_ != null) hash ^= Concept.GetHashCode(); - if (scenario_ != null) hash ^= Scenario.GetHashCode(); - if (tableDrivenScenario_ != null) hash ^= TableDrivenScenario.GetHashCode(); - if (comment_ != null) hash ^= Comment.GetHashCode(); - if (table_ != null) hash ^= Table.GetHashCode(); - if (tags_ != null) hash ^= Tags.GetHashCode(); - if (FileName.Length != 0) hash ^= FileName.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (ItemType != global::Gauge.Messages.ProtoItem.Types.ItemType.Step) { - output.WriteRawTag(8); - output.WriteEnum((int) ItemType); - } - if (step_ != null) { - output.WriteRawTag(18); - output.WriteMessage(Step); - } - if (concept_ != null) { - output.WriteRawTag(26); - output.WriteMessage(Concept); - } - if (scenario_ != null) { - output.WriteRawTag(34); - output.WriteMessage(Scenario); - } - if (tableDrivenScenario_ != null) { - output.WriteRawTag(42); - output.WriteMessage(TableDrivenScenario); - } - if (comment_ != null) { - output.WriteRawTag(50); - output.WriteMessage(Comment); - } - if (table_ != null) { - output.WriteRawTag(58); - output.WriteMessage(Table); - } - if (tags_ != null) { - output.WriteRawTag(66); - output.WriteMessage(Tags); - } - if (FileName.Length != 0) { - output.WriteRawTag(74); - output.WriteString(FileName); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ItemType != global::Gauge.Messages.ProtoItem.Types.ItemType.Step) { - output.WriteRawTag(8); - output.WriteEnum((int) ItemType); - } - if (step_ != null) { - output.WriteRawTag(18); - output.WriteMessage(Step); - } - if (concept_ != null) { - output.WriteRawTag(26); - output.WriteMessage(Concept); - } - if (scenario_ != null) { - output.WriteRawTag(34); - output.WriteMessage(Scenario); - } - if (tableDrivenScenario_ != null) { - output.WriteRawTag(42); - output.WriteMessage(TableDrivenScenario); - } - if (comment_ != null) { - output.WriteRawTag(50); - output.WriteMessage(Comment); - } - if (table_ != null) { - output.WriteRawTag(58); - output.WriteMessage(Table); - } - if (tags_ != null) { - output.WriteRawTag(66); - output.WriteMessage(Tags); - } - if (FileName.Length != 0) { - output.WriteRawTag(74); - output.WriteString(FileName); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (ItemType != global::Gauge.Messages.ProtoItem.Types.ItemType.Step) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ItemType); - } - if (step_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Step); - } - if (concept_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Concept); - } - if (scenario_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Scenario); - } - if (tableDrivenScenario_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(TableDrivenScenario); - } - if (comment_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Comment); - } - if (table_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Table); - } - if (tags_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Tags); - } - if (FileName.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(FileName); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoItem other) { - if (other == null) { - return; - } - if (other.ItemType != global::Gauge.Messages.ProtoItem.Types.ItemType.Step) { - ItemType = other.ItemType; - } - if (other.step_ != null) { - if (step_ == null) { - Step = new global::Gauge.Messages.ProtoStep(); - } - Step.MergeFrom(other.Step); - } - if (other.concept_ != null) { - if (concept_ == null) { - Concept = new global::Gauge.Messages.ProtoConcept(); - } - Concept.MergeFrom(other.Concept); - } - if (other.scenario_ != null) { - if (scenario_ == null) { - Scenario = new global::Gauge.Messages.ProtoScenario(); - } - Scenario.MergeFrom(other.Scenario); - } - if (other.tableDrivenScenario_ != null) { - if (tableDrivenScenario_ == null) { - TableDrivenScenario = new global::Gauge.Messages.ProtoTableDrivenScenario(); - } - TableDrivenScenario.MergeFrom(other.TableDrivenScenario); - } - if (other.comment_ != null) { - if (comment_ == null) { - Comment = new global::Gauge.Messages.ProtoComment(); - } - Comment.MergeFrom(other.Comment); - } - if (other.table_ != null) { - if (table_ == null) { - Table = new global::Gauge.Messages.ProtoTable(); - } - Table.MergeFrom(other.Table); - } - if (other.tags_ != null) { - if (tags_ == null) { - Tags = new global::Gauge.Messages.ProtoTags(); - } - Tags.MergeFrom(other.Tags); - } - if (other.FileName.Length != 0) { - FileName = other.FileName; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - ItemType = (global::Gauge.Messages.ProtoItem.Types.ItemType) input.ReadEnum(); - break; - } - case 18: { - if (step_ == null) { - Step = new global::Gauge.Messages.ProtoStep(); - } - input.ReadMessage(Step); - break; - } - case 26: { - if (concept_ == null) { - Concept = new global::Gauge.Messages.ProtoConcept(); - } - input.ReadMessage(Concept); - break; - } - case 34: { - if (scenario_ == null) { - Scenario = new global::Gauge.Messages.ProtoScenario(); - } - input.ReadMessage(Scenario); - break; - } - case 42: { - if (tableDrivenScenario_ == null) { - TableDrivenScenario = new global::Gauge.Messages.ProtoTableDrivenScenario(); - } - input.ReadMessage(TableDrivenScenario); - break; - } - case 50: { - if (comment_ == null) { - Comment = new global::Gauge.Messages.ProtoComment(); - } - input.ReadMessage(Comment); - break; - } - case 58: { - if (table_ == null) { - Table = new global::Gauge.Messages.ProtoTable(); - } - input.ReadMessage(Table); - break; - } - case 66: { - if (tags_ == null) { - Tags = new global::Gauge.Messages.ProtoTags(); - } - input.ReadMessage(Tags); - break; - } - case 74: { - FileName = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - ItemType = (global::Gauge.Messages.ProtoItem.Types.ItemType) input.ReadEnum(); - break; - } - case 18: { - if (step_ == null) { - Step = new global::Gauge.Messages.ProtoStep(); - } - input.ReadMessage(Step); - break; - } - case 26: { - if (concept_ == null) { - Concept = new global::Gauge.Messages.ProtoConcept(); - } - input.ReadMessage(Concept); - break; - } - case 34: { - if (scenario_ == null) { - Scenario = new global::Gauge.Messages.ProtoScenario(); - } - input.ReadMessage(Scenario); - break; - } - case 42: { - if (tableDrivenScenario_ == null) { - TableDrivenScenario = new global::Gauge.Messages.ProtoTableDrivenScenario(); - } - input.ReadMessage(TableDrivenScenario); - break; - } - case 50: { - if (comment_ == null) { - Comment = new global::Gauge.Messages.ProtoComment(); - } - input.ReadMessage(Comment); - break; - } - case 58: { - if (table_ == null) { - Table = new global::Gauge.Messages.ProtoTable(); - } - input.ReadMessage(Table); - break; - } - case 66: { - if (tags_ == null) { - Tags = new global::Gauge.Messages.ProtoTags(); - } - input.ReadMessage(Tags); - break; - } - case 74: { - FileName = input.ReadString(); - break; - } - } - } - } - #endif - - #region Nested types - /// Container for nested types declared in the ProtoItem message type. - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static partial class Types { - /// - //// Enumerates various item types that the proto item can contain. Valid types are: Step, Comment, Concept, Scenario, TableDrivenScenario, Table, Tags - /// - public enum ItemType { - /// - /// Item is a Step - /// - [pbr::OriginalName("Step")] Step = 0, - /// - /// Item is a Comment - /// - [pbr::OriginalName("Comment")] Comment = 1, - /// - /// Item is a Concept - /// - [pbr::OriginalName("Concept")] Concept = 2, - /// - /// Item is a Scenario - /// - [pbr::OriginalName("Scenario")] Scenario = 3, - /// - /// Item is a TableDrivenScenario, a special case of Scenario, where there is a Context Step defining a table. - /// - [pbr::OriginalName("TableDrivenScenario")] TableDrivenScenario = 4, - /// - /// Item is a Table - /// - [pbr::OriginalName("Table")] Table = 5, - /// - /// Item is a Tag - /// - [pbr::OriginalName("Tags")] Tags = 6, - } - - } - #endregion - - } - - /// - //// A proto object representing a Scenario - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoScenario : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoScenario()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[2]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoScenario() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoScenario(ProtoScenario other) : this() { - scenarioHeading_ = other.scenarioHeading_; - failed_ = other.failed_; - contexts_ = other.contexts_.Clone(); - scenarioItems_ = other.scenarioItems_.Clone(); - preHookFailure_ = other.preHookFailure_ != null ? other.preHookFailure_.Clone() : null; - postHookFailure_ = other.postHookFailure_ != null ? other.postHookFailure_.Clone() : null; - tags_ = other.tags_.Clone(); - executionTime_ = other.executionTime_; - skipped_ = other.skipped_; - skipErrors_ = other.skipErrors_.Clone(); - iD_ = other.iD_; - tearDownSteps_ = other.tearDownSteps_.Clone(); - span_ = other.span_ != null ? other.span_.Clone() : null; - executionStatus_ = other.executionStatus_; - preHookMessages_ = other.preHookMessages_.Clone(); - postHookMessages_ = other.postHookMessages_.Clone(); - preHookMessage_ = other.preHookMessage_.Clone(); - postHookMessage_ = other.postHookMessage_.Clone(); - preHookScreenshots_ = other.preHookScreenshots_.Clone(); - postHookScreenshots_ = other.postHookScreenshots_.Clone(); - preHookScreenshotFiles_ = other.preHookScreenshotFiles_.Clone(); - postHookScreenshotFiles_ = other.postHookScreenshotFiles_.Clone(); - retriesCount_ = other.retriesCount_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoScenario Clone() { - return new ProtoScenario(this); - } - - /// Field number for the "scenarioHeading" field. - public const int ScenarioHeadingFieldNumber = 1; - private string scenarioHeading_ = ""; - /// - //// Heading of the given Scenario - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ScenarioHeading { - get { return scenarioHeading_; } - set { - scenarioHeading_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "failed" field. - public const int FailedFieldNumber = 2; - private bool failed_; - /// - //// Flag to indicate if the Scenario execution failed - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Failed { - get { return failed_; } - set { - failed_ = value; - } - } - - /// Field number for the "contexts" field. - public const int ContextsFieldNumber = 3; - private static readonly pb::FieldCodec _repeated_contexts_codec - = pb::FieldCodec.ForMessage(26, global::Gauge.Messages.ProtoItem.Parser); - private readonly pbc::RepeatedField contexts_ = new pbc::RepeatedField(); - /// - //// Collection of Context steps. The Context steps are executed before every run. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Contexts { - get { return contexts_; } - } - - /// Field number for the "scenarioItems" field. - public const int ScenarioItemsFieldNumber = 4; - private static readonly pb::FieldCodec _repeated_scenarioItems_codec - = pb::FieldCodec.ForMessage(34, global::Gauge.Messages.ProtoItem.Parser); - private readonly pbc::RepeatedField scenarioItems_ = new pbc::RepeatedField(); - /// - //// Collection of Items under a scenario. These could be Steps, Comments, Tags, TableDrivenScenarios or Tables - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField ScenarioItems { - get { return scenarioItems_; } - } - - /// Field number for the "preHookFailure" field. - public const int PreHookFailureFieldNumber = 5; - private global::Gauge.Messages.ProtoHookFailure preHookFailure_; - /// - //// Contains a 'before' hook failure message. This happens when the `before_scenario` hook has an error. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoHookFailure PreHookFailure { - get { return preHookFailure_; } - set { - preHookFailure_ = value; - } - } - - /// Field number for the "postHookFailure" field. - public const int PostHookFailureFieldNumber = 6; - private global::Gauge.Messages.ProtoHookFailure postHookFailure_; - /// - //// Contains a 'after' hook failure message. This happens when the `after_scenario` hook has an error. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoHookFailure PostHookFailure { - get { return postHookFailure_; } - set { - postHookFailure_ = value; - } - } - - /// Field number for the "tags" field. - public const int TagsFieldNumber = 7; - private static readonly pb::FieldCodec _repeated_tags_codec - = pb::FieldCodec.ForString(58); - private readonly pbc::RepeatedField tags_ = new pbc::RepeatedField(); - /// - //// Contains a list of tags that are defined at the specification level. Scenario tags are not present here. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Tags { - get { return tags_; } - } - - /// Field number for the "executionTime" field. - public const int ExecutionTimeFieldNumber = 8; - private long executionTime_; - /// - //// Holds the time taken for executing this scenario. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long ExecutionTime { - get { return executionTime_; } - set { - executionTime_ = value; - } - } - - /// Field number for the "skipped" field. - public const int SkippedFieldNumber = 9; - private bool skipped_; - /// - //// Flag to indicate if the Scenario execution is skipped - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Skipped { - get { return skipped_; } - set { - skipped_ = value; - } - } - - /// Field number for the "skipErrors" field. - public const int SkipErrorsFieldNumber = 10; - private static readonly pb::FieldCodec _repeated_skipErrors_codec - = pb::FieldCodec.ForString(82); - private readonly pbc::RepeatedField skipErrors_ = new pbc::RepeatedField(); - /// - //// Holds the error messages for skipping scenario from execution - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField SkipErrors { - get { return skipErrors_; } - } - - /// Field number for the "ID" field. - public const int IDFieldNumber = 11; - private string iD_ = ""; - /// - //// Holds the unique Identifier of a scenario. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ID { - get { return iD_; } - set { - iD_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "tearDownSteps" field. - public const int TearDownStepsFieldNumber = 12; - private static readonly pb::FieldCodec _repeated_tearDownSteps_codec - = pb::FieldCodec.ForMessage(98, global::Gauge.Messages.ProtoItem.Parser); - private readonly pbc::RepeatedField tearDownSteps_ = new pbc::RepeatedField(); - /// - //// Collection of Teardown steps. The Teardown steps are executed after every run. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField TearDownSteps { - get { return tearDownSteps_; } - } - - /// Field number for the "span" field. - public const int SpanFieldNumber = 13; - private global::Gauge.Messages.Span span_; - /// - //// Span(start, end) of scenario - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.Span Span { - get { return span_; } - set { - span_ = value; - } - } - - /// Field number for the "executionStatus" field. - public const int ExecutionStatusFieldNumber = 14; - private global::Gauge.Messages.ExecutionStatus executionStatus_ = global::Gauge.Messages.ExecutionStatus.Notexecuted; - /// - //// Execution status for the scenario - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ExecutionStatus ExecutionStatus { - get { return executionStatus_; } - set { - executionStatus_ = value; - } - } - - /// Field number for the "preHookMessages" field. - public const int PreHookMessagesFieldNumber = 15; - private static readonly pb::FieldCodec _repeated_preHookMessages_codec - = pb::FieldCodec.ForString(122); - private readonly pbc::RepeatedField preHookMessages_ = new pbc::RepeatedField(); - /// - //// Additional information at pre hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookMessages { - get { return preHookMessages_; } - } - - /// Field number for the "postHookMessages" field. - public const int PostHookMessagesFieldNumber = 16; - private static readonly pb::FieldCodec _repeated_postHookMessages_codec - = pb::FieldCodec.ForString(130); - private readonly pbc::RepeatedField postHookMessages_ = new pbc::RepeatedField(); - /// - //// Additional information at post hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookMessages { - get { return postHookMessages_; } - } - - /// Field number for the "preHookMessage" field. - public const int PreHookMessageFieldNumber = 17; - private static readonly pb::FieldCodec _repeated_preHookMessage_codec - = pb::FieldCodec.ForString(138); - private readonly pbc::RepeatedField preHookMessage_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use preHookMessages] Additional information at pre hook exec time to be available on reports - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookMessage { - get { return preHookMessage_; } - } - - /// Field number for the "postHookMessage" field. - public const int PostHookMessageFieldNumber = 18; - private static readonly pb::FieldCodec _repeated_postHookMessage_codec - = pb::FieldCodec.ForString(146); - private readonly pbc::RepeatedField postHookMessage_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use postHookMessages] Additional information at post hook exec time to be available on reports - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookMessage { - get { return postHookMessage_; } - } - - /// Field number for the "preHookScreenshots" field. - public const int PreHookScreenshotsFieldNumber = 19; - private static readonly pb::FieldCodec _repeated_preHookScreenshots_codec - = pb::FieldCodec.ForBytes(154); - private readonly pbc::RepeatedField preHookScreenshots_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use preHookScreenshotFiles] Capture Screenshot at pre hook exec time to be available on reports - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookScreenshots { - get { return preHookScreenshots_; } - } - - /// Field number for the "postHookScreenshots" field. - public const int PostHookScreenshotsFieldNumber = 20; - private static readonly pb::FieldCodec _repeated_postHookScreenshots_codec - = pb::FieldCodec.ForBytes(162); - private readonly pbc::RepeatedField postHookScreenshots_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use postHookScreenshotFiles] Capture Screenshot at post hook exec time to be available on reports - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookScreenshots { - get { return postHookScreenshots_; } - } - - /// Field number for the "preHookScreenshotFiles" field. - public const int PreHookScreenshotFilesFieldNumber = 21; - private static readonly pb::FieldCodec _repeated_preHookScreenshotFiles_codec - = pb::FieldCodec.ForString(170); - private readonly pbc::RepeatedField preHookScreenshotFiles_ = new pbc::RepeatedField(); - /// - //// Screenshots captured on pre hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookScreenshotFiles { - get { return preHookScreenshotFiles_; } - } - - /// Field number for the "postHookScreenshotFiles" field. - public const int PostHookScreenshotFilesFieldNumber = 22; - private static readonly pb::FieldCodec _repeated_postHookScreenshotFiles_codec - = pb::FieldCodec.ForString(178); - private readonly pbc::RepeatedField postHookScreenshotFiles_ = new pbc::RepeatedField(); - /// - //// Screenshots captured on post hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookScreenshotFiles { - get { return postHookScreenshotFiles_; } - } - - /// Field number for the "retriesCount" field. - public const int RetriesCountFieldNumber = 23; - private long retriesCount_; - /// - //// Number of retires - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long RetriesCount { - get { return retriesCount_; } - set { - retriesCount_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoScenario); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoScenario other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (ScenarioHeading != other.ScenarioHeading) return false; - if (Failed != other.Failed) return false; - if(!contexts_.Equals(other.contexts_)) return false; - if(!scenarioItems_.Equals(other.scenarioItems_)) return false; - if (!object.Equals(PreHookFailure, other.PreHookFailure)) return false; - if (!object.Equals(PostHookFailure, other.PostHookFailure)) return false; - if(!tags_.Equals(other.tags_)) return false; - if (ExecutionTime != other.ExecutionTime) return false; - if (Skipped != other.Skipped) return false; - if(!skipErrors_.Equals(other.skipErrors_)) return false; - if (ID != other.ID) return false; - if(!tearDownSteps_.Equals(other.tearDownSteps_)) return false; - if (!object.Equals(Span, other.Span)) return false; - if (ExecutionStatus != other.ExecutionStatus) return false; - if(!preHookMessages_.Equals(other.preHookMessages_)) return false; - if(!postHookMessages_.Equals(other.postHookMessages_)) return false; - if(!preHookMessage_.Equals(other.preHookMessage_)) return false; - if(!postHookMessage_.Equals(other.postHookMessage_)) return false; - if(!preHookScreenshots_.Equals(other.preHookScreenshots_)) return false; - if(!postHookScreenshots_.Equals(other.postHookScreenshots_)) return false; - if(!preHookScreenshotFiles_.Equals(other.preHookScreenshotFiles_)) return false; - if(!postHookScreenshotFiles_.Equals(other.postHookScreenshotFiles_)) return false; - if (RetriesCount != other.RetriesCount) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (ScenarioHeading.Length != 0) hash ^= ScenarioHeading.GetHashCode(); - if (Failed != false) hash ^= Failed.GetHashCode(); - hash ^= contexts_.GetHashCode(); - hash ^= scenarioItems_.GetHashCode(); - if (preHookFailure_ != null) hash ^= PreHookFailure.GetHashCode(); - if (postHookFailure_ != null) hash ^= PostHookFailure.GetHashCode(); - hash ^= tags_.GetHashCode(); - if (ExecutionTime != 0L) hash ^= ExecutionTime.GetHashCode(); - if (Skipped != false) hash ^= Skipped.GetHashCode(); - hash ^= skipErrors_.GetHashCode(); - if (ID.Length != 0) hash ^= ID.GetHashCode(); - hash ^= tearDownSteps_.GetHashCode(); - if (span_ != null) hash ^= Span.GetHashCode(); - if (ExecutionStatus != global::Gauge.Messages.ExecutionStatus.Notexecuted) hash ^= ExecutionStatus.GetHashCode(); - hash ^= preHookMessages_.GetHashCode(); - hash ^= postHookMessages_.GetHashCode(); - hash ^= preHookMessage_.GetHashCode(); - hash ^= postHookMessage_.GetHashCode(); - hash ^= preHookScreenshots_.GetHashCode(); - hash ^= postHookScreenshots_.GetHashCode(); - hash ^= preHookScreenshotFiles_.GetHashCode(); - hash ^= postHookScreenshotFiles_.GetHashCode(); - if (RetriesCount != 0L) hash ^= RetriesCount.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (ScenarioHeading.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ScenarioHeading); - } - if (Failed != false) { - output.WriteRawTag(16); - output.WriteBool(Failed); - } - contexts_.WriteTo(output, _repeated_contexts_codec); - scenarioItems_.WriteTo(output, _repeated_scenarioItems_codec); - if (preHookFailure_ != null) { - output.WriteRawTag(42); - output.WriteMessage(PreHookFailure); - } - if (postHookFailure_ != null) { - output.WriteRawTag(50); - output.WriteMessage(PostHookFailure); - } - tags_.WriteTo(output, _repeated_tags_codec); - if (ExecutionTime != 0L) { - output.WriteRawTag(64); - output.WriteInt64(ExecutionTime); - } - if (Skipped != false) { - output.WriteRawTag(72); - output.WriteBool(Skipped); - } - skipErrors_.WriteTo(output, _repeated_skipErrors_codec); - if (ID.Length != 0) { - output.WriteRawTag(90); - output.WriteString(ID); - } - tearDownSteps_.WriteTo(output, _repeated_tearDownSteps_codec); - if (span_ != null) { - output.WriteRawTag(106); - output.WriteMessage(Span); - } - if (ExecutionStatus != global::Gauge.Messages.ExecutionStatus.Notexecuted) { - output.WriteRawTag(112); - output.WriteEnum((int) ExecutionStatus); - } - preHookMessages_.WriteTo(output, _repeated_preHookMessages_codec); - postHookMessages_.WriteTo(output, _repeated_postHookMessages_codec); - preHookMessage_.WriteTo(output, _repeated_preHookMessage_codec); - postHookMessage_.WriteTo(output, _repeated_postHookMessage_codec); - preHookScreenshots_.WriteTo(output, _repeated_preHookScreenshots_codec); - postHookScreenshots_.WriteTo(output, _repeated_postHookScreenshots_codec); - preHookScreenshotFiles_.WriteTo(output, _repeated_preHookScreenshotFiles_codec); - postHookScreenshotFiles_.WriteTo(output, _repeated_postHookScreenshotFiles_codec); - if (RetriesCount != 0L) { - output.WriteRawTag(184, 1); - output.WriteInt64(RetriesCount); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ScenarioHeading.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ScenarioHeading); - } - if (Failed != false) { - output.WriteRawTag(16); - output.WriteBool(Failed); - } - contexts_.WriteTo(ref output, _repeated_contexts_codec); - scenarioItems_.WriteTo(ref output, _repeated_scenarioItems_codec); - if (preHookFailure_ != null) { - output.WriteRawTag(42); - output.WriteMessage(PreHookFailure); - } - if (postHookFailure_ != null) { - output.WriteRawTag(50); - output.WriteMessage(PostHookFailure); - } - tags_.WriteTo(ref output, _repeated_tags_codec); - if (ExecutionTime != 0L) { - output.WriteRawTag(64); - output.WriteInt64(ExecutionTime); - } - if (Skipped != false) { - output.WriteRawTag(72); - output.WriteBool(Skipped); - } - skipErrors_.WriteTo(ref output, _repeated_skipErrors_codec); - if (ID.Length != 0) { - output.WriteRawTag(90); - output.WriteString(ID); - } - tearDownSteps_.WriteTo(ref output, _repeated_tearDownSteps_codec); - if (span_ != null) { - output.WriteRawTag(106); - output.WriteMessage(Span); - } - if (ExecutionStatus != global::Gauge.Messages.ExecutionStatus.Notexecuted) { - output.WriteRawTag(112); - output.WriteEnum((int) ExecutionStatus); - } - preHookMessages_.WriteTo(ref output, _repeated_preHookMessages_codec); - postHookMessages_.WriteTo(ref output, _repeated_postHookMessages_codec); - preHookMessage_.WriteTo(ref output, _repeated_preHookMessage_codec); - postHookMessage_.WriteTo(ref output, _repeated_postHookMessage_codec); - preHookScreenshots_.WriteTo(ref output, _repeated_preHookScreenshots_codec); - postHookScreenshots_.WriteTo(ref output, _repeated_postHookScreenshots_codec); - preHookScreenshotFiles_.WriteTo(ref output, _repeated_preHookScreenshotFiles_codec); - postHookScreenshotFiles_.WriteTo(ref output, _repeated_postHookScreenshotFiles_codec); - if (RetriesCount != 0L) { - output.WriteRawTag(184, 1); - output.WriteInt64(RetriesCount); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (ScenarioHeading.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ScenarioHeading); - } - if (Failed != false) { - size += 1 + 1; - } - size += contexts_.CalculateSize(_repeated_contexts_codec); - size += scenarioItems_.CalculateSize(_repeated_scenarioItems_codec); - if (preHookFailure_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PreHookFailure); - } - if (postHookFailure_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PostHookFailure); - } - size += tags_.CalculateSize(_repeated_tags_codec); - if (ExecutionTime != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(ExecutionTime); - } - if (Skipped != false) { - size += 1 + 1; - } - size += skipErrors_.CalculateSize(_repeated_skipErrors_codec); - if (ID.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ID); - } - size += tearDownSteps_.CalculateSize(_repeated_tearDownSteps_codec); - if (span_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Span); - } - if (ExecutionStatus != global::Gauge.Messages.ExecutionStatus.Notexecuted) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ExecutionStatus); - } - size += preHookMessages_.CalculateSize(_repeated_preHookMessages_codec); - size += postHookMessages_.CalculateSize(_repeated_postHookMessages_codec); - size += preHookMessage_.CalculateSize(_repeated_preHookMessage_codec); - size += postHookMessage_.CalculateSize(_repeated_postHookMessage_codec); - size += preHookScreenshots_.CalculateSize(_repeated_preHookScreenshots_codec); - size += postHookScreenshots_.CalculateSize(_repeated_postHookScreenshots_codec); - size += preHookScreenshotFiles_.CalculateSize(_repeated_preHookScreenshotFiles_codec); - size += postHookScreenshotFiles_.CalculateSize(_repeated_postHookScreenshotFiles_codec); - if (RetriesCount != 0L) { - size += 2 + pb::CodedOutputStream.ComputeInt64Size(RetriesCount); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoScenario other) { - if (other == null) { - return; - } - if (other.ScenarioHeading.Length != 0) { - ScenarioHeading = other.ScenarioHeading; - } - if (other.Failed != false) { - Failed = other.Failed; - } - contexts_.Add(other.contexts_); - scenarioItems_.Add(other.scenarioItems_); - if (other.preHookFailure_ != null) { - if (preHookFailure_ == null) { - PreHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - PreHookFailure.MergeFrom(other.PreHookFailure); - } - if (other.postHookFailure_ != null) { - if (postHookFailure_ == null) { - PostHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - PostHookFailure.MergeFrom(other.PostHookFailure); - } - tags_.Add(other.tags_); - if (other.ExecutionTime != 0L) { - ExecutionTime = other.ExecutionTime; - } - if (other.Skipped != false) { - Skipped = other.Skipped; - } - skipErrors_.Add(other.skipErrors_); - if (other.ID.Length != 0) { - ID = other.ID; - } - tearDownSteps_.Add(other.tearDownSteps_); - if (other.span_ != null) { - if (span_ == null) { - Span = new global::Gauge.Messages.Span(); - } - Span.MergeFrom(other.Span); - } - if (other.ExecutionStatus != global::Gauge.Messages.ExecutionStatus.Notexecuted) { - ExecutionStatus = other.ExecutionStatus; - } - preHookMessages_.Add(other.preHookMessages_); - postHookMessages_.Add(other.postHookMessages_); - preHookMessage_.Add(other.preHookMessage_); - postHookMessage_.Add(other.postHookMessage_); - preHookScreenshots_.Add(other.preHookScreenshots_); - postHookScreenshots_.Add(other.postHookScreenshots_); - preHookScreenshotFiles_.Add(other.preHookScreenshotFiles_); - postHookScreenshotFiles_.Add(other.postHookScreenshotFiles_); - if (other.RetriesCount != 0L) { - RetriesCount = other.RetriesCount; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - ScenarioHeading = input.ReadString(); - break; - } - case 16: { - Failed = input.ReadBool(); - break; - } - case 26: { - contexts_.AddEntriesFrom(input, _repeated_contexts_codec); - break; - } - case 34: { - scenarioItems_.AddEntriesFrom(input, _repeated_scenarioItems_codec); - break; - } - case 42: { - if (preHookFailure_ == null) { - PreHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - input.ReadMessage(PreHookFailure); - break; - } - case 50: { - if (postHookFailure_ == null) { - PostHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - input.ReadMessage(PostHookFailure); - break; - } - case 58: { - tags_.AddEntriesFrom(input, _repeated_tags_codec); - break; - } - case 64: { - ExecutionTime = input.ReadInt64(); - break; - } - case 72: { - Skipped = input.ReadBool(); - break; - } - case 82: { - skipErrors_.AddEntriesFrom(input, _repeated_skipErrors_codec); - break; - } - case 90: { - ID = input.ReadString(); - break; - } - case 98: { - tearDownSteps_.AddEntriesFrom(input, _repeated_tearDownSteps_codec); - break; - } - case 106: { - if (span_ == null) { - Span = new global::Gauge.Messages.Span(); - } - input.ReadMessage(Span); - break; - } - case 112: { - ExecutionStatus = (global::Gauge.Messages.ExecutionStatus) input.ReadEnum(); - break; - } - case 122: { - preHookMessages_.AddEntriesFrom(input, _repeated_preHookMessages_codec); - break; - } - case 130: { - postHookMessages_.AddEntriesFrom(input, _repeated_postHookMessages_codec); - break; - } - case 138: { - preHookMessage_.AddEntriesFrom(input, _repeated_preHookMessage_codec); - break; - } - case 146: { - postHookMessage_.AddEntriesFrom(input, _repeated_postHookMessage_codec); - break; - } - case 154: { - preHookScreenshots_.AddEntriesFrom(input, _repeated_preHookScreenshots_codec); - break; - } - case 162: { - postHookScreenshots_.AddEntriesFrom(input, _repeated_postHookScreenshots_codec); - break; - } - case 170: { - preHookScreenshotFiles_.AddEntriesFrom(input, _repeated_preHookScreenshotFiles_codec); - break; - } - case 178: { - postHookScreenshotFiles_.AddEntriesFrom(input, _repeated_postHookScreenshotFiles_codec); - break; - } - case 184: { - RetriesCount = input.ReadInt64(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - ScenarioHeading = input.ReadString(); - break; - } - case 16: { - Failed = input.ReadBool(); - break; - } - case 26: { - contexts_.AddEntriesFrom(ref input, _repeated_contexts_codec); - break; - } - case 34: { - scenarioItems_.AddEntriesFrom(ref input, _repeated_scenarioItems_codec); - break; - } - case 42: { - if (preHookFailure_ == null) { - PreHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - input.ReadMessage(PreHookFailure); - break; - } - case 50: { - if (postHookFailure_ == null) { - PostHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - input.ReadMessage(PostHookFailure); - break; - } - case 58: { - tags_.AddEntriesFrom(ref input, _repeated_tags_codec); - break; - } - case 64: { - ExecutionTime = input.ReadInt64(); - break; - } - case 72: { - Skipped = input.ReadBool(); - break; - } - case 82: { - skipErrors_.AddEntriesFrom(ref input, _repeated_skipErrors_codec); - break; - } - case 90: { - ID = input.ReadString(); - break; - } - case 98: { - tearDownSteps_.AddEntriesFrom(ref input, _repeated_tearDownSteps_codec); - break; - } - case 106: { - if (span_ == null) { - Span = new global::Gauge.Messages.Span(); - } - input.ReadMessage(Span); - break; - } - case 112: { - ExecutionStatus = (global::Gauge.Messages.ExecutionStatus) input.ReadEnum(); - break; - } - case 122: { - preHookMessages_.AddEntriesFrom(ref input, _repeated_preHookMessages_codec); - break; - } - case 130: { - postHookMessages_.AddEntriesFrom(ref input, _repeated_postHookMessages_codec); - break; - } - case 138: { - preHookMessage_.AddEntriesFrom(ref input, _repeated_preHookMessage_codec); - break; - } - case 146: { - postHookMessage_.AddEntriesFrom(ref input, _repeated_postHookMessage_codec); - break; - } - case 154: { - preHookScreenshots_.AddEntriesFrom(ref input, _repeated_preHookScreenshots_codec); - break; - } - case 162: { - postHookScreenshots_.AddEntriesFrom(ref input, _repeated_postHookScreenshots_codec); - break; - } - case 170: { - preHookScreenshotFiles_.AddEntriesFrom(ref input, _repeated_preHookScreenshotFiles_codec); - break; - } - case 178: { - postHookScreenshotFiles_.AddEntriesFrom(ref input, _repeated_postHookScreenshotFiles_codec); - break; - } - case 184: { - RetriesCount = input.ReadInt64(); - break; - } - } - } - } - #endif - - } - - /// - //// A proto object representing a Span of content - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class Span : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Span()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[3]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Span() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Span(Span other) : this() { - start_ = other.start_; - end_ = other.end_; - startChar_ = other.startChar_; - endChar_ = other.endChar_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Span Clone() { - return new Span(this); - } - - /// Field number for the "start" field. - public const int StartFieldNumber = 1; - private long start_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long Start { - get { return start_; } - set { - start_ = value; - } - } - - /// Field number for the "end" field. - public const int EndFieldNumber = 2; - private long end_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long End { - get { return end_; } - set { - end_ = value; - } - } - - /// Field number for the "startChar" field. - public const int StartCharFieldNumber = 3; - private long startChar_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long StartChar { - get { return startChar_; } - set { - startChar_ = value; - } - } - - /// Field number for the "endChar" field. - public const int EndCharFieldNumber = 4; - private long endChar_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long EndChar { - get { return endChar_; } - set { - endChar_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as Span); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(Span other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Start != other.Start) return false; - if (End != other.End) return false; - if (StartChar != other.StartChar) return false; - if (EndChar != other.EndChar) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Start != 0L) hash ^= Start.GetHashCode(); - if (End != 0L) hash ^= End.GetHashCode(); - if (StartChar != 0L) hash ^= StartChar.GetHashCode(); - if (EndChar != 0L) hash ^= EndChar.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Start != 0L) { - output.WriteRawTag(8); - output.WriteInt64(Start); - } - if (End != 0L) { - output.WriteRawTag(16); - output.WriteInt64(End); - } - if (StartChar != 0L) { - output.WriteRawTag(24); - output.WriteInt64(StartChar); - } - if (EndChar != 0L) { - output.WriteRawTag(32); - output.WriteInt64(EndChar); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Start != 0L) { - output.WriteRawTag(8); - output.WriteInt64(Start); - } - if (End != 0L) { - output.WriteRawTag(16); - output.WriteInt64(End); - } - if (StartChar != 0L) { - output.WriteRawTag(24); - output.WriteInt64(StartChar); - } - if (EndChar != 0L) { - output.WriteRawTag(32); - output.WriteInt64(EndChar); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Start != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(Start); - } - if (End != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(End); - } - if (StartChar != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(StartChar); - } - if (EndChar != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(EndChar); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(Span other) { - if (other == null) { - return; - } - if (other.Start != 0L) { - Start = other.Start; - } - if (other.End != 0L) { - End = other.End; - } - if (other.StartChar != 0L) { - StartChar = other.StartChar; - } - if (other.EndChar != 0L) { - EndChar = other.EndChar; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - Start = input.ReadInt64(); - break; - } - case 16: { - End = input.ReadInt64(); - break; - } - case 24: { - StartChar = input.ReadInt64(); - break; - } - case 32: { - EndChar = input.ReadInt64(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - Start = input.ReadInt64(); - break; - } - case 16: { - End = input.ReadInt64(); - break; - } - case 24: { - StartChar = input.ReadInt64(); - break; - } - case 32: { - EndChar = input.ReadInt64(); - break; - } - } - } - } - #endif - - } - - /// - //// A proto object representing a TableDrivenScenario - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoTableDrivenScenario : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoTableDrivenScenario()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[4]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoTableDrivenScenario() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoTableDrivenScenario(ProtoTableDrivenScenario other) : this() { - scenario_ = other.scenario_ != null ? other.scenario_.Clone() : null; - tableRowIndex_ = other.tableRowIndex_; - scenarioTableRowIndex_ = other.scenarioTableRowIndex_; - isSpecTableDriven_ = other.isSpecTableDriven_; - isScenarioTableDriven_ = other.isScenarioTableDriven_; - scenarioDataTable_ = other.scenarioDataTable_ != null ? other.scenarioDataTable_.Clone() : null; - scenarioTableRow_ = other.scenarioTableRow_ != null ? other.scenarioTableRow_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoTableDrivenScenario Clone() { - return new ProtoTableDrivenScenario(this); - } - - /// Field number for the "scenario" field. - public const int ScenarioFieldNumber = 1; - private global::Gauge.Messages.ProtoScenario scenario_; - /// - //// Scenario under Table driven execution - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoScenario Scenario { - get { return scenario_; } - set { - scenario_ = value; - } - } - - /// Field number for the "tableRowIndex" field. - public const int TableRowIndexFieldNumber = 2; - private int tableRowIndex_; - /// - //// Row Index of data table against which the current scenario is executed - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int TableRowIndex { - get { return tableRowIndex_; } - set { - tableRowIndex_ = value; - } - } - - /// Field number for the "scenarioTableRowIndex" field. - public const int ScenarioTableRowIndexFieldNumber = 3; - private int scenarioTableRowIndex_; - /// - //// Row Index of scenario data table against which the current scenario is executed - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int ScenarioTableRowIndex { - get { return scenarioTableRowIndex_; } - set { - scenarioTableRowIndex_ = value; - } - } - - /// Field number for the "isSpecTableDriven" field. - public const int IsSpecTableDrivenFieldNumber = 4; - private bool isSpecTableDriven_; - /// - //// Executed against a spec data table - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool IsSpecTableDriven { - get { return isSpecTableDriven_; } - set { - isSpecTableDriven_ = value; - } - } - - /// Field number for the "isScenarioTableDriven" field. - public const int IsScenarioTableDrivenFieldNumber = 5; - private bool isScenarioTableDriven_; - /// - //// Executed against a scenario data table - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool IsScenarioTableDriven { - get { return isScenarioTableDriven_; } - set { - isScenarioTableDriven_ = value; - } - } - - /// Field number for the "scenarioDataTable" field. - public const int ScenarioDataTableFieldNumber = 6; - private global::Gauge.Messages.ProtoTable scenarioDataTable_; - /// - //// Holds the scenario data table - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoTable ScenarioDataTable { - get { return scenarioDataTable_; } - set { - scenarioDataTable_ = value; - } - } - - /// Field number for the "scenarioTableRow" field. - public const int ScenarioTableRowFieldNumber = 7; - private global::Gauge.Messages.ProtoTable scenarioTableRow_; - /// - //// Hold the row of scenario data table. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoTable ScenarioTableRow { - get { return scenarioTableRow_; } - set { - scenarioTableRow_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoTableDrivenScenario); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoTableDrivenScenario other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(Scenario, other.Scenario)) return false; - if (TableRowIndex != other.TableRowIndex) return false; - if (ScenarioTableRowIndex != other.ScenarioTableRowIndex) return false; - if (IsSpecTableDriven != other.IsSpecTableDriven) return false; - if (IsScenarioTableDriven != other.IsScenarioTableDriven) return false; - if (!object.Equals(ScenarioDataTable, other.ScenarioDataTable)) return false; - if (!object.Equals(ScenarioTableRow, other.ScenarioTableRow)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (scenario_ != null) hash ^= Scenario.GetHashCode(); - if (TableRowIndex != 0) hash ^= TableRowIndex.GetHashCode(); - if (ScenarioTableRowIndex != 0) hash ^= ScenarioTableRowIndex.GetHashCode(); - if (IsSpecTableDriven != false) hash ^= IsSpecTableDriven.GetHashCode(); - if (IsScenarioTableDriven != false) hash ^= IsScenarioTableDriven.GetHashCode(); - if (scenarioDataTable_ != null) hash ^= ScenarioDataTable.GetHashCode(); - if (scenarioTableRow_ != null) hash ^= ScenarioTableRow.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (scenario_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Scenario); - } - if (TableRowIndex != 0) { - output.WriteRawTag(16); - output.WriteInt32(TableRowIndex); - } - if (ScenarioTableRowIndex != 0) { - output.WriteRawTag(24); - output.WriteInt32(ScenarioTableRowIndex); - } - if (IsSpecTableDriven != false) { - output.WriteRawTag(32); - output.WriteBool(IsSpecTableDriven); - } - if (IsScenarioTableDriven != false) { - output.WriteRawTag(40); - output.WriteBool(IsScenarioTableDriven); - } - if (scenarioDataTable_ != null) { - output.WriteRawTag(50); - output.WriteMessage(ScenarioDataTable); - } - if (scenarioTableRow_ != null) { - output.WriteRawTag(58); - output.WriteMessage(ScenarioTableRow); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (scenario_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Scenario); - } - if (TableRowIndex != 0) { - output.WriteRawTag(16); - output.WriteInt32(TableRowIndex); - } - if (ScenarioTableRowIndex != 0) { - output.WriteRawTag(24); - output.WriteInt32(ScenarioTableRowIndex); - } - if (IsSpecTableDriven != false) { - output.WriteRawTag(32); - output.WriteBool(IsSpecTableDriven); - } - if (IsScenarioTableDriven != false) { - output.WriteRawTag(40); - output.WriteBool(IsScenarioTableDriven); - } - if (scenarioDataTable_ != null) { - output.WriteRawTag(50); - output.WriteMessage(ScenarioDataTable); - } - if (scenarioTableRow_ != null) { - output.WriteRawTag(58); - output.WriteMessage(ScenarioTableRow); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (scenario_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Scenario); - } - if (TableRowIndex != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(TableRowIndex); - } - if (ScenarioTableRowIndex != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScenarioTableRowIndex); - } - if (IsSpecTableDriven != false) { - size += 1 + 1; - } - if (IsScenarioTableDriven != false) { - size += 1 + 1; - } - if (scenarioDataTable_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ScenarioDataTable); - } - if (scenarioTableRow_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ScenarioTableRow); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoTableDrivenScenario other) { - if (other == null) { - return; - } - if (other.scenario_ != null) { - if (scenario_ == null) { - Scenario = new global::Gauge.Messages.ProtoScenario(); - } - Scenario.MergeFrom(other.Scenario); - } - if (other.TableRowIndex != 0) { - TableRowIndex = other.TableRowIndex; - } - if (other.ScenarioTableRowIndex != 0) { - ScenarioTableRowIndex = other.ScenarioTableRowIndex; - } - if (other.IsSpecTableDriven != false) { - IsSpecTableDriven = other.IsSpecTableDriven; - } - if (other.IsScenarioTableDriven != false) { - IsScenarioTableDriven = other.IsScenarioTableDriven; - } - if (other.scenarioDataTable_ != null) { - if (scenarioDataTable_ == null) { - ScenarioDataTable = new global::Gauge.Messages.ProtoTable(); - } - ScenarioDataTable.MergeFrom(other.ScenarioDataTable); - } - if (other.scenarioTableRow_ != null) { - if (scenarioTableRow_ == null) { - ScenarioTableRow = new global::Gauge.Messages.ProtoTable(); - } - ScenarioTableRow.MergeFrom(other.ScenarioTableRow); - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (scenario_ == null) { - Scenario = new global::Gauge.Messages.ProtoScenario(); - } - input.ReadMessage(Scenario); - break; - } - case 16: { - TableRowIndex = input.ReadInt32(); - break; - } - case 24: { - ScenarioTableRowIndex = input.ReadInt32(); - break; - } - case 32: { - IsSpecTableDriven = input.ReadBool(); - break; - } - case 40: { - IsScenarioTableDriven = input.ReadBool(); - break; - } - case 50: { - if (scenarioDataTable_ == null) { - ScenarioDataTable = new global::Gauge.Messages.ProtoTable(); - } - input.ReadMessage(ScenarioDataTable); - break; - } - case 58: { - if (scenarioTableRow_ == null) { - ScenarioTableRow = new global::Gauge.Messages.ProtoTable(); - } - input.ReadMessage(ScenarioTableRow); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (scenario_ == null) { - Scenario = new global::Gauge.Messages.ProtoScenario(); - } - input.ReadMessage(Scenario); - break; - } - case 16: { - TableRowIndex = input.ReadInt32(); - break; - } - case 24: { - ScenarioTableRowIndex = input.ReadInt32(); - break; - } - case 32: { - IsSpecTableDriven = input.ReadBool(); - break; - } - case 40: { - IsScenarioTableDriven = input.ReadBool(); - break; - } - case 50: { - if (scenarioDataTable_ == null) { - ScenarioDataTable = new global::Gauge.Messages.ProtoTable(); - } - input.ReadMessage(ScenarioDataTable); - break; - } - case 58: { - if (scenarioTableRow_ == null) { - ScenarioTableRow = new global::Gauge.Messages.ProtoTable(); - } - input.ReadMessage(ScenarioTableRow); - break; - } - } - } - } - #endif - - } - - /// - //// A proto object representing a Step - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoStep : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoStep()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[5]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoStep() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoStep(ProtoStep other) : this() { - actualText_ = other.actualText_; - parsedText_ = other.parsedText_; - fragments_ = other.fragments_.Clone(); - stepExecutionResult_ = other.stepExecutionResult_ != null ? other.stepExecutionResult_.Clone() : null; - preHookMessages_ = other.preHookMessages_.Clone(); - postHookMessages_ = other.postHookMessages_.Clone(); - preHookScreenshots_ = other.preHookScreenshots_.Clone(); - postHookScreenshots_ = other.postHookScreenshots_.Clone(); - preHookScreenshotFiles_ = other.preHookScreenshotFiles_.Clone(); - postHookScreenshotFiles_ = other.postHookScreenshotFiles_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoStep Clone() { - return new ProtoStep(this); - } - - /// Field number for the "actualText" field. - public const int ActualTextFieldNumber = 1; - private string actualText_ = ""; - /// - //// Holds the raw text of the Step as defined in the spec file. This contains the actual parameter values. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ActualText { - get { return actualText_; } - set { - actualText_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "parsedText" field. - public const int ParsedTextFieldNumber = 2; - private string parsedText_ = ""; - /// - //// Contains the parsed text of the Step. This will have placeholders for the parameters. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParsedText { - get { return parsedText_; } - set { - parsedText_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "fragments" field. - public const int FragmentsFieldNumber = 3; - private static readonly pb::FieldCodec _repeated_fragments_codec - = pb::FieldCodec.ForMessage(26, global::Gauge.Messages.Fragment.Parser); - private readonly pbc::RepeatedField fragments_ = new pbc::RepeatedField(); - /// - //// Collection of a list of fragments for a Step. A fragment could be either text or parameter. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Fragments { - get { return fragments_; } - } - - /// Field number for the "stepExecutionResult" field. - public const int StepExecutionResultFieldNumber = 4; - private global::Gauge.Messages.ProtoStepExecutionResult stepExecutionResult_; - /// - //// Holds the result from the execution. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoStepExecutionResult StepExecutionResult { - get { return stepExecutionResult_; } - set { - stepExecutionResult_ = value; - } - } - - /// Field number for the "preHookMessages" field. - public const int PreHookMessagesFieldNumber = 5; - private static readonly pb::FieldCodec _repeated_preHookMessages_codec - = pb::FieldCodec.ForString(42); - private readonly pbc::RepeatedField preHookMessages_ = new pbc::RepeatedField(); - /// - //// Additional information at pre hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookMessages { - get { return preHookMessages_; } - } - - /// Field number for the "postHookMessages" field. - public const int PostHookMessagesFieldNumber = 6; - private static readonly pb::FieldCodec _repeated_postHookMessages_codec - = pb::FieldCodec.ForString(50); - private readonly pbc::RepeatedField postHookMessages_ = new pbc::RepeatedField(); - /// - //// Additional information at post hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookMessages { - get { return postHookMessages_; } - } - - /// Field number for the "preHookScreenshots" field. - public const int PreHookScreenshotsFieldNumber = 7; - private static readonly pb::FieldCodec _repeated_preHookScreenshots_codec - = pb::FieldCodec.ForBytes(58); - private readonly pbc::RepeatedField preHookScreenshots_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use preHookScreenshotFiles] Capture Screenshot at pre hook exec time to be available on reports - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookScreenshots { - get { return preHookScreenshots_; } - } - - /// Field number for the "postHookScreenshots" field. - public const int PostHookScreenshotsFieldNumber = 8; - private static readonly pb::FieldCodec _repeated_postHookScreenshots_codec - = pb::FieldCodec.ForBytes(66); - private readonly pbc::RepeatedField postHookScreenshots_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use postHookScreenshotFiles] Capture Screenshot at post hook exec time to be available on reports - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookScreenshots { - get { return postHookScreenshots_; } - } - - /// Field number for the "preHookScreenshotFiles" field. - public const int PreHookScreenshotFilesFieldNumber = 9; - private static readonly pb::FieldCodec _repeated_preHookScreenshotFiles_codec - = pb::FieldCodec.ForString(74); - private readonly pbc::RepeatedField preHookScreenshotFiles_ = new pbc::RepeatedField(); - /// - //// Screenshots captured on pre hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookScreenshotFiles { - get { return preHookScreenshotFiles_; } - } - - /// Field number for the "postHookScreenshotFiles" field. - public const int PostHookScreenshotFilesFieldNumber = 10; - private static readonly pb::FieldCodec _repeated_postHookScreenshotFiles_codec - = pb::FieldCodec.ForString(82); - private readonly pbc::RepeatedField postHookScreenshotFiles_ = new pbc::RepeatedField(); - /// - //// Screenshots captured on post hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookScreenshotFiles { - get { return postHookScreenshotFiles_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoStep); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoStep other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (ActualText != other.ActualText) return false; - if (ParsedText != other.ParsedText) return false; - if(!fragments_.Equals(other.fragments_)) return false; - if (!object.Equals(StepExecutionResult, other.StepExecutionResult)) return false; - if(!preHookMessages_.Equals(other.preHookMessages_)) return false; - if(!postHookMessages_.Equals(other.postHookMessages_)) return false; - if(!preHookScreenshots_.Equals(other.preHookScreenshots_)) return false; - if(!postHookScreenshots_.Equals(other.postHookScreenshots_)) return false; - if(!preHookScreenshotFiles_.Equals(other.preHookScreenshotFiles_)) return false; - if(!postHookScreenshotFiles_.Equals(other.postHookScreenshotFiles_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (ActualText.Length != 0) hash ^= ActualText.GetHashCode(); - if (ParsedText.Length != 0) hash ^= ParsedText.GetHashCode(); - hash ^= fragments_.GetHashCode(); - if (stepExecutionResult_ != null) hash ^= StepExecutionResult.GetHashCode(); - hash ^= preHookMessages_.GetHashCode(); - hash ^= postHookMessages_.GetHashCode(); - hash ^= preHookScreenshots_.GetHashCode(); - hash ^= postHookScreenshots_.GetHashCode(); - hash ^= preHookScreenshotFiles_.GetHashCode(); - hash ^= postHookScreenshotFiles_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (ActualText.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ActualText); - } - if (ParsedText.Length != 0) { - output.WriteRawTag(18); - output.WriteString(ParsedText); - } - fragments_.WriteTo(output, _repeated_fragments_codec); - if (stepExecutionResult_ != null) { - output.WriteRawTag(34); - output.WriteMessage(StepExecutionResult); - } - preHookMessages_.WriteTo(output, _repeated_preHookMessages_codec); - postHookMessages_.WriteTo(output, _repeated_postHookMessages_codec); - preHookScreenshots_.WriteTo(output, _repeated_preHookScreenshots_codec); - postHookScreenshots_.WriteTo(output, _repeated_postHookScreenshots_codec); - preHookScreenshotFiles_.WriteTo(output, _repeated_preHookScreenshotFiles_codec); - postHookScreenshotFiles_.WriteTo(output, _repeated_postHookScreenshotFiles_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ActualText.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ActualText); - } - if (ParsedText.Length != 0) { - output.WriteRawTag(18); - output.WriteString(ParsedText); - } - fragments_.WriteTo(ref output, _repeated_fragments_codec); - if (stepExecutionResult_ != null) { - output.WriteRawTag(34); - output.WriteMessage(StepExecutionResult); - } - preHookMessages_.WriteTo(ref output, _repeated_preHookMessages_codec); - postHookMessages_.WriteTo(ref output, _repeated_postHookMessages_codec); - preHookScreenshots_.WriteTo(ref output, _repeated_preHookScreenshots_codec); - postHookScreenshots_.WriteTo(ref output, _repeated_postHookScreenshots_codec); - preHookScreenshotFiles_.WriteTo(ref output, _repeated_preHookScreenshotFiles_codec); - postHookScreenshotFiles_.WriteTo(ref output, _repeated_postHookScreenshotFiles_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (ActualText.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ActualText); - } - if (ParsedText.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParsedText); - } - size += fragments_.CalculateSize(_repeated_fragments_codec); - if (stepExecutionResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(StepExecutionResult); - } - size += preHookMessages_.CalculateSize(_repeated_preHookMessages_codec); - size += postHookMessages_.CalculateSize(_repeated_postHookMessages_codec); - size += preHookScreenshots_.CalculateSize(_repeated_preHookScreenshots_codec); - size += postHookScreenshots_.CalculateSize(_repeated_postHookScreenshots_codec); - size += preHookScreenshotFiles_.CalculateSize(_repeated_preHookScreenshotFiles_codec); - size += postHookScreenshotFiles_.CalculateSize(_repeated_postHookScreenshotFiles_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoStep other) { - if (other == null) { - return; - } - if (other.ActualText.Length != 0) { - ActualText = other.ActualText; - } - if (other.ParsedText.Length != 0) { - ParsedText = other.ParsedText; - } - fragments_.Add(other.fragments_); - if (other.stepExecutionResult_ != null) { - if (stepExecutionResult_ == null) { - StepExecutionResult = new global::Gauge.Messages.ProtoStepExecutionResult(); - } - StepExecutionResult.MergeFrom(other.StepExecutionResult); - } - preHookMessages_.Add(other.preHookMessages_); - postHookMessages_.Add(other.postHookMessages_); - preHookScreenshots_.Add(other.preHookScreenshots_); - postHookScreenshots_.Add(other.postHookScreenshots_); - preHookScreenshotFiles_.Add(other.preHookScreenshotFiles_); - postHookScreenshotFiles_.Add(other.postHookScreenshotFiles_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - ActualText = input.ReadString(); - break; - } - case 18: { - ParsedText = input.ReadString(); - break; - } - case 26: { - fragments_.AddEntriesFrom(input, _repeated_fragments_codec); - break; - } - case 34: { - if (stepExecutionResult_ == null) { - StepExecutionResult = new global::Gauge.Messages.ProtoStepExecutionResult(); - } - input.ReadMessage(StepExecutionResult); - break; - } - case 42: { - preHookMessages_.AddEntriesFrom(input, _repeated_preHookMessages_codec); - break; - } - case 50: { - postHookMessages_.AddEntriesFrom(input, _repeated_postHookMessages_codec); - break; - } - case 58: { - preHookScreenshots_.AddEntriesFrom(input, _repeated_preHookScreenshots_codec); - break; - } - case 66: { - postHookScreenshots_.AddEntriesFrom(input, _repeated_postHookScreenshots_codec); - break; - } - case 74: { - preHookScreenshotFiles_.AddEntriesFrom(input, _repeated_preHookScreenshotFiles_codec); - break; - } - case 82: { - postHookScreenshotFiles_.AddEntriesFrom(input, _repeated_postHookScreenshotFiles_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - ActualText = input.ReadString(); - break; - } - case 18: { - ParsedText = input.ReadString(); - break; - } - case 26: { - fragments_.AddEntriesFrom(ref input, _repeated_fragments_codec); - break; - } - case 34: { - if (stepExecutionResult_ == null) { - StepExecutionResult = new global::Gauge.Messages.ProtoStepExecutionResult(); - } - input.ReadMessage(StepExecutionResult); - break; - } - case 42: { - preHookMessages_.AddEntriesFrom(ref input, _repeated_preHookMessages_codec); - break; - } - case 50: { - postHookMessages_.AddEntriesFrom(ref input, _repeated_postHookMessages_codec); - break; - } - case 58: { - preHookScreenshots_.AddEntriesFrom(ref input, _repeated_preHookScreenshots_codec); - break; - } - case 66: { - postHookScreenshots_.AddEntriesFrom(ref input, _repeated_postHookScreenshots_codec); - break; - } - case 74: { - preHookScreenshotFiles_.AddEntriesFrom(ref input, _repeated_preHookScreenshotFiles_codec); - break; - } - case 82: { - postHookScreenshotFiles_.AddEntriesFrom(ref input, _repeated_postHookScreenshotFiles_codec); - break; - } - } - } - } - #endif - - } - - /// - //// Concept is a type of step, that can have multiple Steps. - //// But from a caller's perspective, it is still used as any other Step - //// A proto object representing a Concept - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoConcept : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoConcept()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[6]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoConcept() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoConcept(ProtoConcept other) : this() { - conceptStep_ = other.conceptStep_ != null ? other.conceptStep_.Clone() : null; - steps_ = other.steps_.Clone(); - conceptExecutionResult_ = other.conceptExecutionResult_ != null ? other.conceptExecutionResult_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoConcept Clone() { - return new ProtoConcept(this); - } - - /// Field number for the "conceptStep" field. - public const int ConceptStepFieldNumber = 1; - private global::Gauge.Messages.ProtoStep conceptStep_; - /// - //// Represents the Step value of a Concept. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoStep ConceptStep { - get { return conceptStep_; } - set { - conceptStep_ = value; - } - } - - /// Field number for the "steps" field. - public const int StepsFieldNumber = 2; - private static readonly pb::FieldCodec _repeated_steps_codec - = pb::FieldCodec.ForMessage(18, global::Gauge.Messages.ProtoItem.Parser); - private readonly pbc::RepeatedField steps_ = new pbc::RepeatedField(); - /// - //// Collection of Steps in the given concepts. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Steps { - get { return steps_; } - } - - /// Field number for the "conceptExecutionResult" field. - public const int ConceptExecutionResultFieldNumber = 3; - private global::Gauge.Messages.ProtoStepExecutionResult conceptExecutionResult_; - /// - //// Holds the execution result. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoStepExecutionResult ConceptExecutionResult { - get { return conceptExecutionResult_; } - set { - conceptExecutionResult_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoConcept); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoConcept other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(ConceptStep, other.ConceptStep)) return false; - if(!steps_.Equals(other.steps_)) return false; - if (!object.Equals(ConceptExecutionResult, other.ConceptExecutionResult)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (conceptStep_ != null) hash ^= ConceptStep.GetHashCode(); - hash ^= steps_.GetHashCode(); - if (conceptExecutionResult_ != null) hash ^= ConceptExecutionResult.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (conceptStep_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ConceptStep); - } - steps_.WriteTo(output, _repeated_steps_codec); - if (conceptExecutionResult_ != null) { - output.WriteRawTag(26); - output.WriteMessage(ConceptExecutionResult); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (conceptStep_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ConceptStep); - } - steps_.WriteTo(ref output, _repeated_steps_codec); - if (conceptExecutionResult_ != null) { - output.WriteRawTag(26); - output.WriteMessage(ConceptExecutionResult); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (conceptStep_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ConceptStep); - } - size += steps_.CalculateSize(_repeated_steps_codec); - if (conceptExecutionResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ConceptExecutionResult); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoConcept other) { - if (other == null) { - return; - } - if (other.conceptStep_ != null) { - if (conceptStep_ == null) { - ConceptStep = new global::Gauge.Messages.ProtoStep(); - } - ConceptStep.MergeFrom(other.ConceptStep); - } - steps_.Add(other.steps_); - if (other.conceptExecutionResult_ != null) { - if (conceptExecutionResult_ == null) { - ConceptExecutionResult = new global::Gauge.Messages.ProtoStepExecutionResult(); - } - ConceptExecutionResult.MergeFrom(other.ConceptExecutionResult); - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (conceptStep_ == null) { - ConceptStep = new global::Gauge.Messages.ProtoStep(); - } - input.ReadMessage(ConceptStep); - break; - } - case 18: { - steps_.AddEntriesFrom(input, _repeated_steps_codec); - break; - } - case 26: { - if (conceptExecutionResult_ == null) { - ConceptExecutionResult = new global::Gauge.Messages.ProtoStepExecutionResult(); - } - input.ReadMessage(ConceptExecutionResult); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (conceptStep_ == null) { - ConceptStep = new global::Gauge.Messages.ProtoStep(); - } - input.ReadMessage(ConceptStep); - break; - } - case 18: { - steps_.AddEntriesFrom(ref input, _repeated_steps_codec); - break; - } - case 26: { - if (conceptExecutionResult_ == null) { - ConceptExecutionResult = new global::Gauge.Messages.ProtoStepExecutionResult(); - } - input.ReadMessage(ConceptExecutionResult); - break; - } - } - } - } - #endif - - } - - /// - //// A proto object representing Tags - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoTags : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoTags()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[7]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoTags() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoTags(ProtoTags other) : this() { - tags_ = other.tags_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoTags Clone() { - return new ProtoTags(this); - } - - /// Field number for the "tags" field. - public const int TagsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_tags_codec - = pb::FieldCodec.ForString(10); - private readonly pbc::RepeatedField tags_ = new pbc::RepeatedField(); - /// - //// A collection of Tags - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Tags { - get { return tags_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoTags); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoTags other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!tags_.Equals(other.tags_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - hash ^= tags_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - tags_.WriteTo(output, _repeated_tags_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - tags_.WriteTo(ref output, _repeated_tags_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - size += tags_.CalculateSize(_repeated_tags_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoTags other) { - if (other == null) { - return; - } - tags_.Add(other.tags_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - tags_.AddEntriesFrom(input, _repeated_tags_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - tags_.AddEntriesFrom(ref input, _repeated_tags_codec); - break; - } - } - } - } - #endif - - } - - /// - //// A proto object representing Fragment. - //// Fragments, put together make up A Step - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class Fragment : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Fragment()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[8]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Fragment() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Fragment(Fragment other) : this() { - fragmentType_ = other.fragmentType_; - text_ = other.text_; - parameter_ = other.parameter_ != null ? other.parameter_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Fragment Clone() { - return new Fragment(this); - } - - /// Field number for the "fragmentType" field. - public const int FragmentTypeFieldNumber = 1; - private global::Gauge.Messages.Fragment.Types.FragmentType fragmentType_ = global::Gauge.Messages.Fragment.Types.FragmentType.Text; - /// - //// Type of Fragment, valid values are Text, Parameter - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.Fragment.Types.FragmentType FragmentType { - get { return fragmentType_; } - set { - fragmentType_ = value; - } - } - - /// Field number for the "text" field. - public const int TextFieldNumber = 2; - private string text_ = ""; - /// - //// Text part of the Fragment, valid only if FragmentType=Text - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Text { - get { return text_; } - set { - text_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "parameter" field. - public const int ParameterFieldNumber = 3; - private global::Gauge.Messages.Parameter parameter_; - /// - //// Parameter part of the Fragment, valid only if FragmentType=Parameter - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.Parameter Parameter { - get { return parameter_; } - set { - parameter_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as Fragment); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(Fragment other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (FragmentType != other.FragmentType) return false; - if (Text != other.Text) return false; - if (!object.Equals(Parameter, other.Parameter)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (FragmentType != global::Gauge.Messages.Fragment.Types.FragmentType.Text) hash ^= FragmentType.GetHashCode(); - if (Text.Length != 0) hash ^= Text.GetHashCode(); - if (parameter_ != null) hash ^= Parameter.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (FragmentType != global::Gauge.Messages.Fragment.Types.FragmentType.Text) { - output.WriteRawTag(8); - output.WriteEnum((int) FragmentType); - } - if (Text.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Text); - } - if (parameter_ != null) { - output.WriteRawTag(26); - output.WriteMessage(Parameter); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (FragmentType != global::Gauge.Messages.Fragment.Types.FragmentType.Text) { - output.WriteRawTag(8); - output.WriteEnum((int) FragmentType); - } - if (Text.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Text); - } - if (parameter_ != null) { - output.WriteRawTag(26); - output.WriteMessage(Parameter); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (FragmentType != global::Gauge.Messages.Fragment.Types.FragmentType.Text) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) FragmentType); - } - if (Text.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Text); - } - if (parameter_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Parameter); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(Fragment other) { - if (other == null) { - return; - } - if (other.FragmentType != global::Gauge.Messages.Fragment.Types.FragmentType.Text) { - FragmentType = other.FragmentType; - } - if (other.Text.Length != 0) { - Text = other.Text; - } - if (other.parameter_ != null) { - if (parameter_ == null) { - Parameter = new global::Gauge.Messages.Parameter(); - } - Parameter.MergeFrom(other.Parameter); - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - FragmentType = (global::Gauge.Messages.Fragment.Types.FragmentType) input.ReadEnum(); - break; - } - case 18: { - Text = input.ReadString(); - break; - } - case 26: { - if (parameter_ == null) { - Parameter = new global::Gauge.Messages.Parameter(); - } - input.ReadMessage(Parameter); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - FragmentType = (global::Gauge.Messages.Fragment.Types.FragmentType) input.ReadEnum(); - break; - } - case 18: { - Text = input.ReadString(); - break; - } - case 26: { - if (parameter_ == null) { - Parameter = new global::Gauge.Messages.Parameter(); - } - input.ReadMessage(Parameter); - break; - } - } - } - } - #endif - - #region Nested types - /// Container for nested types declared in the Fragment message type. - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static partial class Types { - /// - //// Enum representing the types of Fragment - /// - public enum FragmentType { - /// - //// Fragment is a Text part - /// - [pbr::OriginalName("Text")] Text = 0, - /// - //// Fragment is a Parameter part - /// - [pbr::OriginalName("Parameter")] Parameter = 1, - } - - } - #endregion - - } - - /// - //// A proto object representing Fragment. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class Parameter : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Parameter()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[9]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Parameter() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Parameter(Parameter other) : this() { - parameterType_ = other.parameterType_; - value_ = other.value_; - name_ = other.name_; - table_ = other.table_ != null ? other.table_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Parameter Clone() { - return new Parameter(this); - } - - /// Field number for the "parameterType" field. - public const int ParameterTypeFieldNumber = 1; - private global::Gauge.Messages.Parameter.Types.ParameterType parameterType_ = global::Gauge.Messages.Parameter.Types.ParameterType.Static; - /// - //// Type of the Parameter. Valid values: Static, Dynamic, Special_String, Special_Table, Table - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.Parameter.Types.ParameterType ParameterType { - get { return parameterType_; } - set { - parameterType_ = value; - } - } - - /// Field number for the "value" field. - public const int ValueFieldNumber = 2; - private string value_ = ""; - /// - //// Holds the value of the parameter - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Value { - get { return value_; } - set { - value_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "name" field. - public const int NameFieldNumber = 3; - private string name_ = ""; - /// - //// Holds the name of the parameter, used as Key to lookup the value. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Name { - get { return name_; } - set { - name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "table" field. - public const int TableFieldNumber = 4; - private global::Gauge.Messages.ProtoTable table_; - /// - //// Holds the table value, if parameterType=Table or Special_Table - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoTable Table { - get { return table_; } - set { - table_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as Parameter); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(Parameter other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (ParameterType != other.ParameterType) return false; - if (Value != other.Value) return false; - if (Name != other.Name) return false; - if (!object.Equals(Table, other.Table)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (ParameterType != global::Gauge.Messages.Parameter.Types.ParameterType.Static) hash ^= ParameterType.GetHashCode(); - if (Value.Length != 0) hash ^= Value.GetHashCode(); - if (Name.Length != 0) hash ^= Name.GetHashCode(); - if (table_ != null) hash ^= Table.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (ParameterType != global::Gauge.Messages.Parameter.Types.ParameterType.Static) { - output.WriteRawTag(8); - output.WriteEnum((int) ParameterType); - } - if (Value.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Value); - } - if (Name.Length != 0) { - output.WriteRawTag(26); - output.WriteString(Name); - } - if (table_ != null) { - output.WriteRawTag(34); - output.WriteMessage(Table); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ParameterType != global::Gauge.Messages.Parameter.Types.ParameterType.Static) { - output.WriteRawTag(8); - output.WriteEnum((int) ParameterType); - } - if (Value.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Value); - } - if (Name.Length != 0) { - output.WriteRawTag(26); - output.WriteString(Name); - } - if (table_ != null) { - output.WriteRawTag(34); - output.WriteMessage(Table); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (ParameterType != global::Gauge.Messages.Parameter.Types.ParameterType.Static) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ParameterType); - } - if (Value.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Value); - } - if (Name.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); - } - if (table_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Table); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(Parameter other) { - if (other == null) { - return; - } - if (other.ParameterType != global::Gauge.Messages.Parameter.Types.ParameterType.Static) { - ParameterType = other.ParameterType; - } - if (other.Value.Length != 0) { - Value = other.Value; - } - if (other.Name.Length != 0) { - Name = other.Name; - } - if (other.table_ != null) { - if (table_ == null) { - Table = new global::Gauge.Messages.ProtoTable(); - } - Table.MergeFrom(other.Table); - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - ParameterType = (global::Gauge.Messages.Parameter.Types.ParameterType) input.ReadEnum(); - break; - } - case 18: { - Value = input.ReadString(); - break; - } - case 26: { - Name = input.ReadString(); - break; - } - case 34: { - if (table_ == null) { - Table = new global::Gauge.Messages.ProtoTable(); - } - input.ReadMessage(Table); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - ParameterType = (global::Gauge.Messages.Parameter.Types.ParameterType) input.ReadEnum(); - break; - } - case 18: { - Value = input.ReadString(); - break; - } - case 26: { - Name = input.ReadString(); - break; - } - case 34: { - if (table_ == null) { - Table = new global::Gauge.Messages.ProtoTable(); - } - input.ReadMessage(Table); - break; - } - } - } - } - #endif - - #region Nested types - /// Container for nested types declared in the Parameter message type. - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static partial class Types { - /// - //// Enum representing types of Parameter. - /// - public enum ParameterType { - /// - /// Static parameter. The value of the parameter is defined at the Step. - /// - [pbr::OriginalName("Static")] Static = 0, - /// - /// Dynamic parameter. This is a parameter placeholder, and the actual value is injected at runtime, depending on the context of the call. - /// - [pbr::OriginalName("Dynamic")] Dynamic = 1, - /// - /// Special paramter, taking a string value. Special paramters are read from a file. - /// - [pbr::OriginalName("Special_String")] SpecialString = 2, - /// - /// Special paramter, taking a Table value. This parameter is read from a csv file. - /// - [pbr::OriginalName("Special_Table")] SpecialTable = 3, - /// - /// A table parameter, used for data driven execution. - /// - [pbr::OriginalName("Table")] Table = 4, - } - - } - #endregion - - } - - /// - //// A proto object representing Comment. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoComment : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoComment()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[10]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoComment() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoComment(ProtoComment other) : this() { - text_ = other.text_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoComment Clone() { - return new ProtoComment(this); - } - - /// Field number for the "text" field. - public const int TextFieldNumber = 1; - private string text_ = ""; - /// - //// Text representing the Comment. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Text { - get { return text_; } - set { - text_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoComment); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoComment other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Text != other.Text) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Text.Length != 0) hash ^= Text.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Text.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Text); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Text.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Text); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Text.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Text); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoComment other) { - if (other == null) { - return; - } - if (other.Text.Length != 0) { - Text = other.Text; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - Text = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - Text = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// A proto object representing Table. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoTable : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoTable()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[11]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoTable() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoTable(ProtoTable other) : this() { - headers_ = other.headers_ != null ? other.headers_.Clone() : null; - rows_ = other.rows_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoTable Clone() { - return new ProtoTable(this); - } - - /// Field number for the "headers" field. - public const int HeadersFieldNumber = 1; - private global::Gauge.Messages.ProtoTableRow headers_; - /// - //// Contains the Headers for the table - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoTableRow Headers { - get { return headers_; } - set { - headers_ = value; - } - } - - /// Field number for the "rows" field. - public const int RowsFieldNumber = 2; - private static readonly pb::FieldCodec _repeated_rows_codec - = pb::FieldCodec.ForMessage(18, global::Gauge.Messages.ProtoTableRow.Parser); - private readonly pbc::RepeatedField rows_ = new pbc::RepeatedField(); - /// - //// Contains the Rows for the table - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Rows { - get { return rows_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoTable); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoTable other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(Headers, other.Headers)) return false; - if(!rows_.Equals(other.rows_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (headers_ != null) hash ^= Headers.GetHashCode(); - hash ^= rows_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (headers_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Headers); - } - rows_.WriteTo(output, _repeated_rows_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (headers_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Headers); - } - rows_.WriteTo(ref output, _repeated_rows_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (headers_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Headers); - } - size += rows_.CalculateSize(_repeated_rows_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoTable other) { - if (other == null) { - return; - } - if (other.headers_ != null) { - if (headers_ == null) { - Headers = new global::Gauge.Messages.ProtoTableRow(); - } - Headers.MergeFrom(other.Headers); - } - rows_.Add(other.rows_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (headers_ == null) { - Headers = new global::Gauge.Messages.ProtoTableRow(); - } - input.ReadMessage(Headers); - break; - } - case 18: { - rows_.AddEntriesFrom(input, _repeated_rows_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (headers_ == null) { - Headers = new global::Gauge.Messages.ProtoTableRow(); - } - input.ReadMessage(Headers); - break; - } - case 18: { - rows_.AddEntriesFrom(ref input, _repeated_rows_codec); - break; - } - } - } - } - #endif - - } - - /// - //// A proto object representing Table. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoTableRow : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoTableRow()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[12]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoTableRow() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoTableRow(ProtoTableRow other) : this() { - cells_ = other.cells_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoTableRow Clone() { - return new ProtoTableRow(this); - } - - /// Field number for the "cells" field. - public const int CellsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_cells_codec - = pb::FieldCodec.ForString(10); - private readonly pbc::RepeatedField cells_ = new pbc::RepeatedField(); - /// - //// Represents the cells of a given table - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Cells { - get { return cells_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoTableRow); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoTableRow other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!cells_.Equals(other.cells_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - hash ^= cells_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - cells_.WriteTo(output, _repeated_cells_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - cells_.WriteTo(ref output, _repeated_cells_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - size += cells_.CalculateSize(_repeated_cells_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoTableRow other) { - if (other == null) { - return; - } - cells_.Add(other.cells_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - cells_.AddEntriesFrom(input, _repeated_cells_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - cells_.AddEntriesFrom(ref input, _repeated_cells_codec); - break; - } - } - } - } - #endif - - } - - /// - //// A proto object representing Step Execution result - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoStepExecutionResult : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoStepExecutionResult()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[13]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoStepExecutionResult() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoStepExecutionResult(ProtoStepExecutionResult other) : this() { - executionResult_ = other.executionResult_ != null ? other.executionResult_.Clone() : null; - preHookFailure_ = other.preHookFailure_ != null ? other.preHookFailure_.Clone() : null; - postHookFailure_ = other.postHookFailure_ != null ? other.postHookFailure_.Clone() : null; - skipped_ = other.skipped_; - skippedReason_ = other.skippedReason_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoStepExecutionResult Clone() { - return new ProtoStepExecutionResult(this); - } - - /// Field number for the "executionResult" field. - public const int ExecutionResultFieldNumber = 1; - private global::Gauge.Messages.ProtoExecutionResult executionResult_; - /// - //// The actual result of the execution - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoExecutionResult ExecutionResult { - get { return executionResult_; } - set { - executionResult_ = value; - } - } - - /// Field number for the "preHookFailure" field. - public const int PreHookFailureFieldNumber = 2; - private global::Gauge.Messages.ProtoHookFailure preHookFailure_; - /// - //// Contains a 'before' hook failure message. This happens when the `before_step` hook has an error. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoHookFailure PreHookFailure { - get { return preHookFailure_; } - set { - preHookFailure_ = value; - } - } - - /// Field number for the "postHookFailure" field. - public const int PostHookFailureFieldNumber = 3; - private global::Gauge.Messages.ProtoHookFailure postHookFailure_; - /// - //// Contains a 'after' hook failure message. This happens when the `after_step` hook has an error. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoHookFailure PostHookFailure { - get { return postHookFailure_; } - set { - postHookFailure_ = value; - } - } - - /// Field number for the "skipped" field. - public const int SkippedFieldNumber = 4; - private bool skipped_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Skipped { - get { return skipped_; } - set { - skipped_ = value; - } - } - - /// Field number for the "skippedReason" field. - public const int SkippedReasonFieldNumber = 5; - private string skippedReason_ = ""; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string SkippedReason { - get { return skippedReason_; } - set { - skippedReason_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoStepExecutionResult); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoStepExecutionResult other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(ExecutionResult, other.ExecutionResult)) return false; - if (!object.Equals(PreHookFailure, other.PreHookFailure)) return false; - if (!object.Equals(PostHookFailure, other.PostHookFailure)) return false; - if (Skipped != other.Skipped) return false; - if (SkippedReason != other.SkippedReason) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (executionResult_ != null) hash ^= ExecutionResult.GetHashCode(); - if (preHookFailure_ != null) hash ^= PreHookFailure.GetHashCode(); - if (postHookFailure_ != null) hash ^= PostHookFailure.GetHashCode(); - if (Skipped != false) hash ^= Skipped.GetHashCode(); - if (SkippedReason.Length != 0) hash ^= SkippedReason.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (executionResult_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ExecutionResult); - } - if (preHookFailure_ != null) { - output.WriteRawTag(18); - output.WriteMessage(PreHookFailure); - } - if (postHookFailure_ != null) { - output.WriteRawTag(26); - output.WriteMessage(PostHookFailure); - } - if (Skipped != false) { - output.WriteRawTag(32); - output.WriteBool(Skipped); - } - if (SkippedReason.Length != 0) { - output.WriteRawTag(42); - output.WriteString(SkippedReason); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (executionResult_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ExecutionResult); - } - if (preHookFailure_ != null) { - output.WriteRawTag(18); - output.WriteMessage(PreHookFailure); - } - if (postHookFailure_ != null) { - output.WriteRawTag(26); - output.WriteMessage(PostHookFailure); - } - if (Skipped != false) { - output.WriteRawTag(32); - output.WriteBool(Skipped); - } - if (SkippedReason.Length != 0) { - output.WriteRawTag(42); - output.WriteString(SkippedReason); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (executionResult_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ExecutionResult); - } - if (preHookFailure_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PreHookFailure); - } - if (postHookFailure_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PostHookFailure); - } - if (Skipped != false) { - size += 1 + 1; - } - if (SkippedReason.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(SkippedReason); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoStepExecutionResult other) { - if (other == null) { - return; - } - if (other.executionResult_ != null) { - if (executionResult_ == null) { - ExecutionResult = new global::Gauge.Messages.ProtoExecutionResult(); - } - ExecutionResult.MergeFrom(other.ExecutionResult); - } - if (other.preHookFailure_ != null) { - if (preHookFailure_ == null) { - PreHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - PreHookFailure.MergeFrom(other.PreHookFailure); - } - if (other.postHookFailure_ != null) { - if (postHookFailure_ == null) { - PostHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - PostHookFailure.MergeFrom(other.PostHookFailure); - } - if (other.Skipped != false) { - Skipped = other.Skipped; - } - if (other.SkippedReason.Length != 0) { - SkippedReason = other.SkippedReason; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (executionResult_ == null) { - ExecutionResult = new global::Gauge.Messages.ProtoExecutionResult(); - } - input.ReadMessage(ExecutionResult); - break; - } - case 18: { - if (preHookFailure_ == null) { - PreHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - input.ReadMessage(PreHookFailure); - break; - } - case 26: { - if (postHookFailure_ == null) { - PostHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - input.ReadMessage(PostHookFailure); - break; - } - case 32: { - Skipped = input.ReadBool(); - break; - } - case 42: { - SkippedReason = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (executionResult_ == null) { - ExecutionResult = new global::Gauge.Messages.ProtoExecutionResult(); - } - input.ReadMessage(ExecutionResult); - break; - } - case 18: { - if (preHookFailure_ == null) { - PreHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - input.ReadMessage(PreHookFailure); - break; - } - case 26: { - if (postHookFailure_ == null) { - PostHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - input.ReadMessage(PostHookFailure); - break; - } - case 32: { - Skipped = input.ReadBool(); - break; - } - case 42: { - SkippedReason = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// A proto object representing the result of an execution - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoExecutionResult : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoExecutionResult()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[14]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoExecutionResult() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoExecutionResult(ProtoExecutionResult other) : this() { - failed_ = other.failed_; - recoverableError_ = other.recoverableError_; - errorMessage_ = other.errorMessage_; - stackTrace_ = other.stackTrace_; - screenShot_ = other.screenShot_; - executionTime_ = other.executionTime_; - message_ = other.message_.Clone(); - errorType_ = other.errorType_; - failureScreenshot_ = other.failureScreenshot_; - screenshots_ = other.screenshots_.Clone(); - failureScreenshotFile_ = other.failureScreenshotFile_; - screenshotFiles_ = other.screenshotFiles_.Clone(); - skipScenario_ = other.skipScenario_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoExecutionResult Clone() { - return new ProtoExecutionResult(this); - } - - /// Field number for the "failed" field. - public const int FailedFieldNumber = 1; - private bool failed_; - /// - //// Flag to indicate failure - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Failed { - get { return failed_; } - set { - failed_ = value; - } - } - - /// Field number for the "recoverableError" field. - public const int RecoverableErrorFieldNumber = 2; - private bool recoverableError_; - /// - //// Flag to indicate if the error is recoverable from. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool RecoverableError { - get { return recoverableError_; } - set { - recoverableError_ = value; - } - } - - /// Field number for the "errorMessage" field. - public const int ErrorMessageFieldNumber = 3; - private string errorMessage_ = ""; - /// - //// The actual error message. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ErrorMessage { - get { return errorMessage_; } - set { - errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "stackTrace" field. - public const int StackTraceFieldNumber = 4; - private string stackTrace_ = ""; - /// - //// Stacktrace of the error - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string StackTrace { - get { return stackTrace_; } - set { - stackTrace_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "screenShot" field. - public const int ScreenShotFieldNumber = 5; - private pb::ByteString screenShot_ = pb::ByteString.Empty; - /// - //// [DEPRECATED, use failureScreenshotFile] Bytes containing screenshot taken at the time of failure. - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pb::ByteString ScreenShot { - get { return screenShot_; } - set { - screenShot_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "executionTime" field. - public const int ExecutionTimeFieldNumber = 6; - private long executionTime_; - /// - //// Holds the time taken for executing this scenario. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long ExecutionTime { - get { return executionTime_; } - set { - executionTime_ = value; - } - } - - /// Field number for the "message" field. - public const int MessageFieldNumber = 7; - private static readonly pb::FieldCodec _repeated_message_codec - = pb::FieldCodec.ForString(58); - private readonly pbc::RepeatedField message_ = new pbc::RepeatedField(); - /// - //// Additional information at exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Message { - get { return message_; } - } - - /// Field number for the "errorType" field. - public const int ErrorTypeFieldNumber = 8; - private global::Gauge.Messages.ProtoExecutionResult.Types.ErrorType errorType_ = global::Gauge.Messages.ProtoExecutionResult.Types.ErrorType.Assertion; - /// - //// Type of the Error. Valid values: ASSERTION, VERIFICATION. Default: ASSERTION - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoExecutionResult.Types.ErrorType ErrorType { - get { return errorType_; } - set { - errorType_ = value; - } - } - - /// Field number for the "failureScreenshot" field. - public const int FailureScreenshotFieldNumber = 9; - private pb::ByteString failureScreenshot_ = pb::ByteString.Empty; - /// - //// [DEPRECATED, use failureScreenshotFile] Bytes containing screenshot taken at the time of failure. - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pb::ByteString FailureScreenshot { - get { return failureScreenshot_; } - set { - failureScreenshot_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "screenshots" field. - public const int ScreenshotsFieldNumber = 10; - private static readonly pb::FieldCodec _repeated_screenshots_codec - = pb::FieldCodec.ForBytes(82); - private readonly pbc::RepeatedField screenshots_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use screenshotFiles] Bytes array containing screenshots at the time of it invoked - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Screenshots { - get { return screenshots_; } - } - - /// Field number for the "failureScreenshotFile" field. - public const int FailureScreenshotFileFieldNumber = 11; - private string failureScreenshotFile_ = ""; - /// - //// Path to the screenshot file captured at the time of failure. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string FailureScreenshotFile { - get { return failureScreenshotFile_; } - set { - failureScreenshotFile_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "screenshotFiles" field. - public const int ScreenshotFilesFieldNumber = 12; - private static readonly pb::FieldCodec _repeated_screenshotFiles_codec - = pb::FieldCodec.ForString(98); - private readonly pbc::RepeatedField screenshotFiles_ = new pbc::RepeatedField(); - /// - //// Path to the screenshot files captured using Gauge screenshsot API. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField ScreenshotFiles { - get { return screenshotFiles_; } - } - - /// Field number for the "skipScenario" field. - public const int SkipScenarioFieldNumber = 13; - private bool skipScenario_; - /// - //// Flag to indicate skipping of the scenario execution - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool SkipScenario { - get { return skipScenario_; } - set { - skipScenario_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoExecutionResult); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoExecutionResult other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Failed != other.Failed) return false; - if (RecoverableError != other.RecoverableError) return false; - if (ErrorMessage != other.ErrorMessage) return false; - if (StackTrace != other.StackTrace) return false; - if (ScreenShot != other.ScreenShot) return false; - if (ExecutionTime != other.ExecutionTime) return false; - if(!message_.Equals(other.message_)) return false; - if (ErrorType != other.ErrorType) return false; - if (FailureScreenshot != other.FailureScreenshot) return false; - if(!screenshots_.Equals(other.screenshots_)) return false; - if (FailureScreenshotFile != other.FailureScreenshotFile) return false; - if(!screenshotFiles_.Equals(other.screenshotFiles_)) return false; - if (SkipScenario != other.SkipScenario) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Failed != false) hash ^= Failed.GetHashCode(); - if (RecoverableError != false) hash ^= RecoverableError.GetHashCode(); - if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode(); - if (StackTrace.Length != 0) hash ^= StackTrace.GetHashCode(); - if (ScreenShot.Length != 0) hash ^= ScreenShot.GetHashCode(); - if (ExecutionTime != 0L) hash ^= ExecutionTime.GetHashCode(); - hash ^= message_.GetHashCode(); - if (ErrorType != global::Gauge.Messages.ProtoExecutionResult.Types.ErrorType.Assertion) hash ^= ErrorType.GetHashCode(); - if (FailureScreenshot.Length != 0) hash ^= FailureScreenshot.GetHashCode(); - hash ^= screenshots_.GetHashCode(); - if (FailureScreenshotFile.Length != 0) hash ^= FailureScreenshotFile.GetHashCode(); - hash ^= screenshotFiles_.GetHashCode(); - if (SkipScenario != false) hash ^= SkipScenario.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Failed != false) { - output.WriteRawTag(8); - output.WriteBool(Failed); - } - if (RecoverableError != false) { - output.WriteRawTag(16); - output.WriteBool(RecoverableError); - } - if (ErrorMessage.Length != 0) { - output.WriteRawTag(26); - output.WriteString(ErrorMessage); - } - if (StackTrace.Length != 0) { - output.WriteRawTag(34); - output.WriteString(StackTrace); - } - if (ScreenShot.Length != 0) { - output.WriteRawTag(42); - output.WriteBytes(ScreenShot); - } - if (ExecutionTime != 0L) { - output.WriteRawTag(48); - output.WriteInt64(ExecutionTime); - } - message_.WriteTo(output, _repeated_message_codec); - if (ErrorType != global::Gauge.Messages.ProtoExecutionResult.Types.ErrorType.Assertion) { - output.WriteRawTag(64); - output.WriteEnum((int) ErrorType); - } - if (FailureScreenshot.Length != 0) { - output.WriteRawTag(74); - output.WriteBytes(FailureScreenshot); - } - screenshots_.WriteTo(output, _repeated_screenshots_codec); - if (FailureScreenshotFile.Length != 0) { - output.WriteRawTag(90); - output.WriteString(FailureScreenshotFile); - } - screenshotFiles_.WriteTo(output, _repeated_screenshotFiles_codec); - if (SkipScenario != false) { - output.WriteRawTag(104); - output.WriteBool(SkipScenario); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Failed != false) { - output.WriteRawTag(8); - output.WriteBool(Failed); - } - if (RecoverableError != false) { - output.WriteRawTag(16); - output.WriteBool(RecoverableError); - } - if (ErrorMessage.Length != 0) { - output.WriteRawTag(26); - output.WriteString(ErrorMessage); - } - if (StackTrace.Length != 0) { - output.WriteRawTag(34); - output.WriteString(StackTrace); - } - if (ScreenShot.Length != 0) { - output.WriteRawTag(42); - output.WriteBytes(ScreenShot); - } - if (ExecutionTime != 0L) { - output.WriteRawTag(48); - output.WriteInt64(ExecutionTime); - } - message_.WriteTo(ref output, _repeated_message_codec); - if (ErrorType != global::Gauge.Messages.ProtoExecutionResult.Types.ErrorType.Assertion) { - output.WriteRawTag(64); - output.WriteEnum((int) ErrorType); - } - if (FailureScreenshot.Length != 0) { - output.WriteRawTag(74); - output.WriteBytes(FailureScreenshot); - } - screenshots_.WriteTo(ref output, _repeated_screenshots_codec); - if (FailureScreenshotFile.Length != 0) { - output.WriteRawTag(90); - output.WriteString(FailureScreenshotFile); - } - screenshotFiles_.WriteTo(ref output, _repeated_screenshotFiles_codec); - if (SkipScenario != false) { - output.WriteRawTag(104); - output.WriteBool(SkipScenario); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Failed != false) { - size += 1 + 1; - } - if (RecoverableError != false) { - size += 1 + 1; - } - if (ErrorMessage.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage); - } - if (StackTrace.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(StackTrace); - } - if (ScreenShot.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeBytesSize(ScreenShot); - } - if (ExecutionTime != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(ExecutionTime); - } - size += message_.CalculateSize(_repeated_message_codec); - if (ErrorType != global::Gauge.Messages.ProtoExecutionResult.Types.ErrorType.Assertion) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ErrorType); - } - if (FailureScreenshot.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeBytesSize(FailureScreenshot); - } - size += screenshots_.CalculateSize(_repeated_screenshots_codec); - if (FailureScreenshotFile.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(FailureScreenshotFile); - } - size += screenshotFiles_.CalculateSize(_repeated_screenshotFiles_codec); - if (SkipScenario != false) { - size += 1 + 1; - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoExecutionResult other) { - if (other == null) { - return; - } - if (other.Failed != false) { - Failed = other.Failed; - } - if (other.RecoverableError != false) { - RecoverableError = other.RecoverableError; - } - if (other.ErrorMessage.Length != 0) { - ErrorMessage = other.ErrorMessage; - } - if (other.StackTrace.Length != 0) { - StackTrace = other.StackTrace; - } - if (other.ScreenShot.Length != 0) { - ScreenShot = other.ScreenShot; - } - if (other.ExecutionTime != 0L) { - ExecutionTime = other.ExecutionTime; - } - message_.Add(other.message_); - if (other.ErrorType != global::Gauge.Messages.ProtoExecutionResult.Types.ErrorType.Assertion) { - ErrorType = other.ErrorType; - } - if (other.FailureScreenshot.Length != 0) { - FailureScreenshot = other.FailureScreenshot; - } - screenshots_.Add(other.screenshots_); - if (other.FailureScreenshotFile.Length != 0) { - FailureScreenshotFile = other.FailureScreenshotFile; - } - screenshotFiles_.Add(other.screenshotFiles_); - if (other.SkipScenario != false) { - SkipScenario = other.SkipScenario; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - Failed = input.ReadBool(); - break; - } - case 16: { - RecoverableError = input.ReadBool(); - break; - } - case 26: { - ErrorMessage = input.ReadString(); - break; - } - case 34: { - StackTrace = input.ReadString(); - break; - } - case 42: { - ScreenShot = input.ReadBytes(); - break; - } - case 48: { - ExecutionTime = input.ReadInt64(); - break; - } - case 58: { - message_.AddEntriesFrom(input, _repeated_message_codec); - break; - } - case 64: { - ErrorType = (global::Gauge.Messages.ProtoExecutionResult.Types.ErrorType) input.ReadEnum(); - break; - } - case 74: { - FailureScreenshot = input.ReadBytes(); - break; - } - case 82: { - screenshots_.AddEntriesFrom(input, _repeated_screenshots_codec); - break; - } - case 90: { - FailureScreenshotFile = input.ReadString(); - break; - } - case 98: { - screenshotFiles_.AddEntriesFrom(input, _repeated_screenshotFiles_codec); - break; - } - case 104: { - SkipScenario = input.ReadBool(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - Failed = input.ReadBool(); - break; - } - case 16: { - RecoverableError = input.ReadBool(); - break; - } - case 26: { - ErrorMessage = input.ReadString(); - break; - } - case 34: { - StackTrace = input.ReadString(); - break; - } - case 42: { - ScreenShot = input.ReadBytes(); - break; - } - case 48: { - ExecutionTime = input.ReadInt64(); - break; - } - case 58: { - message_.AddEntriesFrom(ref input, _repeated_message_codec); - break; - } - case 64: { - ErrorType = (global::Gauge.Messages.ProtoExecutionResult.Types.ErrorType) input.ReadEnum(); - break; - } - case 74: { - FailureScreenshot = input.ReadBytes(); - break; - } - case 82: { - screenshots_.AddEntriesFrom(ref input, _repeated_screenshots_codec); - break; - } - case 90: { - FailureScreenshotFile = input.ReadString(); - break; - } - case 98: { - screenshotFiles_.AddEntriesFrom(ref input, _repeated_screenshotFiles_codec); - break; - } - case 104: { - SkipScenario = input.ReadBool(); - break; - } - } - } - } - #endif - - #region Nested types - /// Container for nested types declared in the ProtoExecutionResult message type. - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static partial class Types { - public enum ErrorType { - [pbr::OriginalName("ASSERTION")] Assertion = 0, - [pbr::OriginalName("VERIFICATION")] Verification = 1, - } - - } - #endregion - - } - - /// - //// A proto object representing a pre-hook failure. - //// Used to hold failure information for before_suite, before_spec, before_scenario and before_spec hooks. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoHookFailure : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoHookFailure()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[15]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoHookFailure() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoHookFailure(ProtoHookFailure other) : this() { - stackTrace_ = other.stackTrace_; - errorMessage_ = other.errorMessage_; - screenShot_ = other.screenShot_; - tableRowIndex_ = other.tableRowIndex_; - failureScreenshot_ = other.failureScreenshot_; - failureScreenshotFile_ = other.failureScreenshotFile_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoHookFailure Clone() { - return new ProtoHookFailure(this); - } - - /// Field number for the "stackTrace" field. - public const int StackTraceFieldNumber = 1; - private string stackTrace_ = ""; - /// - //// Stacktrace from the failure - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string StackTrace { - get { return stackTrace_; } - set { - stackTrace_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "errorMessage" field. - public const int ErrorMessageFieldNumber = 2; - private string errorMessage_ = ""; - /// - //// Error message from the failure - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ErrorMessage { - get { return errorMessage_; } - set { - errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "screenShot" field. - public const int ScreenShotFieldNumber = 3; - private pb::ByteString screenShot_ = pb::ByteString.Empty; - /// - //// [DEPRECATED, use failureScreenshotFile] Bytes holding the screenshot taken at the time of failure. - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pb::ByteString ScreenShot { - get { return screenShot_; } - set { - screenShot_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "tableRowIndex" field. - public const int TableRowIndexFieldNumber = 4; - private int tableRowIndex_; - /// - /// / Contains table row index corresponding to datatable rows - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int TableRowIndex { - get { return tableRowIndex_; } - set { - tableRowIndex_ = value; - } - } - - /// Field number for the "failureScreenshot" field. - public const int FailureScreenshotFieldNumber = 5; - private pb::ByteString failureScreenshot_ = pb::ByteString.Empty; - /// - //// [DEPRECATED, use failureScreenshotFile] Bytes holding the screenshot taken at the time of failure. - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pb::ByteString FailureScreenshot { - get { return failureScreenshot_; } - set { - failureScreenshot_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "failureScreenshotFile" field. - public const int FailureScreenshotFileFieldNumber = 6; - private string failureScreenshotFile_ = ""; - /// - //// Path to the screenshot file captured at the time of failure. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string FailureScreenshotFile { - get { return failureScreenshotFile_; } - set { - failureScreenshotFile_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoHookFailure); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoHookFailure other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (StackTrace != other.StackTrace) return false; - if (ErrorMessage != other.ErrorMessage) return false; - if (ScreenShot != other.ScreenShot) return false; - if (TableRowIndex != other.TableRowIndex) return false; - if (FailureScreenshot != other.FailureScreenshot) return false; - if (FailureScreenshotFile != other.FailureScreenshotFile) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (StackTrace.Length != 0) hash ^= StackTrace.GetHashCode(); - if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode(); - if (ScreenShot.Length != 0) hash ^= ScreenShot.GetHashCode(); - if (TableRowIndex != 0) hash ^= TableRowIndex.GetHashCode(); - if (FailureScreenshot.Length != 0) hash ^= FailureScreenshot.GetHashCode(); - if (FailureScreenshotFile.Length != 0) hash ^= FailureScreenshotFile.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (StackTrace.Length != 0) { - output.WriteRawTag(10); - output.WriteString(StackTrace); - } - if (ErrorMessage.Length != 0) { - output.WriteRawTag(18); - output.WriteString(ErrorMessage); - } - if (ScreenShot.Length != 0) { - output.WriteRawTag(26); - output.WriteBytes(ScreenShot); - } - if (TableRowIndex != 0) { - output.WriteRawTag(32); - output.WriteInt32(TableRowIndex); - } - if (FailureScreenshot.Length != 0) { - output.WriteRawTag(42); - output.WriteBytes(FailureScreenshot); - } - if (FailureScreenshotFile.Length != 0) { - output.WriteRawTag(50); - output.WriteString(FailureScreenshotFile); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (StackTrace.Length != 0) { - output.WriteRawTag(10); - output.WriteString(StackTrace); - } - if (ErrorMessage.Length != 0) { - output.WriteRawTag(18); - output.WriteString(ErrorMessage); - } - if (ScreenShot.Length != 0) { - output.WriteRawTag(26); - output.WriteBytes(ScreenShot); - } - if (TableRowIndex != 0) { - output.WriteRawTag(32); - output.WriteInt32(TableRowIndex); - } - if (FailureScreenshot.Length != 0) { - output.WriteRawTag(42); - output.WriteBytes(FailureScreenshot); - } - if (FailureScreenshotFile.Length != 0) { - output.WriteRawTag(50); - output.WriteString(FailureScreenshotFile); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (StackTrace.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(StackTrace); - } - if (ErrorMessage.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage); - } - if (ScreenShot.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeBytesSize(ScreenShot); - } - if (TableRowIndex != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(TableRowIndex); - } - if (FailureScreenshot.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeBytesSize(FailureScreenshot); - } - if (FailureScreenshotFile.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(FailureScreenshotFile); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoHookFailure other) { - if (other == null) { - return; - } - if (other.StackTrace.Length != 0) { - StackTrace = other.StackTrace; - } - if (other.ErrorMessage.Length != 0) { - ErrorMessage = other.ErrorMessage; - } - if (other.ScreenShot.Length != 0) { - ScreenShot = other.ScreenShot; - } - if (other.TableRowIndex != 0) { - TableRowIndex = other.TableRowIndex; - } - if (other.FailureScreenshot.Length != 0) { - FailureScreenshot = other.FailureScreenshot; - } - if (other.FailureScreenshotFile.Length != 0) { - FailureScreenshotFile = other.FailureScreenshotFile; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - StackTrace = input.ReadString(); - break; - } - case 18: { - ErrorMessage = input.ReadString(); - break; - } - case 26: { - ScreenShot = input.ReadBytes(); - break; - } - case 32: { - TableRowIndex = input.ReadInt32(); - break; - } - case 42: { - FailureScreenshot = input.ReadBytes(); - break; - } - case 50: { - FailureScreenshotFile = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - StackTrace = input.ReadString(); - break; - } - case 18: { - ErrorMessage = input.ReadString(); - break; - } - case 26: { - ScreenShot = input.ReadBytes(); - break; - } - case 32: { - TableRowIndex = input.ReadInt32(); - break; - } - case 42: { - FailureScreenshot = input.ReadBytes(); - break; - } - case 50: { - FailureScreenshotFile = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// A proto object representing the result of entire Suite execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoSuiteResult : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoSuiteResult()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[16]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoSuiteResult() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoSuiteResult(ProtoSuiteResult other) : this() { - specResults_ = other.specResults_.Clone(); - preHookFailure_ = other.preHookFailure_ != null ? other.preHookFailure_.Clone() : null; - postHookFailure_ = other.postHookFailure_ != null ? other.postHookFailure_.Clone() : null; - failed_ = other.failed_; - specsFailedCount_ = other.specsFailedCount_; - executionTime_ = other.executionTime_; - successRate_ = other.successRate_; - environment_ = other.environment_; - tags_ = other.tags_; - projectName_ = other.projectName_; - timestamp_ = other.timestamp_; - specsSkippedCount_ = other.specsSkippedCount_; - preHookMessages_ = other.preHookMessages_.Clone(); - postHookMessages_ = other.postHookMessages_.Clone(); - preHookMessage_ = other.preHookMessage_.Clone(); - postHookMessage_ = other.postHookMessage_.Clone(); - preHookScreenshots_ = other.preHookScreenshots_.Clone(); - postHookScreenshots_ = other.postHookScreenshots_.Clone(); - chunked_ = other.chunked_; - chunkSize_ = other.chunkSize_; - preHookScreenshotFiles_ = other.preHookScreenshotFiles_.Clone(); - postHookScreenshotFiles_ = other.postHookScreenshotFiles_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoSuiteResult Clone() { - return new ProtoSuiteResult(this); - } - - /// Field number for the "specResults" field. - public const int SpecResultsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_specResults_codec - = pb::FieldCodec.ForMessage(10, global::Gauge.Messages.ProtoSpecResult.Parser); - private readonly pbc::RepeatedField specResults_ = new pbc::RepeatedField(); - /// - //// Contains the result from the execution - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField SpecResults { - get { return specResults_; } - } - - /// Field number for the "preHookFailure" field. - public const int PreHookFailureFieldNumber = 2; - private global::Gauge.Messages.ProtoHookFailure preHookFailure_; - /// - //// Contains a 'before' hook failure message. This happens when the `before_suite` hook has an error - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoHookFailure PreHookFailure { - get { return preHookFailure_; } - set { - preHookFailure_ = value; - } - } - - /// Field number for the "postHookFailure" field. - public const int PostHookFailureFieldNumber = 3; - private global::Gauge.Messages.ProtoHookFailure postHookFailure_; - /// - //// Contains a 'after' hook failure message. This happens when the `after_suite` hook has an error - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoHookFailure PostHookFailure { - get { return postHookFailure_; } - set { - postHookFailure_ = value; - } - } - - /// Field number for the "failed" field. - public const int FailedFieldNumber = 4; - private bool failed_; - /// - //// Flag to indicate failure - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Failed { - get { return failed_; } - set { - failed_ = value; - } - } - - /// Field number for the "specsFailedCount" field. - public const int SpecsFailedCountFieldNumber = 5; - private int specsFailedCount_; - /// - //// Holds the count of number of Specifications that failed. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int SpecsFailedCount { - get { return specsFailedCount_; } - set { - specsFailedCount_ = value; - } - } - - /// Field number for the "executionTime" field. - public const int ExecutionTimeFieldNumber = 6; - private long executionTime_; - /// - //// Holds the time taken for executing the whole suite. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long ExecutionTime { - get { return executionTime_; } - set { - executionTime_ = value; - } - } - - /// Field number for the "successRate" field. - public const int SuccessRateFieldNumber = 7; - private float successRate_; - /// - //// Holds a metric indicating the success rate of the execution. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public float SuccessRate { - get { return successRate_; } - set { - successRate_ = value; - } - } - - /// Field number for the "environment" field. - public const int EnvironmentFieldNumber = 8; - private string environment_ = ""; - /// - //// The environment against which execution was done - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Environment { - get { return environment_; } - set { - environment_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "tags" field. - public const int TagsFieldNumber = 9; - private string tags_ = ""; - /// - //// Tag expression used for filtering specification - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Tags { - get { return tags_; } - set { - tags_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "projectName" field. - public const int ProjectNameFieldNumber = 10; - private string projectName_ = ""; - /// - //// Project name - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ProjectName { - get { return projectName_; } - set { - projectName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "timestamp" field. - public const int TimestampFieldNumber = 11; - private string timestamp_ = ""; - /// - //// Timestamp of when execution started - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Timestamp { - get { return timestamp_; } - set { - timestamp_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "specsSkippedCount" field. - public const int SpecsSkippedCountFieldNumber = 12; - private int specsSkippedCount_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int SpecsSkippedCount { - get { return specsSkippedCount_; } - set { - specsSkippedCount_ = value; - } - } - - /// Field number for the "preHookMessages" field. - public const int PreHookMessagesFieldNumber = 13; - private static readonly pb::FieldCodec _repeated_preHookMessages_codec - = pb::FieldCodec.ForString(106); - private readonly pbc::RepeatedField preHookMessages_ = new pbc::RepeatedField(); - /// - //// Additional information at pre hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookMessages { - get { return preHookMessages_; } - } - - /// Field number for the "postHookMessages" field. - public const int PostHookMessagesFieldNumber = 14; - private static readonly pb::FieldCodec _repeated_postHookMessages_codec - = pb::FieldCodec.ForString(114); - private readonly pbc::RepeatedField postHookMessages_ = new pbc::RepeatedField(); - /// - //// Additional information at post hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookMessages { - get { return postHookMessages_; } - } - - /// Field number for the "preHookMessage" field. - public const int PreHookMessageFieldNumber = 15; - private static readonly pb::FieldCodec _repeated_preHookMessage_codec - = pb::FieldCodec.ForString(122); - private readonly pbc::RepeatedField preHookMessage_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use preHookMessages] Additional information at pre hook exec time to be available on reports - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookMessage { - get { return preHookMessage_; } - } - - /// Field number for the "postHookMessage" field. - public const int PostHookMessageFieldNumber = 16; - private static readonly pb::FieldCodec _repeated_postHookMessage_codec - = pb::FieldCodec.ForString(130); - private readonly pbc::RepeatedField postHookMessage_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use postHookMessages] Additional information at post hook exec time to be available on reports - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookMessage { - get { return postHookMessage_; } - } - - /// Field number for the "preHookScreenshots" field. - public const int PreHookScreenshotsFieldNumber = 17; - private static readonly pb::FieldCodec _repeated_preHookScreenshots_codec - = pb::FieldCodec.ForBytes(138); - private readonly pbc::RepeatedField preHookScreenshots_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use preHookScreenshotFiles] Capture Screenshot at pre hook exec time to be available on reports - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookScreenshots { - get { return preHookScreenshots_; } - } - - /// Field number for the "postHookScreenshots" field. - public const int PostHookScreenshotsFieldNumber = 18; - private static readonly pb::FieldCodec _repeated_postHookScreenshots_codec - = pb::FieldCodec.ForBytes(146); - private readonly pbc::RepeatedField postHookScreenshots_ = new pbc::RepeatedField(); - /// - //// [DEPRECATED, use postHookScreenshotFiles] Capture Screenshot at post hook exec time to be available on reports - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookScreenshots { - get { return postHookScreenshots_; } - } - - /// Field number for the "chunked" field. - public const int ChunkedFieldNumber = 19; - private bool chunked_; - /// - /// Indicates if the result is sent in chunks - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Chunked { - get { return chunked_; } - set { - chunked_ = value; - } - } - - /// Field number for the "chunkSize" field. - public const int ChunkSizeFieldNumber = 20; - private long chunkSize_; - /// - /// Indicates the number of chunks to expect after this - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long ChunkSize { - get { return chunkSize_; } - set { - chunkSize_ = value; - } - } - - /// Field number for the "preHookScreenshotFiles" field. - public const int PreHookScreenshotFilesFieldNumber = 21; - private static readonly pb::FieldCodec _repeated_preHookScreenshotFiles_codec - = pb::FieldCodec.ForString(170); - private readonly pbc::RepeatedField preHookScreenshotFiles_ = new pbc::RepeatedField(); - /// - //// Screenshots captured on pre hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PreHookScreenshotFiles { - get { return preHookScreenshotFiles_; } - } - - /// Field number for the "postHookScreenshotFiles" field. - public const int PostHookScreenshotFilesFieldNumber = 22; - private static readonly pb::FieldCodec _repeated_postHookScreenshotFiles_codec - = pb::FieldCodec.ForString(178); - private readonly pbc::RepeatedField postHookScreenshotFiles_ = new pbc::RepeatedField(); - /// - //// Screenshots captured on post hook exec time to be available on reports - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PostHookScreenshotFiles { - get { return postHookScreenshotFiles_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoSuiteResult); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoSuiteResult other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!specResults_.Equals(other.specResults_)) return false; - if (!object.Equals(PreHookFailure, other.PreHookFailure)) return false; - if (!object.Equals(PostHookFailure, other.PostHookFailure)) return false; - if (Failed != other.Failed) return false; - if (SpecsFailedCount != other.SpecsFailedCount) return false; - if (ExecutionTime != other.ExecutionTime) return false; - if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(SuccessRate, other.SuccessRate)) return false; - if (Environment != other.Environment) return false; - if (Tags != other.Tags) return false; - if (ProjectName != other.ProjectName) return false; - if (Timestamp != other.Timestamp) return false; - if (SpecsSkippedCount != other.SpecsSkippedCount) return false; - if(!preHookMessages_.Equals(other.preHookMessages_)) return false; - if(!postHookMessages_.Equals(other.postHookMessages_)) return false; - if(!preHookMessage_.Equals(other.preHookMessage_)) return false; - if(!postHookMessage_.Equals(other.postHookMessage_)) return false; - if(!preHookScreenshots_.Equals(other.preHookScreenshots_)) return false; - if(!postHookScreenshots_.Equals(other.postHookScreenshots_)) return false; - if (Chunked != other.Chunked) return false; - if (ChunkSize != other.ChunkSize) return false; - if(!preHookScreenshotFiles_.Equals(other.preHookScreenshotFiles_)) return false; - if(!postHookScreenshotFiles_.Equals(other.postHookScreenshotFiles_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - hash ^= specResults_.GetHashCode(); - if (preHookFailure_ != null) hash ^= PreHookFailure.GetHashCode(); - if (postHookFailure_ != null) hash ^= PostHookFailure.GetHashCode(); - if (Failed != false) hash ^= Failed.GetHashCode(); - if (SpecsFailedCount != 0) hash ^= SpecsFailedCount.GetHashCode(); - if (ExecutionTime != 0L) hash ^= ExecutionTime.GetHashCode(); - if (SuccessRate != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(SuccessRate); - if (Environment.Length != 0) hash ^= Environment.GetHashCode(); - if (Tags.Length != 0) hash ^= Tags.GetHashCode(); - if (ProjectName.Length != 0) hash ^= ProjectName.GetHashCode(); - if (Timestamp.Length != 0) hash ^= Timestamp.GetHashCode(); - if (SpecsSkippedCount != 0) hash ^= SpecsSkippedCount.GetHashCode(); - hash ^= preHookMessages_.GetHashCode(); - hash ^= postHookMessages_.GetHashCode(); - hash ^= preHookMessage_.GetHashCode(); - hash ^= postHookMessage_.GetHashCode(); - hash ^= preHookScreenshots_.GetHashCode(); - hash ^= postHookScreenshots_.GetHashCode(); - if (Chunked != false) hash ^= Chunked.GetHashCode(); - if (ChunkSize != 0L) hash ^= ChunkSize.GetHashCode(); - hash ^= preHookScreenshotFiles_.GetHashCode(); - hash ^= postHookScreenshotFiles_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - specResults_.WriteTo(output, _repeated_specResults_codec); - if (preHookFailure_ != null) { - output.WriteRawTag(18); - output.WriteMessage(PreHookFailure); - } - if (postHookFailure_ != null) { - output.WriteRawTag(26); - output.WriteMessage(PostHookFailure); - } - if (Failed != false) { - output.WriteRawTag(32); - output.WriteBool(Failed); - } - if (SpecsFailedCount != 0) { - output.WriteRawTag(40); - output.WriteInt32(SpecsFailedCount); - } - if (ExecutionTime != 0L) { - output.WriteRawTag(48); - output.WriteInt64(ExecutionTime); - } - if (SuccessRate != 0F) { - output.WriteRawTag(61); - output.WriteFloat(SuccessRate); - } - if (Environment.Length != 0) { - output.WriteRawTag(66); - output.WriteString(Environment); - } - if (Tags.Length != 0) { - output.WriteRawTag(74); - output.WriteString(Tags); - } - if (ProjectName.Length != 0) { - output.WriteRawTag(82); - output.WriteString(ProjectName); - } - if (Timestamp.Length != 0) { - output.WriteRawTag(90); - output.WriteString(Timestamp); - } - if (SpecsSkippedCount != 0) { - output.WriteRawTag(96); - output.WriteInt32(SpecsSkippedCount); - } - preHookMessages_.WriteTo(output, _repeated_preHookMessages_codec); - postHookMessages_.WriteTo(output, _repeated_postHookMessages_codec); - preHookMessage_.WriteTo(output, _repeated_preHookMessage_codec); - postHookMessage_.WriteTo(output, _repeated_postHookMessage_codec); - preHookScreenshots_.WriteTo(output, _repeated_preHookScreenshots_codec); - postHookScreenshots_.WriteTo(output, _repeated_postHookScreenshots_codec); - if (Chunked != false) { - output.WriteRawTag(152, 1); - output.WriteBool(Chunked); - } - if (ChunkSize != 0L) { - output.WriteRawTag(160, 1); - output.WriteInt64(ChunkSize); - } - preHookScreenshotFiles_.WriteTo(output, _repeated_preHookScreenshotFiles_codec); - postHookScreenshotFiles_.WriteTo(output, _repeated_postHookScreenshotFiles_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - specResults_.WriteTo(ref output, _repeated_specResults_codec); - if (preHookFailure_ != null) { - output.WriteRawTag(18); - output.WriteMessage(PreHookFailure); - } - if (postHookFailure_ != null) { - output.WriteRawTag(26); - output.WriteMessage(PostHookFailure); - } - if (Failed != false) { - output.WriteRawTag(32); - output.WriteBool(Failed); - } - if (SpecsFailedCount != 0) { - output.WriteRawTag(40); - output.WriteInt32(SpecsFailedCount); - } - if (ExecutionTime != 0L) { - output.WriteRawTag(48); - output.WriteInt64(ExecutionTime); - } - if (SuccessRate != 0F) { - output.WriteRawTag(61); - output.WriteFloat(SuccessRate); - } - if (Environment.Length != 0) { - output.WriteRawTag(66); - output.WriteString(Environment); - } - if (Tags.Length != 0) { - output.WriteRawTag(74); - output.WriteString(Tags); - } - if (ProjectName.Length != 0) { - output.WriteRawTag(82); - output.WriteString(ProjectName); - } - if (Timestamp.Length != 0) { - output.WriteRawTag(90); - output.WriteString(Timestamp); - } - if (SpecsSkippedCount != 0) { - output.WriteRawTag(96); - output.WriteInt32(SpecsSkippedCount); - } - preHookMessages_.WriteTo(ref output, _repeated_preHookMessages_codec); - postHookMessages_.WriteTo(ref output, _repeated_postHookMessages_codec); - preHookMessage_.WriteTo(ref output, _repeated_preHookMessage_codec); - postHookMessage_.WriteTo(ref output, _repeated_postHookMessage_codec); - preHookScreenshots_.WriteTo(ref output, _repeated_preHookScreenshots_codec); - postHookScreenshots_.WriteTo(ref output, _repeated_postHookScreenshots_codec); - if (Chunked != false) { - output.WriteRawTag(152, 1); - output.WriteBool(Chunked); - } - if (ChunkSize != 0L) { - output.WriteRawTag(160, 1); - output.WriteInt64(ChunkSize); - } - preHookScreenshotFiles_.WriteTo(ref output, _repeated_preHookScreenshotFiles_codec); - postHookScreenshotFiles_.WriteTo(ref output, _repeated_postHookScreenshotFiles_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - size += specResults_.CalculateSize(_repeated_specResults_codec); - if (preHookFailure_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PreHookFailure); - } - if (postHookFailure_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PostHookFailure); - } - if (Failed != false) { - size += 1 + 1; - } - if (SpecsFailedCount != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(SpecsFailedCount); - } - if (ExecutionTime != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(ExecutionTime); - } - if (SuccessRate != 0F) { - size += 1 + 4; - } - if (Environment.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Environment); - } - if (Tags.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Tags); - } - if (ProjectName.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ProjectName); - } - if (Timestamp.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Timestamp); - } - if (SpecsSkippedCount != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(SpecsSkippedCount); - } - size += preHookMessages_.CalculateSize(_repeated_preHookMessages_codec); - size += postHookMessages_.CalculateSize(_repeated_postHookMessages_codec); - size += preHookMessage_.CalculateSize(_repeated_preHookMessage_codec); - size += postHookMessage_.CalculateSize(_repeated_postHookMessage_codec); - size += preHookScreenshots_.CalculateSize(_repeated_preHookScreenshots_codec); - size += postHookScreenshots_.CalculateSize(_repeated_postHookScreenshots_codec); - if (Chunked != false) { - size += 2 + 1; - } - if (ChunkSize != 0L) { - size += 2 + pb::CodedOutputStream.ComputeInt64Size(ChunkSize); - } - size += preHookScreenshotFiles_.CalculateSize(_repeated_preHookScreenshotFiles_codec); - size += postHookScreenshotFiles_.CalculateSize(_repeated_postHookScreenshotFiles_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoSuiteResult other) { - if (other == null) { - return; - } - specResults_.Add(other.specResults_); - if (other.preHookFailure_ != null) { - if (preHookFailure_ == null) { - PreHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - PreHookFailure.MergeFrom(other.PreHookFailure); - } - if (other.postHookFailure_ != null) { - if (postHookFailure_ == null) { - PostHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - PostHookFailure.MergeFrom(other.PostHookFailure); - } - if (other.Failed != false) { - Failed = other.Failed; - } - if (other.SpecsFailedCount != 0) { - SpecsFailedCount = other.SpecsFailedCount; - } - if (other.ExecutionTime != 0L) { - ExecutionTime = other.ExecutionTime; - } - if (other.SuccessRate != 0F) { - SuccessRate = other.SuccessRate; - } - if (other.Environment.Length != 0) { - Environment = other.Environment; - } - if (other.Tags.Length != 0) { - Tags = other.Tags; - } - if (other.ProjectName.Length != 0) { - ProjectName = other.ProjectName; - } - if (other.Timestamp.Length != 0) { - Timestamp = other.Timestamp; - } - if (other.SpecsSkippedCount != 0) { - SpecsSkippedCount = other.SpecsSkippedCount; - } - preHookMessages_.Add(other.preHookMessages_); - postHookMessages_.Add(other.postHookMessages_); - preHookMessage_.Add(other.preHookMessage_); - postHookMessage_.Add(other.postHookMessage_); - preHookScreenshots_.Add(other.preHookScreenshots_); - postHookScreenshots_.Add(other.postHookScreenshots_); - if (other.Chunked != false) { - Chunked = other.Chunked; - } - if (other.ChunkSize != 0L) { - ChunkSize = other.ChunkSize; - } - preHookScreenshotFiles_.Add(other.preHookScreenshotFiles_); - postHookScreenshotFiles_.Add(other.postHookScreenshotFiles_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - specResults_.AddEntriesFrom(input, _repeated_specResults_codec); - break; - } - case 18: { - if (preHookFailure_ == null) { - PreHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - input.ReadMessage(PreHookFailure); - break; - } - case 26: { - if (postHookFailure_ == null) { - PostHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - input.ReadMessage(PostHookFailure); - break; - } - case 32: { - Failed = input.ReadBool(); - break; - } - case 40: { - SpecsFailedCount = input.ReadInt32(); - break; - } - case 48: { - ExecutionTime = input.ReadInt64(); - break; - } - case 61: { - SuccessRate = input.ReadFloat(); - break; - } - case 66: { - Environment = input.ReadString(); - break; - } - case 74: { - Tags = input.ReadString(); - break; - } - case 82: { - ProjectName = input.ReadString(); - break; - } - case 90: { - Timestamp = input.ReadString(); - break; - } - case 96: { - SpecsSkippedCount = input.ReadInt32(); - break; - } - case 106: { - preHookMessages_.AddEntriesFrom(input, _repeated_preHookMessages_codec); - break; - } - case 114: { - postHookMessages_.AddEntriesFrom(input, _repeated_postHookMessages_codec); - break; - } - case 122: { - preHookMessage_.AddEntriesFrom(input, _repeated_preHookMessage_codec); - break; - } - case 130: { - postHookMessage_.AddEntriesFrom(input, _repeated_postHookMessage_codec); - break; - } - case 138: { - preHookScreenshots_.AddEntriesFrom(input, _repeated_preHookScreenshots_codec); - break; - } - case 146: { - postHookScreenshots_.AddEntriesFrom(input, _repeated_postHookScreenshots_codec); - break; - } - case 152: { - Chunked = input.ReadBool(); - break; - } - case 160: { - ChunkSize = input.ReadInt64(); - break; - } - case 170: { - preHookScreenshotFiles_.AddEntriesFrom(input, _repeated_preHookScreenshotFiles_codec); - break; - } - case 178: { - postHookScreenshotFiles_.AddEntriesFrom(input, _repeated_postHookScreenshotFiles_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - specResults_.AddEntriesFrom(ref input, _repeated_specResults_codec); - break; - } - case 18: { - if (preHookFailure_ == null) { - PreHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - input.ReadMessage(PreHookFailure); - break; - } - case 26: { - if (postHookFailure_ == null) { - PostHookFailure = new global::Gauge.Messages.ProtoHookFailure(); - } - input.ReadMessage(PostHookFailure); - break; - } - case 32: { - Failed = input.ReadBool(); - break; - } - case 40: { - SpecsFailedCount = input.ReadInt32(); - break; - } - case 48: { - ExecutionTime = input.ReadInt64(); - break; - } - case 61: { - SuccessRate = input.ReadFloat(); - break; - } - case 66: { - Environment = input.ReadString(); - break; - } - case 74: { - Tags = input.ReadString(); - break; - } - case 82: { - ProjectName = input.ReadString(); - break; - } - case 90: { - Timestamp = input.ReadString(); - break; - } - case 96: { - SpecsSkippedCount = input.ReadInt32(); - break; - } - case 106: { - preHookMessages_.AddEntriesFrom(ref input, _repeated_preHookMessages_codec); - break; - } - case 114: { - postHookMessages_.AddEntriesFrom(ref input, _repeated_postHookMessages_codec); - break; - } - case 122: { - preHookMessage_.AddEntriesFrom(ref input, _repeated_preHookMessage_codec); - break; - } - case 130: { - postHookMessage_.AddEntriesFrom(ref input, _repeated_postHookMessage_codec); - break; - } - case 138: { - preHookScreenshots_.AddEntriesFrom(ref input, _repeated_preHookScreenshots_codec); - break; - } - case 146: { - postHookScreenshots_.AddEntriesFrom(ref input, _repeated_postHookScreenshots_codec); - break; - } - case 152: { - Chunked = input.ReadBool(); - break; - } - case 160: { - ChunkSize = input.ReadInt64(); - break; - } - case 170: { - preHookScreenshotFiles_.AddEntriesFrom(ref input, _repeated_preHookScreenshotFiles_codec); - break; - } - case 178: { - postHookScreenshotFiles_.AddEntriesFrom(ref input, _repeated_postHookScreenshotFiles_codec); - break; - } - } - } - } - #endif - - } - - /// - //// A proto object representing the result of Spec execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoSpecResult : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoSpecResult()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[17]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoSpecResult() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoSpecResult(ProtoSpecResult other) : this() { - protoSpec_ = other.protoSpec_ != null ? other.protoSpec_.Clone() : null; - scenarioCount_ = other.scenarioCount_; - scenarioFailedCount_ = other.scenarioFailedCount_; - failed_ = other.failed_; - failedDataTableRows_ = other.failedDataTableRows_.Clone(); - executionTime_ = other.executionTime_; - skipped_ = other.skipped_; - scenarioSkippedCount_ = other.scenarioSkippedCount_; - skippedDataTableRows_ = other.skippedDataTableRows_.Clone(); - errors_ = other.errors_.Clone(); - timestamp_ = other.timestamp_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoSpecResult Clone() { - return new ProtoSpecResult(this); - } - - /// Field number for the "protoSpec" field. - public const int ProtoSpecFieldNumber = 1; - private global::Gauge.Messages.ProtoSpec protoSpec_; - /// - //// Represents the corresponding Specification - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoSpec ProtoSpec { - get { return protoSpec_; } - set { - protoSpec_ = value; - } - } - - /// Field number for the "scenarioCount" field. - public const int ScenarioCountFieldNumber = 2; - private int scenarioCount_; - /// - //// Holds the number of Scenarios executed - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int ScenarioCount { - get { return scenarioCount_; } - set { - scenarioCount_ = value; - } - } - - /// Field number for the "scenarioFailedCount" field. - public const int ScenarioFailedCountFieldNumber = 3; - private int scenarioFailedCount_; - /// - //// Holds the number of Scenarios failed - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int ScenarioFailedCount { - get { return scenarioFailedCount_; } - set { - scenarioFailedCount_ = value; - } - } - - /// Field number for the "failed" field. - public const int FailedFieldNumber = 4; - private bool failed_; - /// - //// Flag to indicate failure - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Failed { - get { return failed_; } - set { - failed_ = value; - } - } - - /// Field number for the "failedDataTableRows" field. - public const int FailedDataTableRowsFieldNumber = 5; - private static readonly pb::FieldCodec _repeated_failedDataTableRows_codec - = pb::FieldCodec.ForInt32(42); - private readonly pbc::RepeatedField failedDataTableRows_ = new pbc::RepeatedField(); - /// - //// Holds the row numbers, which caused the execution to fail. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField FailedDataTableRows { - get { return failedDataTableRows_; } - } - - /// Field number for the "executionTime" field. - public const int ExecutionTimeFieldNumber = 6; - private long executionTime_; - /// - //// Holds the time taken for executing the spec. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long ExecutionTime { - get { return executionTime_; } - set { - executionTime_ = value; - } - } - - /// Field number for the "skipped" field. - public const int SkippedFieldNumber = 7; - private bool skipped_; - /// - //// Flag to indicate if spec is skipped - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Skipped { - get { return skipped_; } - set { - skipped_ = value; - } - } - - /// Field number for the "scenarioSkippedCount" field. - public const int ScenarioSkippedCountFieldNumber = 8; - private int scenarioSkippedCount_; - /// - //// Holds the number of Scenarios skipped - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int ScenarioSkippedCount { - get { return scenarioSkippedCount_; } - set { - scenarioSkippedCount_ = value; - } - } - - /// Field number for the "skippedDataTableRows" field. - public const int SkippedDataTableRowsFieldNumber = 9; - private static readonly pb::FieldCodec _repeated_skippedDataTableRows_codec - = pb::FieldCodec.ForInt32(74); - private readonly pbc::RepeatedField skippedDataTableRows_ = new pbc::RepeatedField(); - /// - //// Holds the row numbers, for which the execution skipped. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField SkippedDataTableRows { - get { return skippedDataTableRows_; } - } - - /// Field number for the "errors" field. - public const int ErrorsFieldNumber = 10; - private static readonly pb::FieldCodec _repeated_errors_codec - = pb::FieldCodec.ForMessage(82, global::Gauge.Messages.Error.Parser); - private readonly pbc::RepeatedField errors_ = new pbc::RepeatedField(); - /// - //// Holds parse, validation and skipped errors. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Errors { - get { return errors_; } - } - - /// Field number for the "timestamp" field. - public const int TimestampFieldNumber = 11; - private string timestamp_ = ""; - /// - //// Holds the timestamp of event starting. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Timestamp { - get { return timestamp_; } - set { - timestamp_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoSpecResult); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoSpecResult other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(ProtoSpec, other.ProtoSpec)) return false; - if (ScenarioCount != other.ScenarioCount) return false; - if (ScenarioFailedCount != other.ScenarioFailedCount) return false; - if (Failed != other.Failed) return false; - if(!failedDataTableRows_.Equals(other.failedDataTableRows_)) return false; - if (ExecutionTime != other.ExecutionTime) return false; - if (Skipped != other.Skipped) return false; - if (ScenarioSkippedCount != other.ScenarioSkippedCount) return false; - if(!skippedDataTableRows_.Equals(other.skippedDataTableRows_)) return false; - if(!errors_.Equals(other.errors_)) return false; - if (Timestamp != other.Timestamp) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (protoSpec_ != null) hash ^= ProtoSpec.GetHashCode(); - if (ScenarioCount != 0) hash ^= ScenarioCount.GetHashCode(); - if (ScenarioFailedCount != 0) hash ^= ScenarioFailedCount.GetHashCode(); - if (Failed != false) hash ^= Failed.GetHashCode(); - hash ^= failedDataTableRows_.GetHashCode(); - if (ExecutionTime != 0L) hash ^= ExecutionTime.GetHashCode(); - if (Skipped != false) hash ^= Skipped.GetHashCode(); - if (ScenarioSkippedCount != 0) hash ^= ScenarioSkippedCount.GetHashCode(); - hash ^= skippedDataTableRows_.GetHashCode(); - hash ^= errors_.GetHashCode(); - if (Timestamp.Length != 0) hash ^= Timestamp.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (protoSpec_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ProtoSpec); - } - if (ScenarioCount != 0) { - output.WriteRawTag(16); - output.WriteInt32(ScenarioCount); - } - if (ScenarioFailedCount != 0) { - output.WriteRawTag(24); - output.WriteInt32(ScenarioFailedCount); - } - if (Failed != false) { - output.WriteRawTag(32); - output.WriteBool(Failed); - } - failedDataTableRows_.WriteTo(output, _repeated_failedDataTableRows_codec); - if (ExecutionTime != 0L) { - output.WriteRawTag(48); - output.WriteInt64(ExecutionTime); - } - if (Skipped != false) { - output.WriteRawTag(56); - output.WriteBool(Skipped); - } - if (ScenarioSkippedCount != 0) { - output.WriteRawTag(64); - output.WriteInt32(ScenarioSkippedCount); - } - skippedDataTableRows_.WriteTo(output, _repeated_skippedDataTableRows_codec); - errors_.WriteTo(output, _repeated_errors_codec); - if (Timestamp.Length != 0) { - output.WriteRawTag(90); - output.WriteString(Timestamp); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (protoSpec_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ProtoSpec); - } - if (ScenarioCount != 0) { - output.WriteRawTag(16); - output.WriteInt32(ScenarioCount); - } - if (ScenarioFailedCount != 0) { - output.WriteRawTag(24); - output.WriteInt32(ScenarioFailedCount); - } - if (Failed != false) { - output.WriteRawTag(32); - output.WriteBool(Failed); - } - failedDataTableRows_.WriteTo(ref output, _repeated_failedDataTableRows_codec); - if (ExecutionTime != 0L) { - output.WriteRawTag(48); - output.WriteInt64(ExecutionTime); - } - if (Skipped != false) { - output.WriteRawTag(56); - output.WriteBool(Skipped); - } - if (ScenarioSkippedCount != 0) { - output.WriteRawTag(64); - output.WriteInt32(ScenarioSkippedCount); - } - skippedDataTableRows_.WriteTo(ref output, _repeated_skippedDataTableRows_codec); - errors_.WriteTo(ref output, _repeated_errors_codec); - if (Timestamp.Length != 0) { - output.WriteRawTag(90); - output.WriteString(Timestamp); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (protoSpec_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ProtoSpec); - } - if (ScenarioCount != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScenarioCount); - } - if (ScenarioFailedCount != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScenarioFailedCount); - } - if (Failed != false) { - size += 1 + 1; - } - size += failedDataTableRows_.CalculateSize(_repeated_failedDataTableRows_codec); - if (ExecutionTime != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(ExecutionTime); - } - if (Skipped != false) { - size += 1 + 1; - } - if (ScenarioSkippedCount != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScenarioSkippedCount); - } - size += skippedDataTableRows_.CalculateSize(_repeated_skippedDataTableRows_codec); - size += errors_.CalculateSize(_repeated_errors_codec); - if (Timestamp.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Timestamp); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoSpecResult other) { - if (other == null) { - return; - } - if (other.protoSpec_ != null) { - if (protoSpec_ == null) { - ProtoSpec = new global::Gauge.Messages.ProtoSpec(); - } - ProtoSpec.MergeFrom(other.ProtoSpec); - } - if (other.ScenarioCount != 0) { - ScenarioCount = other.ScenarioCount; - } - if (other.ScenarioFailedCount != 0) { - ScenarioFailedCount = other.ScenarioFailedCount; - } - if (other.Failed != false) { - Failed = other.Failed; - } - failedDataTableRows_.Add(other.failedDataTableRows_); - if (other.ExecutionTime != 0L) { - ExecutionTime = other.ExecutionTime; - } - if (other.Skipped != false) { - Skipped = other.Skipped; - } - if (other.ScenarioSkippedCount != 0) { - ScenarioSkippedCount = other.ScenarioSkippedCount; - } - skippedDataTableRows_.Add(other.skippedDataTableRows_); - errors_.Add(other.errors_); - if (other.Timestamp.Length != 0) { - Timestamp = other.Timestamp; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (protoSpec_ == null) { - ProtoSpec = new global::Gauge.Messages.ProtoSpec(); - } - input.ReadMessage(ProtoSpec); - break; - } - case 16: { - ScenarioCount = input.ReadInt32(); - break; - } - case 24: { - ScenarioFailedCount = input.ReadInt32(); - break; - } - case 32: { - Failed = input.ReadBool(); - break; - } - case 42: - case 40: { - failedDataTableRows_.AddEntriesFrom(input, _repeated_failedDataTableRows_codec); - break; - } - case 48: { - ExecutionTime = input.ReadInt64(); - break; - } - case 56: { - Skipped = input.ReadBool(); - break; - } - case 64: { - ScenarioSkippedCount = input.ReadInt32(); - break; - } - case 74: - case 72: { - skippedDataTableRows_.AddEntriesFrom(input, _repeated_skippedDataTableRows_codec); - break; - } - case 82: { - errors_.AddEntriesFrom(input, _repeated_errors_codec); - break; - } - case 90: { - Timestamp = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (protoSpec_ == null) { - ProtoSpec = new global::Gauge.Messages.ProtoSpec(); - } - input.ReadMessage(ProtoSpec); - break; - } - case 16: { - ScenarioCount = input.ReadInt32(); - break; - } - case 24: { - ScenarioFailedCount = input.ReadInt32(); - break; - } - case 32: { - Failed = input.ReadBool(); - break; - } - case 42: - case 40: { - failedDataTableRows_.AddEntriesFrom(ref input, _repeated_failedDataTableRows_codec); - break; - } - case 48: { - ExecutionTime = input.ReadInt64(); - break; - } - case 56: { - Skipped = input.ReadBool(); - break; - } - case 64: { - ScenarioSkippedCount = input.ReadInt32(); - break; - } - case 74: - case 72: { - skippedDataTableRows_.AddEntriesFrom(ref input, _repeated_skippedDataTableRows_codec); - break; - } - case 82: { - errors_.AddEntriesFrom(ref input, _repeated_errors_codec); - break; - } - case 90: { - Timestamp = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// A proto object representing the result of Scenario execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoScenarioResult : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoScenarioResult()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[18]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoScenarioResult() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoScenarioResult(ProtoScenarioResult other) : this() { - protoItem_ = other.protoItem_ != null ? other.protoItem_.Clone() : null; - executionTime_ = other.executionTime_; - timestamp_ = other.timestamp_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoScenarioResult Clone() { - return new ProtoScenarioResult(this); - } - - /// Field number for the "protoItem" field. - public const int ProtoItemFieldNumber = 1; - private global::Gauge.Messages.ProtoItem protoItem_; - /// - //// Collection of scenarios in scenario execution result. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoItem ProtoItem { - get { return protoItem_; } - set { - protoItem_ = value; - } - } - - /// Field number for the "executionTime" field. - public const int ExecutionTimeFieldNumber = 2; - private long executionTime_; - /// - //// Holds the time taken for executing the whole suite. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long ExecutionTime { - get { return executionTime_; } - set { - executionTime_ = value; - } - } - - /// Field number for the "timestamp" field. - public const int TimestampFieldNumber = 3; - private string timestamp_ = ""; - /// - //// Holds the timestamp of event starting. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Timestamp { - get { return timestamp_; } - set { - timestamp_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoScenarioResult); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoScenarioResult other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(ProtoItem, other.ProtoItem)) return false; - if (ExecutionTime != other.ExecutionTime) return false; - if (Timestamp != other.Timestamp) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (protoItem_ != null) hash ^= ProtoItem.GetHashCode(); - if (ExecutionTime != 0L) hash ^= ExecutionTime.GetHashCode(); - if (Timestamp.Length != 0) hash ^= Timestamp.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (protoItem_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ProtoItem); - } - if (ExecutionTime != 0L) { - output.WriteRawTag(16); - output.WriteInt64(ExecutionTime); - } - if (Timestamp.Length != 0) { - output.WriteRawTag(26); - output.WriteString(Timestamp); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (protoItem_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ProtoItem); - } - if (ExecutionTime != 0L) { - output.WriteRawTag(16); - output.WriteInt64(ExecutionTime); - } - if (Timestamp.Length != 0) { - output.WriteRawTag(26); - output.WriteString(Timestamp); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (protoItem_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ProtoItem); - } - if (ExecutionTime != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(ExecutionTime); - } - if (Timestamp.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Timestamp); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoScenarioResult other) { - if (other == null) { - return; - } - if (other.protoItem_ != null) { - if (protoItem_ == null) { - ProtoItem = new global::Gauge.Messages.ProtoItem(); - } - ProtoItem.MergeFrom(other.ProtoItem); - } - if (other.ExecutionTime != 0L) { - ExecutionTime = other.ExecutionTime; - } - if (other.Timestamp.Length != 0) { - Timestamp = other.Timestamp; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (protoItem_ == null) { - ProtoItem = new global::Gauge.Messages.ProtoItem(); - } - input.ReadMessage(ProtoItem); - break; - } - case 16: { - ExecutionTime = input.ReadInt64(); - break; - } - case 26: { - Timestamp = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (protoItem_ == null) { - ProtoItem = new global::Gauge.Messages.ProtoItem(); - } - input.ReadMessage(ProtoItem); - break; - } - case 16: { - ExecutionTime = input.ReadInt64(); - break; - } - case 26: { - Timestamp = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// A proto object representing the result of Step execution. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoStepResult : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoStepResult()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[19]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoStepResult() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoStepResult(ProtoStepResult other) : this() { - protoItem_ = other.protoItem_ != null ? other.protoItem_.Clone() : null; - executionTime_ = other.executionTime_; - timestamp_ = other.timestamp_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoStepResult Clone() { - return new ProtoStepResult(this); - } - - /// Field number for the "protoItem" field. - public const int ProtoItemFieldNumber = 1; - private global::Gauge.Messages.ProtoItem protoItem_; - /// - //// Collection of steps in step execution result. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.ProtoItem ProtoItem { - get { return protoItem_; } - set { - protoItem_ = value; - } - } - - /// Field number for the "executionTime" field. - public const int ExecutionTimeFieldNumber = 2; - private long executionTime_; - /// - //// Holds the time taken for executing the whole suite. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long ExecutionTime { - get { return executionTime_; } - set { - executionTime_ = value; - } - } - - /// Field number for the "timestamp" field. - public const int TimestampFieldNumber = 3; - private string timestamp_ = ""; - /// - //// Holds the timestamp of event starting. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Timestamp { - get { return timestamp_; } - set { - timestamp_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoStepResult); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoStepResult other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(ProtoItem, other.ProtoItem)) return false; - if (ExecutionTime != other.ExecutionTime) return false; - if (Timestamp != other.Timestamp) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (protoItem_ != null) hash ^= ProtoItem.GetHashCode(); - if (ExecutionTime != 0L) hash ^= ExecutionTime.GetHashCode(); - if (Timestamp.Length != 0) hash ^= Timestamp.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (protoItem_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ProtoItem); - } - if (ExecutionTime != 0L) { - output.WriteRawTag(16); - output.WriteInt64(ExecutionTime); - } - if (Timestamp.Length != 0) { - output.WriteRawTag(26); - output.WriteString(Timestamp); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (protoItem_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ProtoItem); - } - if (ExecutionTime != 0L) { - output.WriteRawTag(16); - output.WriteInt64(ExecutionTime); - } - if (Timestamp.Length != 0) { - output.WriteRawTag(26); - output.WriteString(Timestamp); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (protoItem_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ProtoItem); - } - if (ExecutionTime != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(ExecutionTime); - } - if (Timestamp.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Timestamp); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoStepResult other) { - if (other == null) { - return; - } - if (other.protoItem_ != null) { - if (protoItem_ == null) { - ProtoItem = new global::Gauge.Messages.ProtoItem(); - } - ProtoItem.MergeFrom(other.ProtoItem); - } - if (other.ExecutionTime != 0L) { - ExecutionTime = other.ExecutionTime; - } - if (other.Timestamp.Length != 0) { - Timestamp = other.Timestamp; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (protoItem_ == null) { - ProtoItem = new global::Gauge.Messages.ProtoItem(); - } - input.ReadMessage(ProtoItem); - break; - } - case 16: { - ExecutionTime = input.ReadInt64(); - break; - } - case 26: { - Timestamp = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (protoItem_ == null) { - ProtoItem = new global::Gauge.Messages.ProtoItem(); - } - input.ReadMessage(ProtoItem); - break; - } - case 16: { - ExecutionTime = input.ReadInt64(); - break; - } - case 26: { - Timestamp = input.ReadString(); - break; - } - } - } - } - #endif - - } - - /// - //// A proto object representing an error in spec/Scenario. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class Error : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Error()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[20]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Error() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Error(Error other) : this() { - type_ = other.type_; - filename_ = other.filename_; - lineNumber_ = other.lineNumber_; - message_ = other.message_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Error Clone() { - return new Error(this); - } - - /// Field number for the "type" field. - public const int TypeFieldNumber = 1; - private global::Gauge.Messages.Error.Types.ErrorType type_ = global::Gauge.Messages.Error.Types.ErrorType.ParseError; - /// - //// Holds the type of error - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Gauge.Messages.Error.Types.ErrorType Type { - get { return type_; } - set { - type_ = value; - } - } - - /// Field number for the "filename" field. - public const int FilenameFieldNumber = 2; - private string filename_ = ""; - /// - //// Holds the filename. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Filename { - get { return filename_; } - set { - filename_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "lineNumber" field. - public const int LineNumberFieldNumber = 3; - private int lineNumber_; - /// - //// Holds the line number of the error in file. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int LineNumber { - get { return lineNumber_; } - set { - lineNumber_ = value; - } - } - - /// Field number for the "message" field. - public const int MessageFieldNumber = 4; - private string message_ = ""; - /// - //// Holds the error message. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Message { - get { return message_; } - set { - message_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as Error); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(Error other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Type != other.Type) return false; - if (Filename != other.Filename) return false; - if (LineNumber != other.LineNumber) return false; - if (Message != other.Message) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Type != global::Gauge.Messages.Error.Types.ErrorType.ParseError) hash ^= Type.GetHashCode(); - if (Filename.Length != 0) hash ^= Filename.GetHashCode(); - if (LineNumber != 0) hash ^= LineNumber.GetHashCode(); - if (Message.Length != 0) hash ^= Message.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Type != global::Gauge.Messages.Error.Types.ErrorType.ParseError) { - output.WriteRawTag(8); - output.WriteEnum((int) Type); - } - if (Filename.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Filename); - } - if (LineNumber != 0) { - output.WriteRawTag(24); - output.WriteInt32(LineNumber); - } - if (Message.Length != 0) { - output.WriteRawTag(34); - output.WriteString(Message); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Type != global::Gauge.Messages.Error.Types.ErrorType.ParseError) { - output.WriteRawTag(8); - output.WriteEnum((int) Type); - } - if (Filename.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Filename); - } - if (LineNumber != 0) { - output.WriteRawTag(24); - output.WriteInt32(LineNumber); - } - if (Message.Length != 0) { - output.WriteRawTag(34); - output.WriteString(Message); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Type != global::Gauge.Messages.Error.Types.ErrorType.ParseError) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); - } - if (Filename.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Filename); - } - if (LineNumber != 0) { - size += 1 + pb::CodedOutputStream.ComputeInt32Size(LineNumber); - } - if (Message.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Message); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(Error other) { - if (other == null) { - return; - } - if (other.Type != global::Gauge.Messages.Error.Types.ErrorType.ParseError) { - Type = other.Type; - } - if (other.Filename.Length != 0) { - Filename = other.Filename; - } - if (other.LineNumber != 0) { - LineNumber = other.LineNumber; - } - if (other.Message.Length != 0) { - Message = other.Message; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - Type = (global::Gauge.Messages.Error.Types.ErrorType) input.ReadEnum(); - break; - } - case 18: { - Filename = input.ReadString(); - break; - } - case 24: { - LineNumber = input.ReadInt32(); - break; - } - case 34: { - Message = input.ReadString(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - Type = (global::Gauge.Messages.Error.Types.ErrorType) input.ReadEnum(); - break; - } - case 18: { - Filename = input.ReadString(); - break; - } - case 24: { - LineNumber = input.ReadInt32(); - break; - } - case 34: { - Message = input.ReadString(); - break; - } - } - } - } - #endif - - #region Nested types - /// Container for nested types declared in the Error message type. - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static partial class Types { - public enum ErrorType { - [pbr::OriginalName("PARSE_ERROR")] ParseError = 0, - [pbr::OriginalName("VALIDATION_ERROR")] ValidationError = 1, - } - - } - #endregion - - } - - /// - //// A proto object representing a Step value. - /// - [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class ProtoStepValue : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ProtoStepValue()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::Gauge.Messages.SpecReflection.Descriptor.MessageTypes[21]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoStepValue() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoStepValue(ProtoStepValue other) : this() { - stepValue_ = other.stepValue_; - parameterizedStepValue_ = other.parameterizedStepValue_; - parameters_ = other.parameters_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ProtoStepValue Clone() { - return new ProtoStepValue(this); - } - - /// Field number for the "stepValue" field. - public const int StepValueFieldNumber = 1; - private string stepValue_ = ""; - /// - //// The actual string value describing he Step - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string StepValue { - get { return stepValue_; } - set { - stepValue_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "parameterizedStepValue" field. - public const int ParameterizedStepValueFieldNumber = 2; - private string parameterizedStepValue_ = ""; - /// - //// The parameterized string value describing he Step. The parameters are replaced with placeholders. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParameterizedStepValue { - get { return parameterizedStepValue_; } - set { - parameterizedStepValue_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "parameters" field. - public const int ParametersFieldNumber = 3; - private static readonly pb::FieldCodec _repeated_parameters_codec - = pb::FieldCodec.ForString(26); - private readonly pbc::RepeatedField parameters_ = new pbc::RepeatedField(); - /// - //// A collection of strings representing the parameters. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Parameters { - get { return parameters_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ProtoStepValue); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ProtoStepValue other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (StepValue != other.StepValue) return false; - if (ParameterizedStepValue != other.ParameterizedStepValue) return false; - if(!parameters_.Equals(other.parameters_)) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (StepValue.Length != 0) hash ^= StepValue.GetHashCode(); - if (ParameterizedStepValue.Length != 0) hash ^= ParameterizedStepValue.GetHashCode(); - hash ^= parameters_.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (StepValue.Length != 0) { - output.WriteRawTag(10); - output.WriteString(StepValue); - } - if (ParameterizedStepValue.Length != 0) { - output.WriteRawTag(18); - output.WriteString(ParameterizedStepValue); - } - parameters_.WriteTo(output, _repeated_parameters_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (StepValue.Length != 0) { - output.WriteRawTag(10); - output.WriteString(StepValue); - } - if (ParameterizedStepValue.Length != 0) { - output.WriteRawTag(18); - output.WriteString(ParameterizedStepValue); - } - parameters_.WriteTo(ref output, _repeated_parameters_codec); - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (StepValue.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(StepValue); - } - if (ParameterizedStepValue.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParameterizedStepValue); - } - size += parameters_.CalculateSize(_repeated_parameters_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ProtoStepValue other) { - if (other == null) { - return; - } - if (other.StepValue.Length != 0) { - StepValue = other.StepValue; - } - if (other.ParameterizedStepValue.Length != 0) { - ParameterizedStepValue = other.ParameterizedStepValue; - } - parameters_.Add(other.parameters_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - StepValue = input.ReadString(); - break; - } - case 18: { - ParameterizedStepValue = input.ReadString(); - break; - } - case 26: { - parameters_.AddEntriesFrom(input, _repeated_parameters_codec); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - StepValue = input.ReadString(); - break; - } - case 18: { - ParameterizedStepValue = input.ReadString(); - break; - } - case 26: { - parameters_.AddEntriesFrom(ref input, _repeated_parameters_codec); - break; - } - } - } - } - #endif - - } - - #endregion - -} - -#endregion Designer generated code diff --git a/src/Gauge.CSharp.Core/TcpClientWrapper.cs b/src/Gauge.CSharp.Core/TcpClientWrapper.cs deleted file mode 100644 index 9f4c988..0000000 --- a/src/Gauge.CSharp.Core/TcpClientWrapper.cs +++ /dev/null @@ -1,41 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ -using System; -using System.IO; -using System.Net; -using System.Net.Sockets; - -namespace Gauge.CSharp.Core -{ - public class TcpClientWrapper : ITcpClientWrapper - { - private readonly TcpClient _tcpClient = new TcpClient(); - - public TcpClientWrapper(int port) - { - try - { - _tcpClient.Connect(new IPEndPoint(IPAddress.Loopback, port)); - } - catch (Exception e) - { - throw new Exception("Could not connect", e); - } - } - - public bool Connected => _tcpClient.Connected; - - public Stream GetStream() - { - return _tcpClient.GetStream(); - } - - public void Close() - { - _tcpClient.Close(); - } - } -} \ No newline at end of file diff --git a/src/Gauge.CSharp.Core/Utils.cs b/src/Gauge.CSharp.Core/Utils.cs deleted file mode 100644 index 2179427..0000000 --- a/src/Gauge.CSharp.Core/Utils.cs +++ /dev/null @@ -1,70 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ -using System; -using System.IO; - -namespace Gauge.CSharp.Core -{ - public class Utils - { - private const string GaugePortEnv = "GAUGE_INTERNAL_PORT"; - private const string GaugeApiPortEnv = "GAUGE_API_PORT"; - private const string GaugeProjectRootEnv = "GAUGE_PROJECT_ROOT"; - private const string GaugeCustomBuildPath = "GAUGE_CUSTOM_BUILD_PATH"; - - - public static int GaugePort => Convert.ToInt32(ReadEnvValue(GaugePortEnv)); - - public static string GaugeProjectRoot => ReadEnvValue(GaugeProjectRootEnv); - - public static int GaugeApiPort => Convert.ToInt32(ReadEnvValue(GaugeApiPortEnv)); - - public static string ReadEnvValue(string env) - { - var envValue = TryReadEnvValue(env); - if (envValue == null) - throw new Exception(env + " is not set"); - return envValue; - } - - public static string TryReadEnvValue(string env) - { - if (env == null) - throw new ArgumentNullException("env"); - - var envValue = Environment.GetEnvironmentVariable(env.ToUpper()); - if (string.IsNullOrEmpty(envValue)) - { - envValue = Environment.GetEnvironmentVariable(env.ToLower()); - if (string.IsNullOrEmpty(envValue)) return null; - } - return envValue; - } - - public static string GetGaugeBinDir() - { - var customBuildPath = TryReadEnvValue(GaugeCustomBuildPath); - if (string.IsNullOrEmpty(customBuildPath)) - return Path.Combine(GaugeProjectRoot, "gauge_bin"); - try - { - return IsAbsoluteUrl(customBuildPath) - ? customBuildPath - : Path.Combine(GaugeProjectRoot, customBuildPath); - } - catch (Exception) - { - return Path.Combine(GaugeProjectRoot, "gauge_bin"); - } - } - - public static bool IsAbsoluteUrl(string url) - { - Uri result; - return Uri.TryCreate(url, UriKind.Absolute, out result); - } - } -} \ No newline at end of file diff --git a/src/Gauge.Dotnet.csproj b/src/Gauge.Dotnet.csproj index 8cbc2a5..fc013a3 100644 --- a/src/Gauge.Dotnet.csproj +++ b/src/Gauge.Dotnet.csproj @@ -1,45 +1,44 @@ - + - - Exe - net6.0;net7.0;net8.0 - Runner.NetCore30 - The Gauge Team - 0.6.0 - ThoughtWorks Inc. - Gauge - C# runner for Gauge. https://gauge.org - "Copyright © ThoughtWorks Inc 2017" - https://github.com/getgauge/gauge-dotnet/blob/master/License.txt - https://github.com/getgauge/gauge-dotnet - https://raw.githubusercontent.com/getgauge/gauge-csharp/master/logo-64x64.png - https://github.com/getgauge/gauge-dotnet - + + Exe + net6.0;net7.0;net8.0 + enable + Runner.NetCore30 + The Gauge Team + 0.7.0 + ThoughtWorks Inc. + Gauge + C# runner for Gauge. https://gauge.org + "Copyright © ThoughtWorks Inc 2017" + https://github.com/getgauge/gauge-dotnet/blob/master/License.txt + https://github.com/getgauge/gauge-dotnet + https://raw.githubusercontent.com/getgauge/gauge-csharp/master/logo-64x64.png + https://github.com/getgauge/gauge-dotnet + + + + + + + + + - - - - - + + + + + - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - + + + + + - - - + + + diff --git a/src/GaugeCommandFactory.cs b/src/GaugeCommandFactory.cs deleted file mode 100644 index ea74bf0..0000000 --- a/src/GaugeCommandFactory.cs +++ /dev/null @@ -1,22 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - -namespace Gauge.Dotnet -{ - public class GaugeCommandFactory - { - public static IGaugeCommand GetExecutor(string phase) - { - switch (phase) - { - case "--init": - return new SetupCommand(); - default: - return new StartCommand(new GaugeProjectBuilder(), typeof(GaugeListener)); - } - } - } -} \ No newline at end of file diff --git a/src/GaugeListener.cs b/src/GaugeListener.cs deleted file mode 100644 index b08082d..0000000 --- a/src/GaugeListener.cs +++ /dev/null @@ -1,124 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using System; -using Gauge.CSharp.Core; -using Gauge.Dotnet.Executor; -using Gauge.Dotnet.Wrappers; -using Microsoft.AspNetCore.Builder; -using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.AspNetCore.Hosting.Server.Features; -using System.Linq; -using Gauge.Dotnet.Models; -using Microsoft.Extensions.Logging; - -namespace Gauge.Dotnet -{ - public class GaugeListener - { - private readonly string STREAMS_COUNT_ENV = "GAUGE_PARALLEL_STREAMS_COUNT"; - private readonly string ENABLE_MULTITHREADING_ENV = "enable_multithreading"; - public GaugeListener(IConfiguration configuration) - { - Configuration = configuration; - } - - public IConfiguration Configuration { get; } - - public virtual void ConfigureServices(IServiceCollection services) - { - var assemblyPath = new AssemblyLocater(new DirectoryWrapper()).GetTestAssembly(); - Logger.Debug($"Loading assembly from : {assemblyPath}"); - services.AddGrpc(); - services.AddLogging(logConfig => - { - logConfig.SetMinimumLevel(LogLevel.Error); - var logLevel = Utils.TryReadEnvValue("GAUGE_LOG_LEVEL"); - if (logLevel != null && logLevel.ToUpper() == "DEBUG") - { - logConfig.SetMinimumLevel(LogLevel.Debug); - } - }); - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(new ExecutorPool(GetNoOfStreams(), IsMultithreading())); - services.AddSingleton((sp) => - { - var isDaemon = string.Compare(Environment.GetEnvironmentVariable("IS_DAEMON"), "true", true) == 0; - return isDaemon ? new LockFreeGaugeLoadContext(assemblyPath) : new GaugeLoadContext(assemblyPath); - }); - services.AddSingleton(s => assemblyPath); - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(s => s.GetRequiredService().GetStepRegistry()); - - if (Configuration.GetValue("ReflectionScanAssemblies") == "True") - { - Logger.Debug("Using ExecutableRunnerServiceHandler"); - services.AddSingleton(); - } - else - { - Logger.Debug("Using AuthoringRunnerServiceHandler"); - services.AddSingleton(); - } - } - - public virtual void Configure(IApplicationBuilder app, IHostApplicationLifetime lifetime) - { - app.UseRouting(); - lifetime.ApplicationStarted.Register(() => - { - var ports = app.ServerFeatures - .Get().Addresses - .Select(x => new Uri(x).Port).Distinct(); - foreach (var port in ports) - { - Console.WriteLine($"Listening on port:{port}"); - } - }); - - app.UseEndpoints(endpoints => - { - endpoints.MapGrpcService(); - }); - } - - private int GetNoOfStreams() - { - int numberOfStreams = 1; - if (IsMultithreading()) - { - String streamsCount = Utils.TryReadEnvValue(STREAMS_COUNT_ENV); - try - { - numberOfStreams = int.Parse(streamsCount); - Logger.Debug("multithreading enabled, number of threads=" + numberOfStreams); - } - catch (Exception e) - { - Logger.Debug("multithreading enabled, but could not read " + STREAMS_COUNT_ENV + " as int. Got " + STREAMS_COUNT_ENV + "=" + streamsCount); - Logger.Debug("using numberOfStreams=1, err: " + e.Message); - } - } - return numberOfStreams; - } - - private bool IsMultithreading() - { - var multithreaded = Environment.GetEnvironmentVariable(ENABLE_MULTITHREADING_ENV); - if (String.IsNullOrEmpty(multithreaded)) - return false; - return Boolean.Parse(multithreaded); - } - - } -} \ No newline at end of file diff --git a/src/GaugeLoadContext.cs b/src/GaugeLoadContext.cs index 4dac321..48e5765 100644 --- a/src/GaugeLoadContext.cs +++ b/src/GaugeLoadContext.cs @@ -4,37 +4,36 @@ * See LICENSE.txt in the project root for license information. *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; using System.Reflection; using System.Runtime.Loader; -namespace Gauge.Dotnet +namespace Gauge.Dotnet; + +public class GaugeLoadContext : AssemblyLoadContext, IGaugeLoadContext { - public class GaugeLoadContext: AssemblyLoadContext, IGaugeLoadContext - { - private const string GaugeLibAssemblyName = "Gauge.CSharp.Lib"; - protected AssemblyDependencyResolver _resolver; + private const string GaugeLibAssemblyName = "Gauge.CSharp.Lib"; + protected readonly ILogger _logger; + protected AssemblyDependencyResolver _resolver; - public GaugeLoadContext(string pluginPath) - { - _resolver = new AssemblyDependencyResolver(pluginPath); - } + public GaugeLoadContext(IAssemblyLocater locater, ILogger logger) + { + _resolver = new AssemblyDependencyResolver(locater.GetTestAssembly()); + _logger = logger; + } - public IEnumerable GetAssembliesReferencingGaugeLib() - { - return this.Assemblies.Where(a => a.GetReferencedAssemblies().Any(a => a.Name == GaugeLibAssemblyName)); - } + public IEnumerable GetAssembliesReferencingGaugeLib() + { + return Assemblies.Where(a => a.GetReferencedAssemblies().Any(a => a.Name == GaugeLibAssemblyName)); + } - protected override Assembly Load(AssemblyName assemblyName) + protected override Assembly Load(AssemblyName assemblyName) + { + var assemblyPath = _resolver.ResolveAssemblyToPath(assemblyName); + _logger.LogDebug("Try load {AssemblyName} in GaugeLoadContext", assemblyName.Name); + if (assemblyPath != null) { - var assemblyPath = _resolver.ResolveAssemblyToPath(assemblyName); - Logger.Debug($"Try load {assemblyName.Name} in GaugeLoadContext"); - if (assemblyPath != null) - { - return LoadFromAssemblyPath(assemblyPath); - } - return null; + return LoadFromAssemblyPath(assemblyPath); } + return null; } } \ No newline at end of file diff --git a/src/GaugeLoggingFormatter.cs b/src/GaugeLoggingFormatter.cs new file mode 100644 index 0000000..0ac8ea4 --- /dev/null +++ b/src/GaugeLoggingFormatter.cs @@ -0,0 +1,54 @@ +using System.Text.Json; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.Logging.Console; +using Microsoft.Extensions.Options; + +namespace Gauge.Dotnet; + +public sealed class GaugeLoggingFormatter : ConsoleFormatter, IDisposable +{ + private readonly IDisposable _optionsReloadToken; + private ConsoleFormatterOptions _formatterOptions; + + public GaugeLoggingFormatter(IOptionsMonitor options) + : base(nameof(GaugeLoggingFormatter)) + { + _optionsReloadToken = options.OnChange(ReloadLoggerOptions); + _formatterOptions = options.CurrentValue; + } + + private void ReloadLoggerOptions(ConsoleFormatterOptions options) => _formatterOptions = options; + + public override void Write(in LogEntry logEntry, IExternalScopeProvider scopeProvider, TextWriter textWriter) + { + string message = logEntry.Formatter?.Invoke(logEntry.State, logEntry.Exception); + + if (message is null) + { + return; + } + + var entry = new GaugeLogEntry(GetGaugeLogLevel(logEntry.LogLevel), message); + var entryString = JsonSerializer.Serialize(entry); + + textWriter.WriteLine(entryString); + } + + private string GetGaugeLogLevel(LogLevel level) + { + return level switch + { + LogLevel.Debug => "debug", + LogLevel.Trace => "debug", + LogLevel.Information => "info", + LogLevel.Warning => "warning", + LogLevel.Error => "error", + LogLevel.Critical => "fatal", + _ => "info" + }; + } + + public void Dispose() => _optionsReloadToken?.Dispose(); + + private record GaugeLogEntry(string logLevel, string message); +} diff --git a/src/GaugeProjectBuilder.cs b/src/GaugeProjectBuilder.cs index 8ea672f..a4f9d0d 100644 --- a/src/GaugeProjectBuilder.cs +++ b/src/GaugeProjectBuilder.cs @@ -5,28 +5,43 @@ *----------------------------------------------------------------*/ -using System; using System.Diagnostics; using System.Runtime.InteropServices; -using Gauge.CSharp.Core; +using Gauge.Dotnet.Exceptions; +using Gauge.Dotnet.Extensions; -namespace Gauge.Dotnet +namespace Gauge.Dotnet; + +public class GaugeProjectBuilder : IGaugeProjectBuilder { - public class GaugeProjectBuilder : IGaugeProjectBuilder + private readonly IConfiguration _config; + private readonly ILogger _logger; + + public GaugeProjectBuilder(IConfiguration config, ILogger logger) { - public bool BuildTargetGaugeProject() + _config = config; + _logger = logger; + } + + public bool BuildTargetGaugeProject() + { + var customBuildPath = _config.GetGaugeCustomBuildPath(); + if (!string.IsNullOrEmpty(customBuildPath)) + return true; + + try { - var gaugeBinDir = Utils.GetGaugeBinDir(); - var csprojEnvVariable = Utils.TryReadEnvValue("GAUGE_CSHARP_PROJECT_FILE"); - var additionalBuildArgs = Utils.TryReadEnvValue("GAUGE_DOTNET_BUILD_ARGS"); - var runtime = Utils.TryReadEnvValue("GAUGE_DOTNET_RUNTIME"); + var gaugeBinDir = _config.GetGaugeBinDir(); + var csprojEnvVariable = _config.GetGaugeCSharpProjectFile(); + var additionalBuildArgs = _config.GetGaugeCSharpBuildArgs(); + var runtime = _config.GetGaugeCSharpRuntime(); if (string.IsNullOrEmpty(runtime)) { runtime = $"{GetOS()}-{GetArch()}"; } - var configurationEnvVariable = ReadBuildConfiguration(); + var configurationEnvVariable = _config.GetGaugeCSharpConfig(); var commandArgs = $"publish --runtime={runtime} --no-self-contained --configuration={configurationEnvVariable} --output=\"{gaugeBinDir}\" {additionalBuildArgs}"; if (!string.IsNullOrEmpty(csprojEnvVariable)) @@ -34,66 +49,72 @@ public bool BuildTargetGaugeProject() commandArgs = $"{commandArgs} \"{csprojEnvVariable}\""; } - var logLevel = Utils.TryReadEnvValue("GAUGE_LOG_LEVEL"); + var logLevel = _config.GetGaugeLogLevel(); if (string.Compare(logLevel, "DEBUG", true) != 0) { commandArgs = $"{commandArgs} --verbosity=quiet"; } - if(RunDotnetCommand(commandArgs) !=0) + if (RunDotnetCommand(commandArgs) != 0) { throw new Exception($"dotnet Project build failed.\nRan 'dotnet {commandArgs}'"); } return true; } - - private static int RunDotnetCommand(string args) + catch (NotAValidGaugeProjectException) + { + _logger.LogCritical("Cannot locate a Project File in {ProjectRoot}", _config.GetGaugeProjectRoot()); + throw; + } + catch (Exception ex) { - var startInfo = new ProcessStartInfo + if (!_config.IgnoreBuildFailures()) { - WorkingDirectory = Utils.GaugeProjectRoot, - FileName = "dotnet", - Arguments = args - }; - var buildProcess = new Process {EnableRaisingEvents = true, StartInfo = startInfo}; - buildProcess.OutputDataReceived += (sender, e) => { Logger.Debug(e.Data); }; - buildProcess.ErrorDataReceived += (sender, e) => { Logger.Error(e.Data); }; - buildProcess.Start(); - buildProcess.WaitForExit(); - return buildProcess.ExitCode; + _logger.LogCritical("Unable to build Project in {ProjectRoot}\n{Message}\n{StackTrace}", _config.GetGaugeProjectRoot(), ex.Message, ex.StackTrace); + throw; + } + return false; } + } - private static string ReadBuildConfiguration() + private int RunDotnetCommand(string args) + { + var startInfo = new ProcessStartInfo { - var configurationEnvVariable = Utils.TryReadEnvValue("GAUGE_CSHARP_PROJECT_CONFIG"); - if (string.IsNullOrEmpty(configurationEnvVariable)) configurationEnvVariable = "release"; + WorkingDirectory = _config.GetGaugeProjectRoot(), + FileName = "dotnet", + Arguments = args + }; + var buildProcess = new Process { EnableRaisingEvents = true, StartInfo = startInfo }; + buildProcess.OutputDataReceived += (sender, e) => { _logger.LogDebug(e.Data); }; + buildProcess.ErrorDataReceived += (sender, e) => { _logger.LogError(e.Data); }; + buildProcess.Start(); + buildProcess.WaitForExit(); + return buildProcess.ExitCode; + } - return configurationEnvVariable; + private static string GetOS() + { + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + return "win"; } - - private static string GetOS() + if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { - return "win"; - } - if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) - { - return "linux"; - } - if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) - { - return "osx"; - } - return null; + return "linux"; } - - private static string GetArch() + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { - return RuntimeInformation.ProcessArchitecture.ToString().ToLower(); + return "osx"; } + return null; + } + private static string GetArch() + { + return RuntimeInformation.ProcessArchitecture.ToString().ToLower(); } + } \ No newline at end of file diff --git a/src/Helpers/FileHelper.cs b/src/Helpers/FileHelper.cs index 1e494f9..82480ce 100644 --- a/src/Helpers/FileHelper.cs +++ b/src/Helpers/FileHelper.cs @@ -4,69 +4,26 @@ * See LICENSE.txt in the project root for license information. *----------------------------------------------------------------*/ - - -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using Gauge.CSharp.Core; using Gauge.Dotnet.Extensions; -namespace Gauge.Dotnet.Helpers +namespace Gauge.Dotnet.Helpers; + +public static class FileHelper { - public class FileHelper + public static IEnumerable GetRemovedDirFiles(IConfiguration config) { - public static IEnumerable GetImplementationFiles() - { - var classFiles = Directory.EnumerateFiles(Utils.GaugeProjectRoot, "*.cs", SearchOption.AllDirectories) - .ToList(); - - var attributes = new AttributesLoader().GetRemovedAttributes(); - foreach (var attribute in attributes) - classFiles.Remove(Path.Combine(Utils.GaugeProjectRoot, attribute.Value)); - - var removedFiles = GetRemovedDirFiles(); - return classFiles.Except(removedFiles); - } - - public static IEnumerable GetRemovedDirFiles() - { - var removedFiles = new List(); - var excludedDirs = Environment.GetEnvironmentVariable("gauge_exclude_dirs"); - if (excludedDirs == null) return removedFiles; - - var excludedDir = excludedDirs.Split(",").Select(dir => dir.Trim()).ToList(); - foreach (var dir in excludedDir) - { - var dirpath = Path.Combine(Utils.GaugeProjectRoot, dir); - if (!Directory.Exists(dirpath)) continue; - removedFiles.AddRange(Directory.EnumerateFiles(dirpath, "*.cs", - SearchOption.AllDirectories)); - } - return removedFiles; - } - - public static string GetImplementationGlobPatterns() - { - return $"{Utils.GaugeProjectRoot}/**/*.cs"; - } - - public static string GetNameSpace() - { - var gaugeProjectRoot = Utils.GaugeProjectRoot; - return new DirectoryInfo(gaugeProjectRoot).Name.ToValidCSharpIdentifier(); - } - - public static string GetFileName(string suffix, int counter) - { - var fileName = Path.Combine(Utils.GaugeProjectRoot, $"StepImplementation{suffix}.cs"); - return !File.Exists(fileName) ? fileName : GetFileName((++counter).ToString(), counter); - } + var removedFiles = new List(); + var excludedDirs = config.GetGaugeExcludeDirs(); + if (excludedDirs == null) return removedFiles; - public static string GetClassName(string filepath) + var excludedDir = excludedDirs.Split(",").Select(dir => dir.Trim()).ToList(); + foreach (var dir in excludedDir) { - return Path.GetFileNameWithoutExtension(filepath); + var dirpath = Path.Combine(config.GetGaugeProjectRoot(), dir); + if (!Directory.Exists(dirpath)) continue; + removedFiles.AddRange(Directory.EnumerateFiles(dirpath, "*.cs", + SearchOption.AllDirectories)); } + return removedFiles; } } \ No newline at end of file diff --git a/src/HookExecutor.cs b/src/HookExecutor.cs deleted file mode 100644 index c71b831..0000000 --- a/src/HookExecutor.cs +++ /dev/null @@ -1,133 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using Gauge.Dotnet.Models; -using Gauge.Dotnet.Strategy; -using Gauge.Dotnet.Wrappers; -using Gauge.Messages; -using Gauge.CSharp.Lib.Attribute; - -namespace Gauge.Dotnet -{ - public class HookExecutor : MethodExecutor, IHookExecutor - { - private readonly IAssemblyLoader _assemblyLoader; - private IHookRegistry _registry; - private IExecutionInfoMapper _executionInfoMapper; - - public HookExecutor(IAssemblyLoader assemblyLoader, IReflectionWrapper reflectionWrapper, - object classInstanceManager, IExecutionInfoMapper mapper) : - base(assemblyLoader.ClassInstanceManagerType, reflectionWrapper, classInstanceManager) - { - _assemblyLoader = assemblyLoader; - _registry = new HookRegistry(assemblyLoader); - _executionInfoMapper = mapper; - } - - public ExecutionResult Execute(string hookType, IHooksStrategy strategy, IList applicableTags, - ExecutionInfo info) - { - var methods = GetHookMethods(hookType, strategy, applicableTags); - var executionResult = new ExecutionResult - { - Success = true, - SkipScenario = false - }; - foreach (var method in methods) - { - var methodInfo = _registry.MethodFor(method); - try - { - var context = _executionInfoMapper.ExecutionContextFrom(info); - ExecuteHook(methodInfo, context); - } - catch (Exception ex) - { - var baseException = ex.GetBaseException(); - if (baseException != null && - baseException.GetType().Name.Contains("SkipScenario", StringComparison.OrdinalIgnoreCase)) { - Logger.Debug($"Skipping scenario when executing hook: {methodInfo.DeclaringType.FullName}.{methodInfo.Name} : {baseException.Message}"); - executionResult.StackTrace = baseException.StackTrace; - executionResult.ExceptionMessage = baseException.Message; - executionResult.Source = baseException.Source; - executionResult.Success = true; - executionResult.SkipScenario = true; - } - else { - Logger.Debug($"{hookType} Hook execution failed : {methodInfo.DeclaringType.FullName}.{methodInfo.Name}"); - var innerException = ex.InnerException ?? ex; - executionResult.ExceptionMessage = innerException.Message; - executionResult.StackTrace = innerException.StackTrace; - executionResult.Source = innerException.Source; - executionResult.Success = false; - } - } - } - - return executionResult; - } - - private void ExecuteHook(MethodInfo method, params object[] objects) - { - if (HasArguments(method, objects)) - Execute(method, objects); - else - Execute(method); - } - - - private static bool HasArguments(MethodInfo method, object[] args) - { - if (method.GetParameters().Length != args.Length) - return false; - return !args.Where((t, i) => t.GetType() != method.GetParameters()[i].ParameterType).Any(); - } - - - private IEnumerable GetHookMethods(string hookType, IHooksStrategy strategy, - IEnumerable applicableTags) - { - var hooksFromRegistry = GetHooksFromRegistry(hookType); - return strategy.GetApplicableHooks(applicableTags, hooksFromRegistry); - } - - - private IEnumerable GetHooksFromRegistry(string hookType) - { - _registry = _registry ?? new HookRegistry(_assemblyLoader); - switch (hookType) - { - case "BeforeSuite": - return _registry.BeforeSuiteHooks; - case "BeforeSpec": - return _registry.BeforeSpecHooks; - case "BeforeScenario": - return _registry.BeforeScenarioHooks; - case "BeforeStep": - return _registry.BeforeStepHooks; - case "AfterStep": - return _registry.AfterStepHooks; - case "BeforeConcept": - return _registry.BeforeConceptHooks; - case "AfterConcept": - return _registry.AfterConceptHooks; - case "AfterScenario": - return _registry.AfterScenarioHooks; - case "AfterSpec": - return _registry.AfterSpecHooks; - case "AfterSuite": - return _registry.AfterSuiteHooks; - default: - return null; - } - } - } -} \ No newline at end of file diff --git a/src/IAssemblyLoader.cs b/src/IAssemblyLoader.cs index cb5491a..536992e 100644 --- a/src/IAssemblyLoader.cs +++ b/src/IAssemblyLoader.cs @@ -5,21 +5,18 @@ *----------------------------------------------------------------*/ -using System; -using System.Collections.Generic; using System.Reflection; using Gauge.Dotnet.Models; -namespace Gauge.Dotnet +namespace Gauge.Dotnet; + +public interface IAssemblyLoader { - public interface IAssemblyLoader - { - List AssembliesReferencingGaugeLib { get; } - Type ScreenshotWriter { get; } - Type ClassInstanceManagerType { get; } - IEnumerable GetMethods(LibType type); - Type GetLibType(LibType type); - IStepRegistry GetStepRegistry(); - object GetClassInstanceManager(); - } + List AssembliesReferencingGaugeLib { get; } + Type ScreenshotWriter { get; } + Type ClassInstanceManagerType { get; } + IEnumerable GetMethods(LibType type); + Type GetLibType(LibType type); + IStepRegistry GetStepRegistry(); + object GetClassInstanceManager(); } \ No newline at end of file diff --git a/src/IAssemblyLocater.cs b/src/IAssemblyLocater.cs index 0180281..122ae36 100644 --- a/src/IAssemblyLocater.cs +++ b/src/IAssemblyLocater.cs @@ -4,10 +4,9 @@ * See LICENSE.txt in the project root for license information. *----------------------------------------------------------------*/ -namespace Gauge.Dotnet +namespace Gauge.Dotnet; + +public interface IAssemblyLocater { - public interface IAssemblyLocater - { - AssemblyPath GetTestAssembly(); - } + string GetTestAssembly(); } \ No newline at end of file diff --git a/src/IExecutionOrchestrator.cs b/src/IExecutionOrchestrator.cs deleted file mode 100644 index e67f516..0000000 --- a/src/IExecutionOrchestrator.cs +++ /dev/null @@ -1,29 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using System.Collections.Generic; -using Gauge.Dotnet.Models; -using Gauge.Dotnet.Strategy; -using Gauge.Messages; - -namespace Gauge.Dotnet -{ - public interface IExecutionOrchestrator - { - ProtoExecutionResult ExecuteStep(GaugeMethod method, params string[] args); - - ProtoExecutionResult ExecuteHooks(string hookType, HooksStrategy strategy, IList applicableTags, - ExecutionInfo context); - void ClearCache(); - - void StartExecutionScope(string tag); - void CloseExecutionScope(); - IEnumerable GetAllPendingMessages(); - IEnumerable GetAllPendingScreenshotFiles(); - - } -} \ No newline at end of file diff --git a/src/IGaugeCommand.cs b/src/IGaugeCommand.cs deleted file mode 100644 index adfc7d4..0000000 --- a/src/IGaugeCommand.cs +++ /dev/null @@ -1,16 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using System.Threading.Tasks; - -namespace Gauge.Dotnet -{ - public interface IGaugeCommand - { - Task Execute(); - } -} \ No newline at end of file diff --git a/src/LibType.cs b/src/LibType.cs index e67d5fb..6375bcd 100644 --- a/src/LibType.cs +++ b/src/LibType.cs @@ -4,9 +4,6 @@ * See LICENSE.txt in the project root for license information. *----------------------------------------------------------------*/ - -using System.Collections.Generic; - namespace Gauge.Dotnet { public enum LibType diff --git a/src/LockFreeGaugeLoadContext.cs b/src/LockFreeGaugeLoadContext.cs index 867b8b9..921b0fc 100644 --- a/src/LockFreeGaugeLoadContext.cs +++ b/src/LockFreeGaugeLoadContext.cs @@ -6,33 +6,33 @@ using System.Reflection; -namespace Gauge.Dotnet +namespace Gauge.Dotnet; + +/* NOTE: LockFreeGaugeLoadContext is required because GaugeLoadContext uses +// AssemblyLoadContext.LoadFromAssemblyPath which holds a filesystem lock +// on the assembly file. This causes Run/Debug to fail because these +// actions run as separate process and cannot write to build output dir. +// GaugeLoadContext is also required because certain assemblies are shipped +// with runtime specific artifacts, and loading raw bytes is risky, can +// cause BadImageFormatException at runtime. */ +public class LockFreeGaugeLoadContext : GaugeLoadContext { - /* NOTE: LockFreeGaugeLoadContext is required because GaugeLoadContext uses - // AssemblyLoadContext.LoadFromAssemblyPath which holds a filesystem lock - // on the assembly file. This causes Run/Debug to fail because these - // actions run as separate process and cannot write to build output dir. - // GaugeLoadContext is also required because certain assemblies are shipped - // with runtime specific artifacts, and loading raw bytes is risky, can - // cause BadImageFormatException at runtime. */ - public class LockFreeGaugeLoadContext : GaugeLoadContext + public LockFreeGaugeLoadContext(IAssemblyLocater locater, ILogger logger) + : base(locater, logger) { - public LockFreeGaugeLoadContext(string pluginPath) : base(pluginPath) - { - } + } - protected override Assembly Load(AssemblyName assemblyName) + protected override Assembly Load(AssemblyName assemblyName) + { + var assemblyPath = _resolver.ResolveAssemblyToPath(assemblyName); + _logger.LogDebug("Try load {AssemblyName} in LockFreeGaugeLoadContext", assemblyName.Name); + if (assemblyPath != null) { - var assemblyPath = _resolver.ResolveAssemblyToPath(assemblyName); - Logger.Debug($"Try load {assemblyName.Name} in LockFreeGaugeLoadContext"); - if (assemblyPath != null) + using (var fileStream = System.IO.File.OpenRead(assemblyPath)) { - using (var fileStream = System.IO.File.OpenRead(assemblyPath)) - { - return LoadFromStream(fileStream); - } + return LoadFromStream(fileStream); } - return null; } + return null; } } \ No newline at end of file diff --git a/src/Logger.cs b/src/Logger.cs deleted file mode 100644 index beea544..0000000 --- a/src/Logger.cs +++ /dev/null @@ -1,75 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - -using System; -using System.IO; -using System.Runtime.Serialization; -using System.Runtime.Serialization.Json; -using System.Text; - -namespace Gauge.Dotnet -{ - internal class Logger - { - public static string SerializeLogInfo(LogInfo logInfo) - { - var serializer = new DataContractJsonSerializer(typeof(LogInfo)); - using (var memoryStream = new MemoryStream()) - { - serializer.WriteObject(memoryStream, logInfo); - return Encoding.UTF8.GetString(memoryStream.ToArray()); - } - } - private static void print(String level, String messsage, Boolean isError = false) - { - var l = new LogInfo(); - l.logLevel = level; - l.message = messsage; - var data = SerializeLogInfo(l); - if (isError) - { - Console.Error.WriteLine(data); - } - else - { - Console.Out.WriteLine(data); - } - } - - internal static void Info(String message) - { - print("info", message); - } - internal static void Debug(String message) - { - print("debug", message); - } - internal static void Warning(String message) - { - print("warning", message); - } - internal static void Error(String message) - { - print("error", message, true); - } - internal static void Fatal(String message) - { - print("fatal", message, true); - Environment.Exit(1); - } - } - - [DataContract] - internal class LogInfo - { - [DataMember] - public String logLevel { get; set; } - - [DataMember] - public String message { get; set; } - - } -} \ No newline at end of file diff --git a/src/MethodExecutor.cs b/src/MethodExecutor.cs deleted file mode 100644 index c74dc71..0000000 --- a/src/MethodExecutor.cs +++ /dev/null @@ -1,44 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using System; -using System.Reflection; -using Gauge.Dotnet.Wrappers; - -namespace Gauge.Dotnet -{ - public class MethodExecutor - { - private readonly object _classInstanceManager; - private readonly Type _classInstanceManagerType; - private readonly IReflectionWrapper _reflectionWrapper; - - - protected MethodExecutor(Type type, - IReflectionWrapper reflectionWrapper, object classInstanceManager) - { - _classInstanceManagerType = type; - _reflectionWrapper = reflectionWrapper; - _classInstanceManager = classInstanceManager; - } - - protected void Execute(MethodInfo method, params object[] parameters) - { - var typeToLoad = method.DeclaringType; - var instance = - _reflectionWrapper.InvokeMethod(_classInstanceManagerType, _classInstanceManager, "Get", typeToLoad); - if (instance == null) - { - var error = "Could not load instance type: " + typeToLoad; - Logger.Error(error); - throw new TypeLoadException(error); - } - - _reflectionWrapper.Invoke(method, instance, parameters); - } - } -} \ No newline at end of file diff --git a/src/Models/IStepRegistry.cs b/src/Models/IStepRegistry.cs index 804ae2b..97777ca 100644 --- a/src/Models/IStepRegistry.cs +++ b/src/Models/IStepRegistry.cs @@ -4,22 +4,21 @@ * See LICENSE.txt in the project root for license information. *----------------------------------------------------------------*/ -using System.Collections.Generic; using static Gauge.Messages.StepPositionsResponse.Types; -namespace Gauge.Dotnet.Models +namespace Gauge.Dotnet.Models; + +public interface IStepRegistry { - public interface IStepRegistry - { - bool ContainsStep(string parsedStepText); - GaugeMethod MethodFor(string parsedStepText); - bool HasAlias(string stepText); - string GetStepText(string parameterizedStepText); - IEnumerable GetStepTexts(); - bool HasMultipleImplementations(string parsedStepText); - void AddStep(string stepValue, GaugeMethod stepMethod); - void RemoveSteps(string filepath); - IEnumerable GetStepPositions(string filePath); - bool IsFileCached(string file); - } + bool ContainsStep(string parsedStepText); + GaugeMethod MethodFor(string parsedStepText); + bool HasAlias(string stepText); + string GetStepText(string parameterizedStepText); + IEnumerable GetStepTexts(); + bool HasMultipleImplementations(string parsedStepText); + void AddStep(string stepValue, GaugeMethod stepMethod); + void RemoveSteps(string filepath); + IEnumerable GetStepPositions(string filePath); + bool IsFileCached(string file); + int Count { get; } } \ No newline at end of file diff --git a/src/Models/StepRegistry.cs b/src/Models/StepRegistry.cs index eca789b..bcca427 100644 --- a/src/Models/StepRegistry.cs +++ b/src/Models/StepRegistry.cs @@ -4,120 +4,118 @@ * See LICENSE.txt in the project root for license information. *----------------------------------------------------------------*/ -using System; -using System.Collections.Generic; -using System.Linq; using Gauge.Messages; using static Gauge.Messages.StepPositionsResponse.Types; -namespace Gauge.Dotnet.Models +namespace Gauge.Dotnet.Models; + +[Serializable] +public class StepRegistry : IStepRegistry { - [Serializable] - public class StepRegistry : IStepRegistry + private Dictionary> _registry; + + public StepRegistry() { - private Dictionary> _registry; + _registry = new Dictionary>(); + } - public StepRegistry() - { - _registry = new Dictionary>(); - } + public int Count => _registry.Count; - public IEnumerable GetStepTexts() - { - return _registry.Values.SelectMany(methods => methods.Select(method => method.StepText)); - } + public IEnumerable GetStepTexts() + { + return _registry.Values.SelectMany(methods => methods.Select(method => method.StepText)); + } - public void AddStep(string stepValue, GaugeMethod method) - { - if (!_registry.ContainsKey(stepValue)) _registry.Add(stepValue, new List()); - _registry.GetValueOrDefault(stepValue).Add(method); - } + public void AddStep(string stepValue, GaugeMethod method) + { + if (!_registry.ContainsKey(stepValue)) _registry.Add(stepValue, new List()); + _registry.GetValueOrDefault(stepValue).Add(method); + } - public void RemoveSteps(string filepath) + public void RemoveSteps(string filepath) + { + var newRegistry = new Dictionary>(); + foreach (var (key, gaugeMethods) in _registry) { - var newRegistry = new Dictionary>(); - foreach (var (key, gaugeMethods) in _registry) - { - var methods = gaugeMethods.Where(method => !filepath.Equals(method.FileName)).ToList(); - if (methods.Count > 0) newRegistry[key] = methods; - } - - _registry = newRegistry; + var methods = gaugeMethods.Where(method => !filepath.Equals(method.FileName)).ToList(); + if (methods.Count > 0) newRegistry[key] = methods; } - public IEnumerable GetStepPositions(string filePath) + _registry = newRegistry; + } + + public IEnumerable GetStepPositions(string filePath) + { + var positions = new List(); + foreach (var (stepValue, gaugeMethods) in _registry) { - var positions = new List(); - foreach (var (stepValue, gaugeMethods) in _registry) + foreach (var m in gaugeMethods) { - foreach (var m in gaugeMethods) + if (!m.IsExternal && m.FileName.Equals(filePath)) { - if (!m.IsExternal && m.FileName.Equals(filePath)) + var p = new StepPosition { - var p = new StepPosition + StepValue = stepValue, + Span = new Span { - StepValue = stepValue, - Span = new Span - { - Start = m.Span.StartLinePosition.Line + 1, - StartChar = m.Span.StartLinePosition.Character, - End = m.Span.EndLinePosition.Line + 1, - EndChar = m.Span.EndLinePosition.Character - } - }; - positions.Add(p); - } + Start = m.Span.StartLinePosition.Line + 1, + StartChar = m.Span.StartLinePosition.Character, + End = m.Span.EndLinePosition.Line + 1, + EndChar = m.Span.EndLinePosition.Character + } + }; + positions.Add(p); } } - - return positions; } + return positions; + } - public bool ContainsStep(string parsedStepText) - { - return _registry.ContainsKey(parsedStepText); - } - public bool HasMultipleImplementations(string parsedStepText) - { - return _registry[parsedStepText].Count > 1; - } + public bool ContainsStep(string parsedStepText) + { + return _registry.ContainsKey(parsedStepText); + } - public GaugeMethod MethodFor(string parsedStepText) - { - return _registry[parsedStepText][0]; - } + public bool HasMultipleImplementations(string parsedStepText) + { + return _registry[parsedStepText].Count > 1; + } - public bool HasAlias(string stepValue) - { - return _registry.ContainsKey(stepValue) && _registry.GetValueOrDefault(stepValue).FirstOrDefault().HasAlias; - } + public GaugeMethod MethodFor(string parsedStepText) + { + return _registry[parsedStepText][0]; + } - public string GetStepText(string stepValue) - { - return _registry.ContainsKey(stepValue) ? _registry[stepValue][0].StepText : string.Empty; - } + public bool HasAlias(string stepValue) + { + return _registry.ContainsKey(stepValue) && _registry.GetValueOrDefault(stepValue).FirstOrDefault().HasAlias; + } - public void Clear() - { - _registry = new Dictionary>(); - } + public string GetStepText(string stepValue) + { + return _registry.ContainsKey(stepValue) ? _registry[stepValue][0].StepText : string.Empty; + } + public void Clear() + { + _registry = new Dictionary>(); + } - public IEnumerable AllSteps() - { - return _registry.Keys; - } - public bool IsFileCached(string file) + public IEnumerable AllSteps() + { + return _registry.Keys; + } + + public bool IsFileCached(string file) + { + foreach (var gaugeMethods in _registry.Values) { - foreach (var gaugeMethods in _registry.Values) - { - if (gaugeMethods.Any(method => file.Equals(method.FileName))) - return true; - } - return false; + if (gaugeMethods.Any(method => file.Equals(method.FileName))) + return true; } + return false; } } \ No newline at end of file diff --git a/src/Processors/CacheFileProcessor.cs b/src/Processors/CacheFileProcessor.cs index 8f9eea2..11cdeec 100644 --- a/src/Processors/CacheFileProcessor.cs +++ b/src/Processors/CacheFileProcessor.cs @@ -4,56 +4,53 @@ * See LICENSE.txt in the project root for license information. *----------------------------------------------------------------*/ -using System; -using System.IO; using System.Text; using Gauge.Messages; using static Gauge.Messages.CacheFileRequest.Types; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class CacheFileProcessor : IGaugeProcessor { - public class CacheFileProcessor + private readonly IStaticLoader _loader; + + public CacheFileProcessor(IStaticLoader loader) { - private readonly IStaticLoader _loader; + _loader = loader; + } - public CacheFileProcessor(IStaticLoader loader) + public async Task Process(int stream, CacheFileRequest request) + { + var content = request.Content; + var file = request.FilePath; + var status = request.Status; + switch (status) { - _loader = loader; + case FileStatus.Changed: + case FileStatus.Opened: + _loader.ReloadSteps(content, file); + break; + case FileStatus.Created: + if (!_loader.GetStepRegistry().IsFileCached(file)) + await LoadFromDisk(file); + break; + case FileStatus.Closed: + await LoadFromDisk(file); + break; + case FileStatus.Deleted: + _loader.RemoveSteps(file); + break; + default: + throw new ArgumentOutOfRangeException(); } - public Empty Process(CacheFileRequest request) - { - var content = request.Content; - var file = request.FilePath; - var status = request.Status; - switch (status) - { - case FileStatus.Changed: - case FileStatus.Opened: - _loader.ReloadSteps(content, file); - break; - case FileStatus.Created: - if (!_loader.GetStepRegistry().IsFileCached(file)) - LoadFromDisk(file); - break; - case FileStatus.Closed: - LoadFromDisk(file); - break; - case FileStatus.Deleted: - _loader.RemoveSteps(file); - break; - default: - throw new ArgumentOutOfRangeException(); - } - - return new Empty(); - } + return new Empty(); + } - private void LoadFromDisk(string file) - { - if (!File.Exists(file)) return; - var content = File.ReadAllText(file, Encoding.UTF8); - _loader.ReloadSteps(content, file); - } + private async Task LoadFromDisk(string file) + { + if (!File.Exists(file)) return; + var content = await File.ReadAllTextAsync(file, Encoding.UTF8); + _loader.ReloadSteps(content, file); } } \ No newline at end of file diff --git a/src/Processors/ConceptExecutionEndingProcessor.cs b/src/Processors/ConceptExecutionEndingProcessor.cs index 7af3c97..65198cb 100644 --- a/src/Processors/ConceptExecutionEndingProcessor.cs +++ b/src/Processors/ConceptExecutionEndingProcessor.cs @@ -5,29 +5,27 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class ConceptExecutionEndingProcessor : TaggedHooksFirstExecutionProcessor, IGaugeProcessor { - public class ConceptExecutionEndingProcessor : TaggedHooksFirstExecutionProcessor + public ConceptExecutionEndingProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) { - public ConceptExecutionEndingProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - } + } - protected override string HookType => "AfterConcept"; + protected override string HookType => "AfterConcept"; - public ExecutionStatusResponse Process(ConceptExecutionEndingRequest request) - { - return base.ExecuteHooks(request.CurrentExecutionInfo); - } + public async Task Process(int streamId, ConceptExecutionEndingRequest request) + { + return await ExecuteHooks(streamId, request.CurrentExecutionInfo); + } - protected override List GetApplicableTags(ExecutionInfo info) - { - return info.CurrentScenario.Tags.Union(info.CurrentSpec.Tags).ToList(); - } + protected override List GetApplicableTags(ExecutionInfo info) + { + return info.CurrentScenario.Tags.Union(info.CurrentSpec.Tags).ToList(); } } \ No newline at end of file diff --git a/src/Processors/ConceptExecutionStartingProcessor.cs b/src/Processors/ConceptExecutionStartingProcessor.cs index 3f4e98c..5d788cc 100644 --- a/src/Processors/ConceptExecutionStartingProcessor.cs +++ b/src/Processors/ConceptExecutionStartingProcessor.cs @@ -5,29 +5,27 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class ConceptExecutionStartingProcessor : UntaggedHooksFirstExecutionProcessor, IGaugeProcessor { - public class ConceptExecutionStartingProcessor : UntaggedHooksFirstExecutionProcessor + public ConceptExecutionStartingProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) { - public ConceptExecutionStartingProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - } + } - protected override string HookType => "BeforeConcept"; + protected override string HookType => "BeforeConcept"; - public ExecutionStatusResponse Process(ConceptExecutionStartingRequest request) - { - return ExecuteHooks(request.CurrentExecutionInfo); - } + public async Task Process(int streamId, ConceptExecutionStartingRequest request) + { + return await ExecuteHooks(streamId, request.CurrentExecutionInfo); + } - protected override List GetApplicableTags(ExecutionInfo info) - { - return info.CurrentScenario.Tags.Union(info.CurrentSpec.Tags).ToList(); - } + protected override List GetApplicableTags(ExecutionInfo info) + { + return info.CurrentScenario.Tags.Union(info.CurrentSpec.Tags).ToList(); } } \ No newline at end of file diff --git a/src/Processors/DataStoreInitProcessorBase.cs b/src/Processors/DataStoreInitProcessorBase.cs index 4ccdce9..9d2f06b 100644 --- a/src/Processors/DataStoreInitProcessorBase.cs +++ b/src/Processors/DataStoreInitProcessorBase.cs @@ -5,53 +5,53 @@ *----------------------------------------------------------------*/ -using System; +using System.Reflection; +using Gauge.CSharp.Lib; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public abstract class DataStoreInitProcessorBase { - public abstract class DataStoreInitProcessorBase - { - private readonly IAssemblyLoader _assemblyLoader; - private readonly DataStoreType _dataStoreType; + private readonly IAssemblyLoader _assemblyLoader; + private readonly DataStoreType _dataStoreType; - protected DataStoreInitProcessorBase(IAssemblyLoader assemblyLoader, DataStoreType type) - { - _assemblyLoader = assemblyLoader; - _dataStoreType = type; - } + protected DataStoreInitProcessorBase(DataStoreType type, IAssemblyLoader assemblyLoader) + { + _dataStoreType = type; + _assemblyLoader = assemblyLoader; + } - public ExecutionStatusResponse Process() + protected ExecutionStatusResponse Process(int stream) + { + try { - try + var factoryType = _assemblyLoader.GetLibType(LibType.DataStoreFactory); + var methodInfo = factoryType.GetMethod("AddDataStore", BindingFlags.NonPublic | BindingFlags.Static); + methodInfo.Invoke(null, new object[] { stream, _dataStoreType }); + return new ExecutionStatusResponse { - var initMethod = _assemblyLoader.GetLibType(LibType.DataStoreFactory) - .GetMethod($"Initialize{_dataStoreType}DataStore"); - initMethod.Invoke(null, null); - return new ExecutionStatusResponse + ExecutionResult = new ProtoExecutionResult { - ExecutionResult = new ProtoExecutionResult - { - Failed = false, - ExecutionTime = 0 - } - }; - } - catch (Exception ex) + Failed = false, + ExecutionTime = 0 + } + }; + } + catch (Exception ex) + { + var executionResult = new ProtoExecutionResult { - var executionResult = new ProtoExecutionResult - { - Failed = true, - ExecutionTime = 0 - }; - var innerException = ex.InnerException ?? ex; - executionResult.ErrorMessage = innerException.Message; - executionResult.StackTrace = innerException is AggregateException - ? innerException.ToString() - : innerException.StackTrace; + Failed = true, + ExecutionTime = 0 + }; + var innerException = ex.InnerException ?? ex; + executionResult.ErrorMessage = innerException.Message; + executionResult.StackTrace = innerException is AggregateException + ? innerException.ToString() + : innerException.StackTrace; - return new ExecutionStatusResponse { ExecutionResult = executionResult }; - } + return new ExecutionStatusResponse { ExecutionResult = executionResult }; } } } \ No newline at end of file diff --git a/src/Processors/DataStoreType.cs b/src/Processors/DataStoreType.cs deleted file mode 100644 index 1193caa..0000000 --- a/src/Processors/DataStoreType.cs +++ /dev/null @@ -1,17 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - - -namespace Gauge.Dotnet.Processors -{ - public enum DataStoreType - { - Suite, - Spec, - Scenario - } -} \ No newline at end of file diff --git a/src/Processors/DefaultProcessor.cs b/src/Processors/DefaultProcessor.cs deleted file mode 100644 index 74cf618..0000000 --- a/src/Processors/DefaultProcessor.cs +++ /dev/null @@ -1,37 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using Gauge.Messages; - -namespace Gauge.Dotnet.Processors -{ - public class DefaultProcessor : IMessageProcessor - { - public Message Process(Message request) - { - return GetResponseMessage(request); - } - - private static Message GetResponseMessage(Message request) - { - var response = new ExecutionStatusResponse - { - ExecutionResult = new ProtoExecutionResult - { - Failed = false, - ExecutionTime = 0 - } - }; - return new Message - { - MessageId = request.MessageId, - MessageType = Message.Types.MessageType.ExecutionStatusResponse, - ExecutionStatusResponse = response - }; - } - } -} \ No newline at end of file diff --git a/src/Processors/ExecuteStepProcessor.cs b/src/Processors/ExecuteStepProcessor.cs index e6b37eb..4b94d16 100644 --- a/src/Processors/ExecuteStepProcessor.cs +++ b/src/Processors/ExecuteStepProcessor.cs @@ -6,67 +6,66 @@ using System.Diagnostics; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Models; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class ExecuteStepProcessor : IGaugeProcessor { - public class ExecuteStepProcessor - { - private readonly IExecutionOrchestrator _executionOrchestrator; - private readonly IStepRegistry _stepRegistry; - private readonly ITableFormatter _tableFormatter; + private readonly IExecutionOrchestrator _executionOrchestrator; + private readonly IStepRegistry _stepRegistry; + private readonly ITableFormatter _tableFormatter; - public ExecuteStepProcessor(IStepRegistry registry, IExecutionOrchestrator executionOrchestrator, - ITableFormatter tableFormatter) - { - _stepRegistry = registry; - _tableFormatter = tableFormatter; - _executionOrchestrator = executionOrchestrator; - } + public ExecuteStepProcessor(IStepRegistry registry, IExecutionOrchestrator executionOrchestrator, + ITableFormatter tableFormatter) + { + _stepRegistry = registry; + _tableFormatter = tableFormatter; + _executionOrchestrator = executionOrchestrator; + } - [DebuggerHidden] - public ExecutionStatusResponse Process(ExecuteStepRequest request) - { - if (!_stepRegistry.ContainsStep(request.ParsedStepText)) - return ExecutionError("Step Implementation not found"); + [DebuggerHidden] + public async Task Process(int streamId, ExecuteStepRequest request) + { + if (!_stepRegistry.ContainsStep(request.ParsedStepText)) + return ExecutionError("Step Implementation not found"); - var method = _stepRegistry.MethodFor(request.ParsedStepText); + var method = _stepRegistry.MethodFor(request.ParsedStepText); - var parameters = method.ParameterCount; - var args = new string[parameters]; - var stepParameter = request.Parameters; - if (parameters != stepParameter.Count) - { - var argumentMismatchError = string.Format( - "Argument length mismatch for {0}. Actual Count: {1}, Expected Count: {2}", - request.ActualStepText, - stepParameter.Count, parameters); - return ExecutionError(argumentMismatchError); - } + var parameters = method.ParameterCount; + var args = new string[parameters]; + var stepParameter = request.Parameters; + if (parameters != stepParameter.Count) + { + var argumentMismatchError = string.Format( + "Argument length mismatch for {0}. Actual Count: {1}, Expected Count: {2}", + request.ActualStepText, + stepParameter.Count, parameters); + return ExecutionError(argumentMismatchError); + } - var validTableParamTypes = new[] - {Parameter.Types.ParameterType.Table, Parameter.Types.ParameterType.SpecialTable}; + var validTableParamTypes = new[] + {Parameter.Types.ParameterType.Table, Parameter.Types.ParameterType.SpecialTable}; - for (var i = 0; i < parameters; i++) - args[i] = validTableParamTypes.Contains(stepParameter[i].ParameterType) - ? _tableFormatter.GetJSON(stepParameter[i].Table) - : stepParameter[i].Value; - var protoExecutionResult = _executionOrchestrator.ExecuteStep(method, args); - return new ExecutionStatusResponse { ExecutionResult = protoExecutionResult }; - } + for (var i = 0; i < parameters; i++) + args[i] = validTableParamTypes.Contains(stepParameter[i].ParameterType) + ? _tableFormatter.GetJSON(stepParameter[i].Table) + : stepParameter[i].Value; + var protoExecutionResult = await _executionOrchestrator.ExecuteStep(method, streamId, args); + return new ExecutionStatusResponse { ExecutionResult = protoExecutionResult }; + } - private static ExecutionStatusResponse ExecutionError(string errorMessage) + private static ExecutionStatusResponse ExecutionError(string errorMessage) + { + var result = new ProtoExecutionResult { - var result = new ProtoExecutionResult - { - Failed = true, - RecoverableError = false, - ExecutionTime = 0, - ErrorMessage = errorMessage - }; - return new ExecutionStatusResponse { ExecutionResult = result }; - } + Failed = true, + RecoverableError = false, + ExecutionTime = 0, + ErrorMessage = errorMessage + }; + return new ExecutionStatusResponse { ExecutionResult = result }; } } \ No newline at end of file diff --git a/src/Processors/ExecutionEndingProcessor.cs b/src/Processors/ExecutionEndingProcessor.cs index c8a055d..996502b 100644 --- a/src/Processors/ExecutionEndingProcessor.cs +++ b/src/Processors/ExecutionEndingProcessor.cs @@ -5,35 +5,33 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; using System.Diagnostics; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class ExecutionEndingProcessor : HookExecutionProcessor, IGaugeProcessor { - public class ExecutionEndingProcessor : HookExecutionProcessor + public ExecutionEndingProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) + { + } + + [DebuggerHidden] + public async Task Process(int streamId, ExecutionEndingRequest request) + { + var result = await ExecuteHooks(streamId, request.CurrentExecutionInfo); + ClearCacheForConfiguredLevel(); + return result; + } + + protected override string HookType => "AfterSuite"; + + protected override string CacheClearLevel => SuiteLevel; + + protected override List GetApplicableTags(ExecutionInfo info) { - public ExecutionEndingProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - } - - [DebuggerHidden] - public virtual ExecutionStatusResponse Process(ExecutionEndingRequest request) - { - var result = ExecuteHooks(request.CurrentExecutionInfo); - ClearCacheForConfiguredLevel(); - return result; - } - - protected override string HookType => "AfterSuite"; - - protected override string CacheClearLevel => SuiteLevel; - - protected override List GetApplicableTags(ExecutionInfo info) - { - return info?.CurrentSpec?.Tags?.ToList() ?? new List(); - } + return info?.CurrentSpec?.Tags?.ToList() ?? new List(); } } \ No newline at end of file diff --git a/src/Processors/ExecutionProcessor.cs b/src/Processors/ExecutionProcessor.cs deleted file mode 100644 index e166760..0000000 --- a/src/Processors/ExecutionProcessor.cs +++ /dev/null @@ -1,28 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using Gauge.Messages; - -namespace Gauge.Dotnet.Processors -{ - public class ExecutionProcessor - { - protected static Message WrapInMessage(ProtoExecutionResult executionResult, Message request) - { - var executionStatusResponse = new ExecutionStatusResponse - { - ExecutionResult = executionResult - }; - return new Message - { - MessageId = request.MessageId, - MessageType = Message.Types.MessageType.ExecutionStatusResponse, - ExecutionStatusResponse = executionStatusResponse - }; - } - } -} \ No newline at end of file diff --git a/src/Processors/ExecutionStartingProcessor.cs b/src/Processors/ExecutionStartingProcessor.cs index 82650e8..7ab9e59 100644 --- a/src/Processors/ExecutionStartingProcessor.cs +++ b/src/Processors/ExecutionStartingProcessor.cs @@ -5,47 +5,42 @@ *----------------------------------------------------------------*/ -using System; using System.Diagnostics; -using System.Threading; -using Gauge.CSharp.Core; +using Gauge.Dotnet.Executors; +using Gauge.Dotnet.Extensions; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class ExecutionStartingProcessor : HookExecutionProcessor, IGaugeProcessor { - public class ExecutionStartingProcessor : HookExecutionProcessor + public ExecutionStartingProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) { - public ExecutionStartingProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - } + } - protected override string HookType => "BeforeSuite"; + protected override string HookType => "BeforeSuite"; - [DebuggerHidden] - public virtual ExecutionStatusResponse Process(ExecutionStartingRequest request) + [DebuggerHidden] + public virtual async Task Process(int streamId, ExecutionStartingRequest request) + { + if (Configuration.IsDebugging()) { - var debuggingEnv = Utils.TryReadEnvValue("DEBUGGING"); - if (debuggingEnv != null && debuggingEnv.ToLower().Equals("true")) + // if the runner is launched in DEBUG mode, let the debugger attach. + Console.WriteLine("Runner Ready for Debugging at Process ID " + Environment.ProcessId); + var j = 0; + while (!Debugger.IsAttached) { - // if the runner is launched in DEBUG mode, let the debugger attach. - Console.WriteLine("Runner Ready for Debugging at Process ID " + - System.Diagnostics.Process.GetCurrentProcess().Id); - var j = 0; - while (!Debugger.IsAttached) - { - j++; - //Trying to debug, wait for a debugger to attach - Thread.Sleep(100); - //Timeout, no debugger connected, break out into a normal execution. - if (j == 300) - break; - } + j++; + //Trying to debug, wait for a debugger to attach + Thread.Sleep(100); + //Timeout, no debugger connected, break out into a normal execution. + if (j == 300) + break; } - return ExecuteHooks(request.CurrentExecutionInfo); - } - + return await ExecuteHooks(streamId, request.CurrentExecutionInfo); } + } \ No newline at end of file diff --git a/src/Processors/HookExecutionProcessor.cs b/src/Processors/HookExecutionProcessor.cs index 9c8e3d4..f290db7 100644 --- a/src/Processors/HookExecutionProcessor.cs +++ b/src/Processors/HookExecutionProcessor.cs @@ -5,56 +5,55 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; -using Gauge.CSharp.Core; +using Gauge.Dotnet.Executors; +using Gauge.Dotnet.Extensions; using Gauge.Dotnet.Strategy; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public abstract class HookExecutionProcessor { - public abstract class HookExecutionProcessor : ExecutionProcessor + protected const string SuiteLevel = "suite"; + protected const string SpecLevel = "spec"; + protected const string ScenarioLevel = "scenario"; + + protected IConfiguration Configuration { get; private set; } + protected IExecutionOrchestrator ExecutionOrchestrator { get; private init; } + + protected HookExecutionProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + { + Configuration = config; + ExecutionOrchestrator = executionOrchestrator; + Strategy = new HooksStrategy(); + } + + protected HooksStrategy Strategy { get; set; } + + protected abstract string HookType { get; } + + protected virtual string CacheClearLevel => null; + + protected virtual async Task ExecuteHooks(int streamId, ExecutionInfo info) + { + var applicableTags = GetApplicableTags(info); + var protoExecutionResult = await ExecutionOrchestrator.ExecuteHooks(HookType, Strategy, applicableTags, streamId, info); + var allPendingMessages = ExecutionOrchestrator.GetAllPendingMessages().Where(m => m != null); + var allPendingScreenShotFiles = ExecutionOrchestrator.GetAllPendingScreenshotFiles(); + protoExecutionResult.Message.AddRange(allPendingMessages); + protoExecutionResult.ScreenshotFiles.AddRange(allPendingScreenShotFiles); + return new ExecutionStatusResponse { ExecutionResult = protoExecutionResult }; + } + + protected void ClearCacheForConfiguredLevel() + { + var flag = Configuration.GetGaugeClearStateFlag(); + if (!string.IsNullOrEmpty(flag) && flag.Trim().Equals(CacheClearLevel)) + ExecutionOrchestrator.ClearCache(); + } + + protected virtual List GetApplicableTags(ExecutionInfo info) { - private const string ClearStateFlag = "gauge_clear_state_level"; - protected const string SuiteLevel = "suite"; - protected const string SpecLevel = "spec"; - protected const string ScenarioLevel = "scenario"; - protected readonly IExecutionOrchestrator ExecutionOrchestrator; - - protected HookExecutionProcessor(IExecutionOrchestrator executionOrchestrator) - { - ExecutionOrchestrator = executionOrchestrator; - Strategy = new HooksStrategy(); - } - - protected HooksStrategy Strategy { get; set; } - - protected abstract string HookType { get; } - - protected virtual string CacheClearLevel => null; - - protected virtual ExecutionStatusResponse ExecuteHooks(ExecutionInfo info) - { - var applicableTags = GetApplicableTags(info); - var protoExecutionResult = - ExecutionOrchestrator.ExecuteHooks(HookType, Strategy, applicableTags, info); - var allPendingMessages = ExecutionOrchestrator.GetAllPendingMessages().Where(m => m != null); - var allPendingScreenShotFiles = ExecutionOrchestrator.GetAllPendingScreenshotFiles(); - protoExecutionResult.Message.AddRange(allPendingMessages); - protoExecutionResult.ScreenshotFiles.AddRange(allPendingScreenShotFiles); - return new ExecutionStatusResponse { ExecutionResult = protoExecutionResult }; - } - - protected void ClearCacheForConfiguredLevel() - { - var flag = Utils.TryReadEnvValue(ClearStateFlag); - if (!string.IsNullOrEmpty(flag) && flag.Trim().Equals(CacheClearLevel)) - ExecutionOrchestrator.ClearCache(); - } - - protected virtual List GetApplicableTags(ExecutionInfo info) - { - return Enumerable.Empty().ToList(); - } + return Enumerable.Empty().ToList(); } } \ No newline at end of file diff --git a/src/Processors/IGaugeProcessor.cs b/src/Processors/IGaugeProcessor.cs new file mode 100644 index 0000000..708f46f --- /dev/null +++ b/src/Processors/IGaugeProcessor.cs @@ -0,0 +1,6 @@ +namespace Gauge.Dotnet.Processors; + +public interface IGaugeProcessor +{ + Task Process(int stream, TRequest request); +} diff --git a/src/Processors/IMessageProcessor.cs b/src/Processors/IMessageProcessor.cs deleted file mode 100644 index e3b0617..0000000 --- a/src/Processors/IMessageProcessor.cs +++ /dev/null @@ -1,16 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using Gauge.Messages; - -namespace Gauge.Dotnet.Processors -{ - public interface IMessageProcessor - { - Message Process(Message request); - } -} \ No newline at end of file diff --git a/src/Processors/ImplementationFileGlobPatterProcessor.cs b/src/Processors/ImplementationFileGlobPatterProcessor.cs new file mode 100644 index 0000000..6c7c1d3 --- /dev/null +++ b/src/Processors/ImplementationFileGlobPatterProcessor.cs @@ -0,0 +1,21 @@ +using Gauge.Dotnet.Extensions; +using Gauge.Messages; + +namespace Gauge.Dotnet.Processors; + +public class ImplementationFileGlobPatterProcessor : IGaugeProcessor +{ + private readonly IConfiguration _config; + + public ImplementationFileGlobPatterProcessor(IConfiguration config) + { + _config = config; + } + + public Task Process(int stream, Empty request) + { + var response = new ImplementationFileGlobPatternResponse(); + response.GlobPatterns.Add($"{_config.GetGaugeProjectRoot()}/**/*.cs"); + return Task.FromResult(response); + } +} diff --git a/src/Processors/ImplementationFileListProcessor.cs b/src/Processors/ImplementationFileListProcessor.cs new file mode 100644 index 0000000..1976390 --- /dev/null +++ b/src/Processors/ImplementationFileListProcessor.cs @@ -0,0 +1,34 @@ +using Gauge.Dotnet.Extensions; +using Gauge.Dotnet.Helpers; +using Gauge.Messages; + +namespace Gauge.Dotnet.Processors; + +public class ImplementationFileListProcessor : IGaugeProcessor +{ + private readonly IConfiguration _config; + private readonly IAttributesLoader _attributesLoader; + + public ImplementationFileListProcessor(IConfiguration config, IAttributesLoader attributesLoader) + { + _config = config; + _attributesLoader = attributesLoader; + } + + public Task Process(int stream, Empty request) + { + var response = new ImplementationFileListResponse(); + var classFiles = Directory.EnumerateFiles(_config.GetGaugeProjectRoot(), "*.cs", SearchOption.AllDirectories).ToList(); + + var attributes = _attributesLoader.GetRemovedAttributes(); + foreach (var attribute in attributes) + { + classFiles.Remove(Path.Combine(_config.GetGaugeProjectRoot(), attribute.Value)); + } + + var removedFiles = FileHelper.GetRemovedDirFiles(_config); + + response.ImplementationFilePaths.AddRange(classFiles.Except(removedFiles)); + return Task.FromResult(response); + } +} diff --git a/src/Processors/KillProcessProcessor.cs b/src/Processors/KillProcessProcessor.cs deleted file mode 100644 index d682333..0000000 --- a/src/Processors/KillProcessProcessor.cs +++ /dev/null @@ -1,19 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using Gauge.Messages; - -namespace Gauge.Dotnet.Processors -{ - public class KillProcessProcessor : IMessageProcessor - { - public Message Process(Message request) - { - return request; - } - } -} \ No newline at end of file diff --git a/src/Processors/RefactorProcessor.cs b/src/Processors/RefactorProcessor.cs index 2db46ce..14f6056 100644 --- a/src/Processors/RefactorProcessor.cs +++ b/src/Processors/RefactorProcessor.cs @@ -5,92 +5,87 @@ *----------------------------------------------------------------*/ -using System; -using System.IO; -using System.Linq; using Gauge.Dotnet.Models; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class RefactorProcessor : IGaugeProcessor { - public class RefactorProcessor - { - private readonly IStepRegistry _stepRegistry; + private readonly IStepRegistry _stepRegistry; - public RefactorProcessor(IStepRegistry stepRegistry) - { - _stepRegistry = stepRegistry; - } + public RefactorProcessor(IStepRegistry stepRegistry) + { + _stepRegistry = stepRegistry; + } - public RefactorResponse Process(RefactorRequest request) - { - var newStep = request.NewStepValue; + public async Task Process(int stream, RefactorRequest request) + { + var newStep = request.NewStepValue; - var newStepValue = newStep.ParameterizedStepValue; - var parameterPositions = request.ParamPositions - .Select(position => new Tuple(position.OldPosition, position.NewPosition)).ToList(); + var newStepValue = newStep.ParameterizedStepValue; + var parameterPositions = request.ParamPositions + .Select(position => new Tuple(position.OldPosition, position.NewPosition)).ToList(); - var response = new RefactorResponse(); - try - { - var gaugeMethod = GetGaugeMethod(request.OldStepValue); - if (gaugeMethod.HasAlias) throw new Exception("Steps with aliases can not be refactored."); + var response = new RefactorResponse(); + try + { + var gaugeMethod = GetGaugeMethod(request.OldStepValue); + if (gaugeMethod.HasAlias) throw new Exception("Steps with aliases can not be refactored."); - var fileChanges = RefactorHelper.Refactor(gaugeMethod, parameterPositions, newStep.Parameters.ToList(), - newStepValue); + var fileChanges = RefactorHelper.Refactor(gaugeMethod, parameterPositions, newStep.Parameters.ToList(), + newStepValue); - if (request.SaveChanges) - File.WriteAllText(fileChanges.FileName, fileChanges.FileContent); + if (request.SaveChanges) + await File.WriteAllTextAsync(fileChanges.FileName, fileChanges.FileContent); - response.Success = true; - response.FilesChanged.Add(gaugeMethod.FileName); - response.FileChanges.Add(ConvertToProtoFileChanges(fileChanges)); - } - catch (AggregateException ex) - { - response.Success = false; - response.Error = ex.InnerExceptions.Select(exception => exception.Message).Distinct() - .Aggregate((s, s1) => string.Concat(s, "; ", s1)); - } - catch (Exception ex) - { - response.Success = false; - response.Error = ex.Message; - } + response.Success = true; + response.FilesChanged.Add(gaugeMethod.FileName); + response.FileChanges.Add(ConvertToProtoFileChanges(fileChanges)); + } + catch (AggregateException ex) + { + response.Success = false; + response.Error = ex.InnerExceptions.Select(exception => exception.Message).Distinct() + .Aggregate((s, s1) => string.Concat(s, "; ", s1)); + } + catch (Exception ex) + { + response.Success = false; + response.Error = ex.Message; + } - return response; - } + return response; + } - private static FileChanges ConvertToProtoFileChanges(RefactoringChange fileChanges) + private static FileChanges ConvertToProtoFileChanges(RefactoringChange fileChanges) + { + var chages = new FileChanges { - var chages = new FileChanges + FileName = fileChanges.FileName + }; + foreach (var fileChangesDiff in fileChanges.Diffs) + chages.Diffs.Add(new TextDiff { - FileName = fileChanges.FileName, - FileContent = fileChanges.FileContent - }; - foreach (var fileChangesDiff in fileChanges.Diffs) - chages.Diffs.Add(new TextDiff + Content = fileChangesDiff.Content, + Span = new Span { - Content = fileChangesDiff.Content, - Span = new Span - { - Start = fileChangesDiff.Range.Start.Line, - StartChar = fileChangesDiff.Range.Start.Character, - End = fileChangesDiff.Range.End.Line, - EndChar = fileChangesDiff.Range.End.Character - } - }); - - return chages; - } + Start = fileChangesDiff.Range.Start.Line, + StartChar = fileChangesDiff.Range.Start.Character, + End = fileChangesDiff.Range.End.Line, + EndChar = fileChangesDiff.Range.End.Character + } + }); - private GaugeMethod GetGaugeMethod(ProtoStepValue stepValue) - { - if (_stepRegistry.HasMultipleImplementations(stepValue.StepValue)) - throw new Exception(string.Format("Multiple step implementations found for : {0}", - stepValue.ParameterizedStepValue)); - return _stepRegistry.MethodFor(stepValue.StepValue); - } + return chages; + } + + private GaugeMethod GetGaugeMethod(ProtoStepValue stepValue) + { + if (_stepRegistry.HasMultipleImplementations(stepValue.StepValue)) + throw new Exception(string.Format("Multiple step implementations found for : {0}", + stepValue.ParameterizedStepValue)); + return _stepRegistry.MethodFor(stepValue.StepValue); } } \ No newline at end of file diff --git a/src/Processors/ScenarioDataStoreInitProcessor.cs b/src/Processors/ScenarioDataStoreInitProcessor.cs index e1f0abe..e6899eb 100644 --- a/src/Processors/ScenarioDataStoreInitProcessor.cs +++ b/src/Processors/ScenarioDataStoreInitProcessor.cs @@ -5,13 +5,20 @@ *----------------------------------------------------------------*/ -namespace Gauge.Dotnet.Processors +using Gauge.CSharp.Lib; +using Gauge.Messages; + +namespace Gauge.Dotnet.Processors; + +public class ScenarioDataStoreInitProcessor : DataStoreInitProcessorBase, IGaugeProcessor { - public class ScenarioDataStoreInitProcessor : DataStoreInitProcessorBase + public ScenarioDataStoreInitProcessor(IAssemblyLoader loader) + : base(DataStoreType.Scenario, loader) + { + } + + public Task Process(int stream, ScenarioDataStoreInitRequest request) { - public ScenarioDataStoreInitProcessor(IAssemblyLoader assemblyLoader) : base(assemblyLoader, - DataStoreType.Scenario) - { - } + return Task.FromResult(Process(request.Stream)); } } \ No newline at end of file diff --git a/src/Processors/ScenarioExecutionEndingProcessor.cs b/src/Processors/ScenarioExecutionEndingProcessor.cs index 93eaaf0..829cb51 100644 --- a/src/Processors/ScenarioExecutionEndingProcessor.cs +++ b/src/Processors/ScenarioExecutionEndingProcessor.cs @@ -5,39 +5,37 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Messages; -namespace Gauge.Dotnet.Processors -{ - public class ScenarioExecutionEndingProcessor : TaggedHooksFirstExecutionProcessor - { - private readonly IExecutionOrchestrator _executionOrchestrator; +namespace Gauge.Dotnet.Processors; - public ScenarioExecutionEndingProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - _executionOrchestrator = executionOrchestrator; - } +public class ScenarioExecutionEndingProcessor : TaggedHooksFirstExecutionProcessor, IGaugeProcessor +{ + private readonly IExecutionOrchestrator _executionOrchestrator; - protected override string HookType => "AfterScenario"; + public ScenarioExecutionEndingProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) + { + _executionOrchestrator = executionOrchestrator; + } - protected override string CacheClearLevel => ScenarioLevel; + protected override string HookType => "AfterScenario"; + protected override string CacheClearLevel => ScenarioLevel; - public ExecutionStatusResponse Process(ScenarioExecutionEndingRequest request) - { - _executionOrchestrator.CloseExecutionScope(); - var result = ExecuteHooks(request.CurrentExecutionInfo); - ClearCacheForConfiguredLevel(); - return result; - } - protected override List GetApplicableTags(ExecutionInfo info) - { - return info.CurrentScenario.Tags.Union(info.CurrentSpec.Tags).ToList(); - } + public async Task Process(int streamId, ScenarioExecutionEndingRequest request) + { + _executionOrchestrator.CloseExecutionScope(); + var result = await ExecuteHooks(streamId, request.CurrentExecutionInfo); + ClearCacheForConfiguredLevel(); + return result; + } + protected override List GetApplicableTags(ExecutionInfo info) + { + return info.CurrentScenario.Tags.Union(info.CurrentSpec.Tags).ToList(); } + } \ No newline at end of file diff --git a/src/Processors/ScenarioExecutionStartingProcessor.cs b/src/Processors/ScenarioExecutionStartingProcessor.cs index 406b53b..13d3633 100644 --- a/src/Processors/ScenarioExecutionStartingProcessor.cs +++ b/src/Processors/ScenarioExecutionStartingProcessor.cs @@ -5,33 +5,31 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class ScenarioExecutionStartingProcessor : UntaggedHooksFirstExecutionProcessor, IGaugeProcessor { - public class ScenarioExecutionStartingProcessor : UntaggedHooksFirstExecutionProcessor + private readonly IExecutionOrchestrator _executionOrchestrator; + + public ScenarioExecutionStartingProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) + { + _executionOrchestrator = executionOrchestrator; + } + + protected override string HookType => "BeforeScenario"; + + public async Task Process(int streamId, ScenarioExecutionStartingRequest request) + { + _executionOrchestrator.StartExecutionScope("scenario"); + return await ExecuteHooks(streamId, request.CurrentExecutionInfo); + } + + protected override List GetApplicableTags(ExecutionInfo info) { - private readonly IExecutionOrchestrator _executionOrchestrator; - - public ScenarioExecutionStartingProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - _executionOrchestrator = executionOrchestrator; - } - - protected override string HookType => "BeforeScenario"; - - public ExecutionStatusResponse Process(ScenarioExecutionStartingRequest request) - { - _executionOrchestrator.StartExecutionScope("scenario"); - return ExecuteHooks(request.CurrentExecutionInfo); - } - - protected override List GetApplicableTags(ExecutionInfo info) - { - return info.CurrentScenario.Tags.Union(info.CurrentSpec.Tags).ToList(); - } + return info.CurrentScenario.Tags.Union(info.CurrentSpec.Tags).ToList(); } } \ No newline at end of file diff --git a/src/Processors/SpecDataStoreInitProcessor.cs b/src/Processors/SpecDataStoreInitProcessor.cs index 737c0af..bcd597e 100644 --- a/src/Processors/SpecDataStoreInitProcessor.cs +++ b/src/Processors/SpecDataStoreInitProcessor.cs @@ -5,12 +5,20 @@ *----------------------------------------------------------------*/ -namespace Gauge.Dotnet.Processors +using Gauge.CSharp.Lib; +using Gauge.Messages; + +namespace Gauge.Dotnet.Processors; + +public class SpecDataStoreInitProcessor : DataStoreInitProcessorBase, IGaugeProcessor { - public class SpecDataStoreInitProcessor : DataStoreInitProcessorBase + public SpecDataStoreInitProcessor(IAssemblyLoader loader) + : base(DataStoreType.Spec, loader) + { + } + + public Task Process(int stream, SpecDataStoreInitRequest request) { - public SpecDataStoreInitProcessor(IAssemblyLoader assemblyLoader) : base(assemblyLoader, DataStoreType.Spec) - { - } + return Task.FromResult(Process(request.Stream)); } } \ No newline at end of file diff --git a/src/Processors/SpecExecutionEndingProcessor.cs b/src/Processors/SpecExecutionEndingProcessor.cs index b376d86..488c511 100644 --- a/src/Processors/SpecExecutionEndingProcessor.cs +++ b/src/Processors/SpecExecutionEndingProcessor.cs @@ -5,36 +5,34 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class SpecExecutionEndingProcessor : TaggedHooksFirstExecutionProcessor, IGaugeProcessor { - public class SpecExecutionEndingProcessor : TaggedHooksFirstExecutionProcessor + private readonly IExecutionOrchestrator _executionOrchestrator; + + public SpecExecutionEndingProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) + { + _executionOrchestrator = executionOrchestrator; + } + + protected override string HookType => "AfterSpec"; + + protected override string CacheClearLevel => SpecLevel; + protected override List GetApplicableTags(ExecutionInfo info) + { + return info.CurrentSpec.Tags.ToList(); + } + + public async Task Process(int streamId, SpecExecutionEndingRequest request) { - private readonly IExecutionOrchestrator _executionOrchestrator; - - public SpecExecutionEndingProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - _executionOrchestrator = executionOrchestrator; - } - - protected override string HookType => "AfterSpec"; - - protected override string CacheClearLevel => SpecLevel; - protected override List GetApplicableTags(ExecutionInfo info) - { - return info.CurrentSpec.Tags.ToList(); - } - - public ExecutionStatusResponse Process(SpecExecutionEndingRequest request) - { - _executionOrchestrator.CloseExecutionScope(); - var result = ExecuteHooks(request.CurrentExecutionInfo); - ClearCacheForConfiguredLevel(); - return result; - } + _executionOrchestrator.CloseExecutionScope(); + var result = await ExecuteHooks(streamId, request.CurrentExecutionInfo); + ClearCacheForConfiguredLevel(); + return result; } } \ No newline at end of file diff --git a/src/Processors/SpecExecutionStartingProcessor.cs b/src/Processors/SpecExecutionStartingProcessor.cs index e3889f7..3085e0c 100644 --- a/src/Processors/SpecExecutionStartingProcessor.cs +++ b/src/Processors/SpecExecutionStartingProcessor.cs @@ -4,33 +4,31 @@ * See LICENSE.txt in the project root for license information. *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class SpecExecutionStartingProcessor : UntaggedHooksFirstExecutionProcessor, IGaugeProcessor { - public class SpecExecutionStartingProcessor : UntaggedHooksFirstExecutionProcessor - { - private readonly IExecutionOrchestrator _executionOrchestrator; + private readonly IExecutionOrchestrator _executionOrchestrator; - public SpecExecutionStartingProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - _executionOrchestrator = executionOrchestrator; - } + public SpecExecutionStartingProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) + { + _executionOrchestrator = executionOrchestrator; + } - protected override string HookType => "BeforeSpec"; + protected override string HookType => "BeforeSpec"; - protected override List GetApplicableTags(ExecutionInfo info) - { - return info.CurrentSpec.Tags.ToList(); - } + protected override List GetApplicableTags(ExecutionInfo info) + { + return info.CurrentSpec.Tags.ToList(); + } - public ExecutionStatusResponse Process(SpecExecutionStartingRequest request) - { - _executionOrchestrator.StartExecutionScope("spec"); - return ExecuteHooks(request.CurrentExecutionInfo); - } + public async Task Process(int streamId, SpecExecutionStartingRequest request) + { + _executionOrchestrator.StartExecutionScope("spec"); + return await ExecuteHooks(streamId, request.CurrentExecutionInfo); } } \ No newline at end of file diff --git a/src/Processors/StepExecutionEndingProcessor.cs b/src/Processors/StepExecutionEndingProcessor.cs index fe19c36..d727dc5 100644 --- a/src/Processors/StepExecutionEndingProcessor.cs +++ b/src/Processors/StepExecutionEndingProcessor.cs @@ -5,29 +5,27 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class StepExecutionEndingProcessor : TaggedHooksFirstExecutionProcessor, IGaugeProcessor { - public class StepExecutionEndingProcessor : TaggedHooksFirstExecutionProcessor + public StepExecutionEndingProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) { - public StepExecutionEndingProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - } + } - protected override string HookType => "AfterStep"; + protected override string HookType => "AfterStep"; - public ExecutionStatusResponse Process(StepExecutionEndingRequest request) - { - return base.ExecuteHooks(request.CurrentExecutionInfo); - } + public Task Process(int streamId, StepExecutionEndingRequest request) + { + return ExecuteHooks(streamId, request.CurrentExecutionInfo); + } - protected override List GetApplicableTags(ExecutionInfo info) - { - return info.CurrentScenario.Tags.Union(info.CurrentSpec.Tags).ToList(); - } + protected override List GetApplicableTags(ExecutionInfo info) + { + return info.CurrentScenario.Tags.Union(info.CurrentSpec.Tags).ToList(); } } \ No newline at end of file diff --git a/src/Processors/StepExecutionStartingProcessor.cs b/src/Processors/StepExecutionStartingProcessor.cs index 89d6906..44e045e 100644 --- a/src/Processors/StepExecutionStartingProcessor.cs +++ b/src/Processors/StepExecutionStartingProcessor.cs @@ -5,29 +5,27 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class StepExecutionStartingProcessor : UntaggedHooksFirstExecutionProcessor, IGaugeProcessor { - public class StepExecutionStartingProcessor : UntaggedHooksFirstExecutionProcessor + public StepExecutionStartingProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) { - public StepExecutionStartingProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - } + } - protected override string HookType => "BeforeStep"; + protected override string HookType => "BeforeStep"; - public ExecutionStatusResponse Process(StepExecutionStartingRequest request) - { - return ExecuteHooks(request.CurrentExecutionInfo); - } + public async Task Process(int streamId, StepExecutionStartingRequest request) + { + return await ExecuteHooks(streamId, request.CurrentExecutionInfo); + } - protected override List GetApplicableTags(ExecutionInfo info) - { - return info.CurrentScenario.Tags.Union(info.CurrentSpec.Tags).ToList(); - } + protected override List GetApplicableTags(ExecutionInfo info) + { + return info.CurrentScenario.Tags.Union(info.CurrentSpec.Tags).ToList(); } } \ No newline at end of file diff --git a/src/Processors/StepNameProcessor.cs b/src/Processors/StepNameProcessor.cs index 20785f0..3c6e56e 100644 --- a/src/Processors/StepNameProcessor.cs +++ b/src/Processors/StepNameProcessor.cs @@ -9,52 +9,51 @@ using Gauge.Dotnet.Models; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class StepNameProcessor : IGaugeProcessor { - public class StepNameProcessor + private readonly IStepRegistry _stepRegistry; + + public StepNameProcessor(IStepRegistry stepRegistry) { - private readonly IStepRegistry _stepRegistry; + _stepRegistry = stepRegistry; + } - public StepNameProcessor(IStepRegistry stepRegistry) - { - _stepRegistry = stepRegistry; - } + public Task Process(int stream, StepNameRequest request) + { - public StepNameResponse Process(StepNameRequest request) + var parsedStepText = request.StepValue; + var isStepPresent = _stepRegistry.ContainsStep(parsedStepText); + var response = new StepNameResponse { + IsStepPresent = isStepPresent + }; - var parsedStepText = request.StepValue; - var isStepPresent = _stepRegistry.ContainsStep(parsedStepText); - var response = new StepNameResponse + if (!isStepPresent) return Task.FromResult(response); + + var stepText = _stepRegistry.GetStepText(parsedStepText); + var hasAlias = _stepRegistry.HasAlias(stepText); + var info = _stepRegistry.MethodFor(parsedStepText); + response.IsExternal = info.IsExternal; + response.HasAlias = hasAlias; + if (!response.IsExternal) + { + response.FileName = info.FileName; + response.Span = new Span { - IsStepPresent = isStepPresent + Start = info.Span.Span.Start.Line + 1, + StartChar = info.Span.StartLinePosition.Character, + End = info.Span.EndLinePosition.Line + 1, + EndChar = info.Span.EndLinePosition.Character }; + } - if (!isStepPresent) return response; + if (hasAlias) + response.StepName.AddRange(info.Aliases); + else + response.StepName.Add(stepText); - var stepText = _stepRegistry.GetStepText(parsedStepText); - var hasAlias = _stepRegistry.HasAlias(stepText); - var info = _stepRegistry.MethodFor(parsedStepText); - response.IsExternal = info.IsExternal; - response.HasAlias = hasAlias; - if (!response.IsExternal) - { - response.FileName = info.FileName; - response.Span = new Span - { - Start = info.Span.Span.Start.Line + 1, - StartChar = info.Span.StartLinePosition.Character, - End = info.Span.EndLinePosition.Line + 1, - EndChar = info.Span.EndLinePosition.Character - }; - } - - if (hasAlias) - response.StepName.AddRange(info.Aliases); - else - response.StepName.Add(stepText); - - return response; - } + return Task.FromResult(response); } } \ No newline at end of file diff --git a/src/Processors/StepNamesProcessor.cs b/src/Processors/StepNamesProcessor.cs index cffa34b..b4e1d9d 100644 --- a/src/Processors/StepNamesProcessor.cs +++ b/src/Processors/StepNamesProcessor.cs @@ -5,27 +5,25 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; using Gauge.Dotnet.Models; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class StepNamesProcessor : IGaugeProcessor { - public class StepNamesProcessor - { - private readonly IStepRegistry _stepRegistry; + private readonly IStepRegistry _stepRegistry; - public StepNamesProcessor(IStepRegistry stepRegistry) - { - _stepRegistry = stepRegistry; - } + public StepNamesProcessor(IStepRegistry stepRegistry) + { + _stepRegistry = stepRegistry; + } - public StepNamesResponse Process(StepNamesRequest request) - { - var allSteps = _stepRegistry.GetStepTexts(); - var stepNamesResponse = new StepNamesResponse(); - stepNamesResponse.Steps.AddRange(allSteps); - return stepNamesResponse; - } + public Task Process(int stream, StepNamesRequest request) + { + var allSteps = _stepRegistry.GetStepTexts(); + var stepNamesResponse = new StepNamesResponse(); + stepNamesResponse.Steps.AddRange(allSteps); + return Task.FromResult(stepNamesResponse); } } \ No newline at end of file diff --git a/src/Processors/StepPositionsProcessor.cs b/src/Processors/StepPositionsProcessor.cs index cfd7451..bd26336 100644 --- a/src/Processors/StepPositionsProcessor.cs +++ b/src/Processors/StepPositionsProcessor.cs @@ -8,21 +8,21 @@ using Gauge.Dotnet.Models; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class StepPositionsProcessor : IGaugeProcessor { - public class StepPositionsProcessor + private readonly IStepRegistry _stepRegistry; + + public StepPositionsProcessor(IStepRegistry stepRegistry) { - private readonly IStepRegistry _stepRegistry; + _stepRegistry = stepRegistry; + } - public StepPositionsProcessor(IStepRegistry stepRegistry) - { - _stepRegistry = stepRegistry; - } - public StepPositionsResponse Process(StepPositionsRequest request) - { - var response = new StepPositionsResponse(); - response.StepPositions.AddRange(_stepRegistry.GetStepPositions(request.FilePath)); - return response; - } + public Task Process(int stream, StepPositionsRequest request) + { + var response = new StepPositionsResponse(); + response.StepPositions.AddRange(_stepRegistry.GetStepPositions(request.FilePath)); + return Task.FromResult(response); } } \ No newline at end of file diff --git a/src/Processors/StepValidationProcessor.cs b/src/Processors/StepValidationProcessor.cs index d934378..2842115 100644 --- a/src/Processors/StepValidationProcessor.cs +++ b/src/Processors/StepValidationProcessor.cs @@ -5,69 +5,66 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; using Gauge.Dotnet.Extensions; using Gauge.Dotnet.Models; using Gauge.Messages; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class StepValidationProcessor : IGaugeProcessor { - public class StepValidationProcessor + private readonly IStepRegistry _stepRegistry; + + public StepValidationProcessor(IStepRegistry stepRegistry) { - private readonly IStepRegistry _stepRegistry; + _stepRegistry = stepRegistry; + } - public StepValidationProcessor(IStepRegistry stepRegistry) + public Task Process(int stream, StepValidateRequest request) + { + var stepToValidate = request.StepText; + var isValid = true; + var errorMessage = ""; + var suggestion = ""; + var errorType = StepValidateResponse.Types.ErrorType.StepImplementationNotFound; + if (!_stepRegistry.ContainsStep(stepToValidate)) { - _stepRegistry = stepRegistry; + isValid = false; + errorMessage = string.Format("No implementation found for : {0}. Full Step Text :", stepToValidate); + suggestion = GetSuggestion(request.StepValue); } - - public StepValidateResponse Process(StepValidateRequest request) + else if (_stepRegistry.HasMultipleImplementations(stepToValidate)) { - var stepToValidate = request.StepText; - var isValid = true; - var errorMessage = ""; - var suggestion = ""; - var errorType = StepValidateResponse.Types.ErrorType.StepImplementationNotFound; - if (!_stepRegistry.ContainsStep(stepToValidate)) - { - isValid = false; - errorMessage = string.Format("No implementation found for : {0}. Full Step Text :", stepToValidate); - suggestion = GetSuggestion(request.StepValue); - } - else if (_stepRegistry.HasMultipleImplementations(stepToValidate)) - { - isValid = false; - errorType = StepValidateResponse.Types.ErrorType.DuplicateStepImplementation; - errorMessage = string.Format("Multiple step implementations found for : {0}", stepToValidate); - } - return GetStepValidateResponseMessage(isValid, errorType, errorMessage, suggestion); + isValid = false; + errorType = StepValidateResponse.Types.ErrorType.DuplicateStepImplementation; + errorMessage = string.Format("Multiple step implementations found for : {0}", stepToValidate); } + return Task.FromResult(GetStepValidateResponseMessage(isValid, errorType, errorMessage, suggestion)); + } - private string GetSuggestion(ProtoStepValue stepValue) - { - var name = stepValue.StepValue.ToValidCSharpIdentifier(); - return "\t\t[Step(\"" + stepValue.ParameterizedStepValue + "\")]\n" + - "\t\tpublic void " + name + "(" + GetParamsList(stepValue.Parameters) + ")\n" + - "\t\t{\n\t\t\tthrow new NotImplementedException();\n\t\t}\n"; - } + private string GetSuggestion(ProtoStepValue stepValue) + { + var name = stepValue.StepValue.ToValidCSharpIdentifier(); + return "\t\t[Step(\"" + stepValue.ParameterizedStepValue + "\")]\n" + + "\t\tpublic void " + name + "(" + GetParamsList(stepValue.Parameters) + ")\n" + + "\t\t{\n\t\t\tthrow new NotImplementedException();\n\t\t}\n"; + } - private static string GetParamsList(IEnumerable stepValueParameters) - { - var paramsString = stepValueParameters.Select((p, i) => $"arg{i}"); - return string.Join(" ,", paramsString); - } + private static string GetParamsList(IEnumerable stepValueParameters) + { + var paramsString = stepValueParameters.Select((p, i) => $"arg{i}"); + return string.Join(" ,", paramsString); + } - private static StepValidateResponse GetStepValidateResponseMessage(bool isValid, - StepValidateResponse.Types.ErrorType errorType, string errorMessage, string suggestion) + private static StepValidateResponse GetStepValidateResponseMessage(bool isValid, + StepValidateResponse.Types.ErrorType errorType, string errorMessage, string suggestion) + { + return new StepValidateResponse { - return new StepValidateResponse - { - ErrorMessage = errorMessage, - IsValid = isValid, - ErrorType = errorType, - Suggestion = suggestion - }; - } + ErrorMessage = errorMessage, + IsValid = isValid, + ErrorType = errorType, + Suggestion = suggestion + }; } } \ No newline at end of file diff --git a/src/Processors/StubImplementationCodeProcessor.cs b/src/Processors/StubImplementationCodeProcessor.cs index 0ec3d01..664cc24 100644 --- a/src/Processors/StubImplementationCodeProcessor.cs +++ b/src/Processors/StubImplementationCodeProcessor.cs @@ -5,127 +5,143 @@ *----------------------------------------------------------------*/ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using Gauge.Dotnet.Helpers; +using Gauge.Dotnet.Extensions; using Gauge.Messages; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public class StubImplementationCodeProcessor : IGaugeProcessor { - public class StubImplementationCodeProcessor + private readonly IConfiguration _config; + + public StubImplementationCodeProcessor(IConfiguration config) { - public FileDiff Process(StubImplementationCodeRequest request) - { - var stubs = request.Codes; - var file = request.ImplementationFilePath; - var response = new FileDiff(); - if (!File.Exists(file)) - { - var filepath = FileHelper.GetFileName("", 0); - ImplementInNewClass(response, filepath, stubs); - } - else - { - ImlementInExistingFile(stubs, file, response); - } + _config = config; + } - return response; + public async Task Process(int stream, StubImplementationCodeRequest request) + { + var stubs = request.Codes; + var file = request.ImplementationFilePath; + var response = new FileDiff(); + if (!File.Exists(file)) + { + var filepath = GetFileName("", 0); + ImplementInNewClass(response, filepath, stubs); } - - private void ImlementInExistingFile(IEnumerable stubs, string file, FileDiff response) + else { - var content = File.ReadAllText(file); - if (content == "") - ImplementInNewClass(response, file, stubs); - else - ImplementInExistingClass(response, file, stubs); + await ImlementInExistingFile(stubs, file, response); } - private void ImplementInExistingClass(FileDiff response, string file, IEnumerable stubs) + return response; + } + + private async Task ImlementInExistingFile(IEnumerable stubs, string file, FileDiff response) + { + var content = await File.ReadAllTextAsync(file); + if (content == "") + ImplementInNewClass(response, file, stubs); + else + await ImplementInExistingClass(response, file, stubs); + } + + private async Task ImplementInExistingClass(FileDiff response, string file, IEnumerable stubs) + { + var text = await File.ReadAllTextAsync(file); + var root = CSharpSyntaxTree.ParseText(text).GetRoot(); + var stepClass = root.DescendantNodes().OfType(); + var diff = new TextDiff(); + if (stepClass.Count() > 0) { - var root = CSharpSyntaxTree.ParseText(File.ReadAllText(file)).GetRoot(); - var stepClass = root.DescendantNodes().OfType(); - var diff = new TextDiff(); - if (hasStepClass(stepClass)) - { - diff = getTextDiff(diff, stepClass, stubs); - } - else - { - diff = getTextDiff(diff, root, stubs, file); - } - response.FilePath = file; - response.TextDiffs.Add(diff); + diff = GetTextDiff(diff, stepClass, stubs); } - - private TextDiff getTextDiff(TextDiff diff, SyntaxNode root, IEnumerable stubs, string file) + else { - var stepClassPosition = root.GetLocation().GetLineSpan().EndLinePosition; - var className = FileHelper.GetClassName(file); - - diff.Span = new Span - { - Start = stepClassPosition.Line + 1, - StartChar = stepClassPosition.Character, - End = stepClassPosition.Line + 1, - EndChar = stepClassPosition.Character - }; - diff.Content = GetNewClassContent(className, stubs); - return diff; + diff = GetTextDiff(diff, root, stubs, file); } + response.FilePath = file; + response.TextDiffs.Add(diff); + } + + private TextDiff GetTextDiff(TextDiff diff, SyntaxNode root, IEnumerable stubs, string file) + { + var stepClassPosition = root.GetLocation().GetLineSpan().EndLinePosition; + var className = GetClassName(file); - private bool hasStepClass(IEnumerable stepClass) + diff.Span = new Span { - return stepClass.ToList().Count() > 0; - } + Start = stepClassPosition.Line + 1, + StartChar = stepClassPosition.Character, + End = stepClassPosition.Line + 1, + EndChar = stepClassPosition.Character + }; + diff.Content = GetNewClassContent(className, stubs); + return diff; + } - private TextDiff getTextDiff(TextDiff diff, IEnumerable stepClass, IEnumerable stubs) + private TextDiff GetTextDiff(TextDiff diff, IEnumerable stepClass, IEnumerable stubs) + { + var stepClassPosition = stepClass.First().GetLocation().GetLineSpan().EndLinePosition; + diff.Span = new Span { - var stepClassPosition = stepClass.First().GetLocation().GetLineSpan().EndLinePosition; - diff.Span = new Span - { - Start = stepClassPosition.Line, - StartChar = stepClassPosition.Character - 1, - End = stepClassPosition.Line, - EndChar = stepClassPosition.Character - 1 - }; - diff.Content = $"{Environment.NewLine}{string.Join(Environment.NewLine, stubs)}\t"; - return diff; - } + Start = stepClassPosition.Line, + StartChar = stepClassPosition.Character - 1, + End = stepClassPosition.Line, + EndChar = stepClassPosition.Character - 1 + }; + diff.Content = $"{Environment.NewLine}{string.Join(Environment.NewLine, stubs)}\t"; + return diff; + } - private void ImplementInNewClass(FileDiff fileDiff, string filepath, IEnumerable stubs) + private void ImplementInNewClass(FileDiff fileDiff, string filepath, IEnumerable stubs) + { + var className = GetClassName(filepath); + var content = GetNewClassContent(className, stubs); + var diff = new TextDiff { - var className = FileHelper.GetClassName(filepath); - var content = GetNewClassContent(className, stubs); - var diff = new TextDiff + Span = new Span { - Span = new Span - { - Start = 0, - StartChar = 0, - End = 0, - EndChar = 0 - }, - Content = content - }; - fileDiff.TextDiffs.Add(diff); - fileDiff.FilePath = filepath; - } + Start = 0, + StartChar = 0, + End = 0, + EndChar = 0 + }, + Content = content + }; + fileDiff.TextDiffs.Add(diff); + fileDiff.FilePath = filepath; + } - private string GetNewClassContent(string className, IEnumerable stubs) - { - var n = Environment.NewLine; - return $"using System;{n}" + - $"using Gauge.CSharp.Lib.Attribute;{n}{n}" + - $"namespace {FileHelper.GetNameSpace()}{n}" + - $"{{\n\tpublic class {className}{n}" + - $"\t{{{n}{string.Join(Environment.NewLine, stubs)}{n}" + - $"\t}}{n}}}\n"; - } + private string GetNewClassContent(string className, IEnumerable stubs) + { + var n = Environment.NewLine; + return $"using System;{n}" + + $"using Gauge.CSharp.Lib.Attribute;{n}{n}" + + $"namespace {GetNameSpace()}{n}" + + $"{{\n\tpublic class {className}{n}" + + $"\t{{{n}{string.Join(Environment.NewLine, stubs)}{n}" + + $"\t}}{n}}}\n"; + } + + private string GetFileName(string suffix, int counter) + { + var fileName = Path.Combine(_config.GetGaugeProjectRoot(), $"StepImplementation{suffix}.cs"); + return !File.Exists(fileName) ? fileName : GetFileName((++counter).ToString(), counter); } + + public string GetNameSpace() + { + var gaugeProjectRoot = _config.GetGaugeProjectRoot(); + return new DirectoryInfo(gaugeProjectRoot).Name.ToValidCSharpIdentifier(); + } + + private static string GetClassName(string filepath) + { + return Path.GetFileNameWithoutExtension(filepath); + } + } \ No newline at end of file diff --git a/src/Processors/SuiteDataStoreInitProcessor.cs b/src/Processors/SuiteDataStoreInitProcessor.cs index f58796f..0f567ac 100644 --- a/src/Processors/SuiteDataStoreInitProcessor.cs +++ b/src/Processors/SuiteDataStoreInitProcessor.cs @@ -5,12 +5,20 @@ *----------------------------------------------------------------*/ -namespace Gauge.Dotnet.Processors +using Gauge.CSharp.Lib; +using Gauge.Messages; + +namespace Gauge.Dotnet.Processors; + +public class SuiteDataStoreInitProcessor : DataStoreInitProcessorBase, IGaugeProcessor { - public class SuiteDataStoreInitProcessor : DataStoreInitProcessorBase + public SuiteDataStoreInitProcessor(IAssemblyLoader loader) + : base(DataStoreType.Suite, loader) + { + } + + public Task Process(int stream, SuiteDataStoreInitRequest request) { - public SuiteDataStoreInitProcessor(IAssemblyLoader assemblyLoader) : base(assemblyLoader, DataStoreType.Suite) - { - } + return Task.FromResult(Process(request.Stream)); } } \ No newline at end of file diff --git a/src/Processors/TaggedHooksFirstExecutionProcessor.cs b/src/Processors/TaggedHooksFirstExecutionProcessor.cs index fdff3b4..981e1e9 100644 --- a/src/Processors/TaggedHooksFirstExecutionProcessor.cs +++ b/src/Processors/TaggedHooksFirstExecutionProcessor.cs @@ -5,16 +5,16 @@ *----------------------------------------------------------------*/ +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Strategy; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public abstract class TaggedHooksFirstExecutionProcessor : HookExecutionProcessor { - public abstract class TaggedHooksFirstExecutionProcessor : HookExecutionProcessor + protected TaggedHooksFirstExecutionProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) { - protected TaggedHooksFirstExecutionProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - Strategy = new TaggedHooksFirstStrategy(); - } + Strategy = new TaggedHooksFirstStrategy(); } } \ No newline at end of file diff --git a/src/Processors/UnTaggedHooksFirstExecutionProcessor.cs b/src/Processors/UnTaggedHooksFirstExecutionProcessor.cs index 8c94f94..d042d70 100644 --- a/src/Processors/UnTaggedHooksFirstExecutionProcessor.cs +++ b/src/Processors/UnTaggedHooksFirstExecutionProcessor.cs @@ -5,16 +5,16 @@ *----------------------------------------------------------------*/ +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Strategy; -namespace Gauge.Dotnet.Processors +namespace Gauge.Dotnet.Processors; + +public abstract class UntaggedHooksFirstExecutionProcessor : HookExecutionProcessor { - public abstract class UntaggedHooksFirstExecutionProcessor : HookExecutionProcessor + protected UntaggedHooksFirstExecutionProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) { - protected UntaggedHooksFirstExecutionProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - Strategy = new UntaggedHooksFirstStrategy(); - } + Strategy = new UntaggedHooksFirstStrategy(); } } \ No newline at end of file diff --git a/src/Program.cs b/src/Program.cs index 099ce52..5a83904 100644 --- a/src/Program.cs +++ b/src/Program.cs @@ -5,27 +5,155 @@ *----------------------------------------------------------------*/ -using System; using System.Diagnostics; -using System.Threading.Tasks; +using System.Net; +using System.Reflection; +using Gauge.Dotnet.Exceptions; +using Gauge.Dotnet.Executors; +using Gauge.Dotnet.Extensions; +using Gauge.Dotnet.Models; +using Gauge.Dotnet.Processors; +using Gauge.Dotnet.Wrappers; +using Gauge.Messages; +using Microsoft.AspNetCore.Server.Kestrel.Core; +using Microsoft.Extensions.Logging.Console; -namespace Gauge.Dotnet +namespace Gauge.Dotnet; + +internal static class Program { - internal static class Program + private static ILogger _logger = null; + + [STAThread] + [DebuggerHidden] + private static async Task Main(string[] args) { - [STAThread] - [DebuggerHidden] - private static async Task Main(string[] args) + if (args.Length == 0 || args[0] != "--start") { - if (args.Length == 0) + Console.WriteLine("usage: {0} --start", AppDomain.CurrentDomain.FriendlyName); + Environment.Exit(1); + } + + try + { + var builder = WebApplication.CreateBuilder(args); + builder.Configuration.SetupConfiguration(); + builder.Logging.SetupLogging(); + builder.WebHost.ConfigureKestrel(opts => + { + opts.Listen(IPAddress.Parse("127.0.0.1"), 0, (opt) => { opt.Protocols = HttpProtocols.Http2; }); + }); + builder.Services.ConfigureServices(builder.Configuration); + var app = builder.Build(); + _logger = app.Services.GetRequiredService().CreateLogger("Gauge"); + + Environment.CurrentDirectory = app.Configuration.GetGaugeProjectRoot(); + var buildSucceeded = app.Services.GetRequiredService().BuildTargetGaugeProject(); + if (!buildSucceeded && !app.Configuration.IgnoreBuildFailures()) + { + return; + } + + app.Lifetime.ApplicationStarted.Register(() => + { + var ports = app.Urls.Select(x => new Uri(x).Port).Distinct(); + foreach (var port in ports) + { + Console.WriteLine($"Listening on port:{port}"); + } + }); + + if (buildSucceeded) + { + app.MapGrpcService(); + } + else { - Console.WriteLine("usage: {0} --", AppDomain.CurrentDomain.FriendlyName); - Environment.Exit(1); + app.MapGrpcService(); } + app.MapGet("/", () => "Communication with gRPC endpoints must be made through a gRPC client. To learn how to create a client, visit: https://go.microsoft.com/fwlink/?linkid=2086909"); - var phase = args[0]; - var command = GaugeCommandFactory.GetExecutor(phase); - await command.Execute(); + await app.RunAsync(); + } + catch (TargetInvocationException e) + { + if (e.InnerException is not GaugeLibVersionMismatchException) + throw; + _logger?.LogCritical(e.InnerException.Message); + Environment.Exit(1); } } + + private static IConfigurationBuilder SetupConfiguration(this IConfigurationBuilder builder) => + builder.AddEnvironmentVariables(); + + public static ILoggingBuilder SetupLogging(this ILoggingBuilder builder) => + builder.ClearProviders() + .SetMinimumLevel(LogLevel.Debug) + .AddFilter("Microsoft", LogLevel.Error) + .AddFilter("Microsoft.Hosting.Lifetime", LogLevel.Error) + .AddFilter("Grpc.AspNetCore", LogLevel.Error) + .AddConsole((opt) => + { + opt.FormatterName = "GaugeLoggingFormatter"; + }) + .AddConsoleFormatter((opt) => + { + opt.IncludeScopes = true; + opt.TimestampFormat = "HH:mm:ss "; + }); + + + private static IServiceCollection ConfigureServices(this IServiceCollection services, IConfiguration config) + { + services.AddGrpc(); + services.AddTransient(); + services.AddTransient(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton((sp) => + { + return config.IsDaemon() ? + new LockFreeGaugeLoadContext(sp.GetRequiredService(), sp.GetRequiredService>()) : + new GaugeLoadContext(sp.GetRequiredService(), sp.GetRequiredService>()); + }); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(s => s.GetRequiredService().GetStepRegistry()); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddTransient, StepValidationProcessor>(); + services.AddTransient, CacheFileProcessor>(); + services.AddTransient, ImplementationFileGlobPatterProcessor>(); + services.AddTransient, ImplementationFileListProcessor>(); + services.AddTransient, StepNameProcessor>(); + services.AddTransient, StepNamesProcessor>(); + services.AddTransient, StepPositionsProcessor>(); + services.AddTransient, StubImplementationCodeProcessor>(); + services.AddTransient, RefactorProcessor>(); + services.AddTransient, SuiteDataStoreInitProcessor>(); + services.AddTransient, SuiteDataStoreInitProcessor>(); + services.AddTransient, ExecuteStepProcessor>(); + services.AddTransient, ExecutionEndingProcessor>(); + services.AddTransient, ScenarioExecutionEndingProcessor>(); + services.AddTransient, SpecExecutionEndingProcessor>(); + services.AddTransient, StepExecutionEndingProcessor>(); + services.AddTransient, ScenarioDataStoreInitProcessor>(); + services.AddTransient, SpecDataStoreInitProcessor>(); + services.AddTransient, ExecutionStartingProcessor>(); + services.AddTransient, ScenarioExecutionStartingProcessor>(); + services.AddTransient, SpecExecutionStartingProcessor>(); + services.AddTransient, StepExecutionStartingProcessor>(); + services.AddTransient, ConceptExecutionStartingProcessor>(); + services.AddTransient, ConceptExecutionEndingProcessor>(); + + return services; + } } \ No newline at end of file diff --git a/src/Properties/launchSettings.json b/src/Properties/launchSettings.json new file mode 100644 index 0000000..6702f01 --- /dev/null +++ b/src/Properties/launchSettings.json @@ -0,0 +1,12 @@ +{ + "profiles": { + "Gauge.Dotnet": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "applicationUrl": "http://localhost:62826" + } + } +} \ No newline at end of file diff --git a/src/SetupCommand.cs b/src/SetupCommand.cs deleted file mode 100644 index 65cf5b2..0000000 --- a/src/SetupCommand.cs +++ /dev/null @@ -1,116 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using System; -using System.IO; -using System.Threading.Tasks; -using Gauge.CSharp.Core; -using Gauge.Dotnet.Extensions; - -namespace Gauge.Dotnet -{ - public class SetupCommand : IGaugeCommand - { - Task IGaugeCommand.Execute() - { - var gaugeProjectRoot = Utils.GaugeProjectRoot; - var projName = new DirectoryInfo(gaugeProjectRoot).Name.ToValidCSharpIdentifier(); - - var project = $@" - - - net8.0 - - - - - - - - -"; - var properties = GenerateDefaultProperties(projName); - - var implementation = $@"using System; -using System.Collections.Generic; -using System.Linq; -using FluentAssertions; -using Gauge.CSharp.Lib; -using Gauge.CSharp.Lib.Attribute; - -namespace {projName} -{{ - public class StepImplementation - {{ - private HashSet _vowels; - - [Step(""Vowels in English language are ."")] - public void SetLanguageVowels(string vowelString) - {{ - _vowels = new HashSet(); - foreach (var c in vowelString) - {{ - _vowels.Add(c); - }} - }} - - [Step(""The word has vowels."")] - public void VerifyVowelsCountInWord(string word, int expectedCount) - {{ - var actualCount = CountVowels(word); - actualCount.Should().Be(expectedCount); - }} - - [Step(""Almost all words have vowels "")] - public void VerifyVowelsCountInMultipleWords(Table wordsTable) - {{ - var rows = wordsTable.GetTableRows(); - foreach (var row in rows) - {{ - var word = row.GetCell(""Word""); - var expectedCount = Convert.ToInt32(row.GetCell(""Vowel Count"")); - var actualCount = CountVowels(word); - - actualCount.Should().Be(expectedCount); - }} - }} - - private int CountVowels(string word) - {{ - return word.Count(c => _vowels.Contains(c)); - }} - }} -}}"; - Logger.Info("create StepImplementation.cs"); - File.WriteAllText(Path.Combine(gaugeProjectRoot, "StepImplementation.cs"), implementation); - - Logger.Info($"create {projName}.csproj"); - File.WriteAllText(Path.Combine(gaugeProjectRoot, $"{projName}.csproj"), project); - - var envPath = Path.Combine(gaugeProjectRoot, "env", "default"); - Directory.CreateDirectory(envPath); - - Logger.Info($"create {Path.Combine("env", "default", "dotnet.properties")}"); - File.WriteAllText(Path.Combine(envPath, "dotnet.properties"), properties); - return Task.FromResult(true); - } - - private static string GenerateDefaultProperties(string projName) - { - var properties = new[] - { - $"GAUGE_CSHARP_PROJECT_FILE={projName}.csproj", - "GAUGE_CSHARP_PROJECT_CONFIG=release", - Environment.NewLine, - "# Possible values for this property are 'suite', 'spec' or 'scenario’.", - "# 'scenario' clears the objects after the execution of each scenario, new objects are created for next execution.", - "gauge_clear_state_level=scenario" - }; - return string.Join(Environment.NewLine, properties); - } - } -} \ No newline at end of file diff --git a/src/StartCommand.cs b/src/StartCommand.cs deleted file mode 100644 index da174cb..0000000 --- a/src/StartCommand.cs +++ /dev/null @@ -1,94 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using System; -using System.Diagnostics; -using System.Net; -using System.Reflection; -using System.Threading.Tasks; -using Gauge.CSharp.Core; -using Gauge.Dotnet.Exceptions; -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Server.Kestrel.Core; -using Microsoft.Extensions.Hosting; - -namespace Gauge.Dotnet -{ - public class StartCommand : IGaugeCommand - { - private readonly IGaugeProjectBuilder _projectBuilder; - private readonly Type _startupType; - - public StartCommand(IGaugeProjectBuilder projectBuilder, Type startupType) - { - Environment.CurrentDirectory = Utils.GaugeProjectRoot; - _projectBuilder = projectBuilder; - this._startupType = startupType; - } - - [DebuggerHidden] - public async Task Execute() - { - var buildSucceeded = TryBuild(); - if (!buildSucceeded && !this.ShouldContinueBuildFailure()) - { - return false; - } - try - { - var builder = Host.CreateDefaultBuilder() - .ConfigureWebHostDefaults(wb => { - wb.UseShutdownTimeout(TimeSpan.FromMilliseconds(0)); - wb.UseStartup(this._startupType); - wb.UseSetting("ReflectionScanAssemblies", buildSucceeded.ToString()); - wb.ConfigureKestrel(options => - options.Listen(IPAddress.Parse("127.0.0.1"), 0, lo => lo.Protocols = HttpProtocols.Http2)); - }); - - using(var host = builder.Build()){ - await host.RunAsync(); - }; - } - catch (TargetInvocationException e) - { - if (!(e.InnerException is GaugeLibVersionMismatchException)) - throw; - Logger.Fatal(e.InnerException.Message); - } - return true; - } - - private bool ShouldContinueBuildFailure() - { - var continueOnFailure = Utils.TryReadEnvValue("GAUGE_IGNORE_RUNNER_BUILD_FAILURES"); - return !string.IsNullOrEmpty(continueOnFailure) && continueOnFailure == "true"; - } - - private bool TryBuild() - { - var customBuildPath = Utils.TryReadEnvValue("GAUGE_CUSTOM_BUILD_PATH"); - if (!string.IsNullOrEmpty(customBuildPath)) - return true; - - try - { - return _projectBuilder.BuildTargetGaugeProject(); - } - catch (NotAValidGaugeProjectException) - { - Logger.Fatal($"Cannot locate a Project File in {Utils.GaugeProjectRoot}"); - return false; - } - catch (Exception ex) - { - if (!this.ShouldContinueBuildFailure()) - Logger.Fatal($"Unable to build Project in {Utils.GaugeProjectRoot}\n{ex.Message}\n{ex.StackTrace}"); - return false; - } - } - } -} \ No newline at end of file diff --git a/src/StaticLoader.cs b/src/StaticLoader.cs index ab85b06..0e217bc 100644 --- a/src/StaticLoader.cs +++ b/src/StaticLoader.cs @@ -5,12 +5,7 @@ *----------------------------------------------------------------*/ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; using System.Text.RegularExpressions; -using Gauge.CSharp.Core; using Gauge.Dotnet.Extensions; using Gauge.Dotnet.Helpers; using Gauge.Dotnet.Models; @@ -18,123 +13,127 @@ using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; -namespace Gauge.Dotnet +namespace Gauge.Dotnet; + +public sealed class StaticLoader : IStaticLoader { - public sealed class StaticLoader : IStaticLoader + private readonly IAttributesLoader _attributesLoader; + private readonly IDirectoryWrapper _directoryWrapper; + private readonly IStepRegistry _stepRegistry; + private readonly IConfiguration _config; + private readonly ILogger _logger; + + + public StaticLoader(IAttributesLoader attributesLoader, IDirectoryWrapper directoryWrapper, IConfiguration config, ILogger logger) { - private readonly IAttributesLoader _attributesLoader; - private readonly IDirectoryWrapper _directoryWrapper; - private readonly IStepRegistry _stepRegistry; + _stepRegistry = new StepRegistry(); + _attributesLoader = attributesLoader; + _directoryWrapper = directoryWrapper; + _config = config; + _logger = logger; + LoadImplementations(); + _stepRegistry = GetStepRegistry(); + } + public IStepRegistry GetStepRegistry() + { + return _stepRegistry; + } - public StaticLoader(IAttributesLoader attributesLoader, IDirectoryWrapper directoryWrapper) - { - _stepRegistry = new StepRegistry(); - _attributesLoader = attributesLoader; - _directoryWrapper = directoryWrapper; - LoadImplementations(); - } - public IStepRegistry GetStepRegistry() - { - return _stepRegistry; - } + public void LoadStepsFromText(string content, string filepath) + { + var steps = GetStepsFrom(content); + AddStepsToRegistry(filepath, steps); + } + public void ReloadSteps(string content, string filepath) + { + if (IsFileRemoved(filepath)) return; + _stepRegistry.RemoveSteps(filepath); + LoadStepsFromText(content, filepath); + } - public void LoadStepsFromText(string content, string filepath) - { - var steps = GetStepsFrom(content); - AddStepsToRegistry(filepath, steps); - } + public void RemoveSteps(string file) + { + _stepRegistry.RemoveSteps(file); + } - public void ReloadSteps(string content, string filepath) - { - if (IsFileRemoved(filepath)) return; - _stepRegistry.RemoveSteps(filepath); - LoadStepsFromText(content, filepath); - } + private bool IsFileRemoved(string file) + { + var attributes = _attributesLoader.GetRemovedAttributes(); + var removedFiles = FileHelper.GetRemovedDirFiles(_config); + + var isFileRemoved = + attributes.Any(attribute => Path.Combine(_config.GetGaugeProjectRoot(), attribute.Value) == file) || + removedFiles.Contains(file); + return isFileRemoved; + } - public void RemoveSteps(string file) + public void LoadImplementations() + { + if (!string.IsNullOrEmpty(_config.GetGaugeCustomBuildPath())) { - _stepRegistry.RemoveSteps(file); + _logger.LogDebug("GAUGE_CUSTOM_BUILD_PATH is set, skipping static loading"); + return; } - private bool IsFileRemoved(string file) + var classFiles = _directoryWrapper.EnumerateFiles(_config.GetGaugeProjectRoot(), "*.cs", + SearchOption.AllDirectories).ToList(); + var attributes = _attributesLoader.GetRemovedAttributes(); + foreach (var attribute in attributes) { - var attributes = _attributesLoader.GetRemovedAttributes(); - var removedFiles = FileHelper.GetRemovedDirFiles(); - - var isFileRemoved = - attributes.Any(attribute => Path.Combine(Utils.GaugeProjectRoot, attribute.Value) == file) || - removedFiles.Contains(file); - return isFileRemoved; + classFiles.Remove(Path.Combine(_config.GetGaugeProjectRoot(), attribute.Value)); } - - public void LoadImplementations() + var removedFiles = FileHelper.GetRemovedDirFiles(_config); + var wantedFiles = classFiles.Except(removedFiles); + foreach (var f in wantedFiles) { - if (!string.IsNullOrEmpty(Utils.TryReadEnvValue("GAUGE_CUSTOM_BUILD_PATH"))) - { - Logger.Debug("GAUGE_CUSTOM_BUILD_PATH is set, skipping static loading"); - return; - } - - var classFiles = _directoryWrapper.EnumerateFiles(Utils.GaugeProjectRoot, "*.cs", - SearchOption.AllDirectories).ToList(); - var attributes = _attributesLoader.GetRemovedAttributes(); - foreach (var attribute in attributes) - { - classFiles.Remove(Path.Combine(Utils.GaugeProjectRoot, attribute.Value)); - } - var removedFiles = FileHelper.GetRemovedDirFiles(); - var wantedFiles = classFiles.Except(removedFiles); - foreach (var f in wantedFiles) - { - LoadStepsFromText(File.ReadAllText(f), f); - } + LoadStepsFromText(File.ReadAllText(f), f); } + } - private void AddStepsToRegistry(string fileName, IEnumerable stepMethods) + private void AddStepsToRegistry(string fileName, IEnumerable stepMethods) + { + foreach (var stepMethod in stepMethods) { - foreach (var stepMethod in stepMethods) + var attributeListSyntax = stepMethod.AttributeLists.WithStepAttribute(); + var attributeSyntax = attributeListSyntax.Attributes.GetStepAttribute(); + var stepTextsSyntax = attributeSyntax.ArgumentList.Arguments.ToList(); + var stepTexts = stepTextsSyntax.Select(s => s.ToString().Trim('"')); + var hasAlias = stepTexts.Count() > 1; + foreach (var stepText in stepTexts) { - var attributeListSyntax = stepMethod.AttributeLists.WithStepAttribute(); - var attributeSyntax = attributeListSyntax.Attributes.GetStepAttribute(); - var stepTextsSyntax = attributeSyntax.ArgumentList.Arguments.ToList(); - var stepTexts = stepTextsSyntax.Select(s => s.ToString().Trim('"')); - var hasAlias = stepTexts.Count() > 1; - foreach (var stepText in stepTexts) + var stepValue = Regex.Replace(stepText, @"(<.*?>)", @"{}"); + var classDef = stepMethod.Parent as ClassDeclarationSyntax; + var entry = new GaugeMethod { - var stepValue = Regex.Replace(stepText, @"(<.*?>)", @"{}"); - var classDef = stepMethod.Parent as ClassDeclarationSyntax; - var entry = new GaugeMethod - { - Name = stepMethod.Identifier.ValueText, - ParameterCount = stepMethod.ParameterList.Parameters.Count, - StepText = stepText, - HasAlias = hasAlias, - Aliases = stepTexts, - StepValue = stepValue, - Span = stepMethod.GetLocation().GetLineSpan(), - ClassName = classDef.Identifier.ValueText, - FileName = fileName, - IsExternal = false - }; - _stepRegistry.AddStep(stepValue, entry); - } + Name = stepMethod.Identifier.ValueText, + ParameterCount = stepMethod.ParameterList.Parameters.Count, + StepText = stepText, + HasAlias = hasAlias, + Aliases = stepTexts, + StepValue = stepValue, + Span = stepMethod.GetLocation().GetLineSpan(), + ClassName = classDef.Identifier.ValueText, + FileName = fileName, + IsExternal = false + }; + _stepRegistry.AddStep(stepValue, entry); } } + } - private static IEnumerable GetStepsFrom(string content) - { - var tree = CSharpSyntaxTree.ParseText(content); - var root = tree.GetRoot(); - - var stepMethods = from node in root.DescendantNodes().OfType() - let attributeSyntaxes = node.AttributeLists.SelectMany(syntax => syntax.Attributes) - where attributeSyntaxes.Any(syntax => - string.CompareOrdinal(syntax.ToFullString(), LibType.Step.FullName()) > 0) - select node; - return stepMethods; - } + private static IEnumerable GetStepsFrom(string content) + { + var tree = CSharpSyntaxTree.ParseText(content); + var root = tree.GetRoot(); + + var stepMethods = from node in root.DescendantNodes().OfType() + let attributeSyntaxes = node.AttributeLists.SelectMany(syntax => syntax.Attributes) + where attributeSyntaxes.Any(syntax => + string.CompareOrdinal(syntax.ToFullString(), LibType.Step.FullName()) > 0) + select node; + return stepMethods; } } \ No newline at end of file diff --git a/src/StepExecutor.cs b/src/StepExecutor.cs deleted file mode 100644 index 84f781a..0000000 --- a/src/StepExecutor.cs +++ /dev/null @@ -1,96 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using System; -using System.IO; -using System.Linq; -using System.Runtime.Serialization.Json; -using System.Text; -using Gauge.Dotnet.Converters; -using Gauge.Dotnet.Models; -using Gauge.Dotnet.Wrappers; -using Gauge.CSharp.Lib.Attribute; - -namespace Gauge.Dotnet -{ - public class StepExecutor : MethodExecutor, IStepExecutor - { - private readonly IAssemblyLoader _assemblyLoader; - - public StepExecutor(IAssemblyLoader assemblyLoader, IReflectionWrapper reflectionWrapper, - object classInstanceMananger) : base( - assemblyLoader.ClassInstanceManagerType, - reflectionWrapper, classInstanceMananger) - { - _assemblyLoader = assemblyLoader; - } - - public ExecutionResult Execute(GaugeMethod gaugeMethod, params string[] args) - { - { - var method = gaugeMethod.MethodInfo; - var executionResult = new ExecutionResult - { - Success = true, - SkipScenario = false - }; - try - { - var parameters = args.Select(o => - { - try - { - return GetTable(o); - } - catch - { - return o; - } - }).ToArray(); - Logger.Debug($"Executing method: {gaugeMethod.Name}"); - Execute(method, StringParamConverter.TryConvertParams(method, parameters)); - executionResult.Success = true; - } - catch (Exception ex) - { - var baseException = ex.GetBaseException(); - if (baseException != null && - baseException.GetType().Name.Contains("SkipScenario", StringComparison.OrdinalIgnoreCase)) { - Logger.Debug($"Skipping scenario when executing method: {method.Name} : {baseException.Message}") ; - executionResult.ExceptionMessage = baseException.Message; - executionResult.StackTrace = baseException.StackTrace; - executionResult.Source = baseException.Source; - executionResult.Success = true; - executionResult.SkipScenario = true; - } - else { - Logger.Debug($"Error executing {method.Name} : {ex.Message}") ; - var innerException = ex.InnerException ?? ex; - executionResult.ExceptionMessage = innerException.Message; - executionResult.StackTrace = innerException is AggregateException - ? innerException.ToString() - : innerException.StackTrace; - executionResult.Source = innerException.Source; - executionResult.Recoverable = gaugeMethod.ContinueOnFailure; - executionResult.Success = false; - } - } - - return executionResult; - } - } - - private object GetTable(string jsonString) - { - var serializer = new DataContractJsonSerializer(_assemblyLoader.GetLibType(LibType.Table)); - using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString))) - { - return serializer.ReadObject(ms); - } - } - } -} \ No newline at end of file diff --git a/src/Strategy/HooksStrategy.cs b/src/Strategy/HooksStrategy.cs index ebb80e2..eda3caa 100644 --- a/src/Strategy/HooksStrategy.cs +++ b/src/Strategy/HooksStrategy.cs @@ -5,40 +5,35 @@ *----------------------------------------------------------------*/ -using System; -using System.Collections.Generic; -using System.Linq; using Gauge.Dotnet.Models; -namespace Gauge.Dotnet.Strategy +namespace Gauge.Dotnet.Strategy; + +[Serializable] +public class HooksStrategy : IHooksStrategy { - [Serializable] - public class HooksStrategy : IHooksStrategy + public IEnumerable GetTaggedHooks(IEnumerable applicableTags, IList hooks) { - public IEnumerable GetTaggedHooks(IEnumerable applicableTags, IList hooks) - { - var tagsList = applicableTags.ToList(); - return from hookMethod in hooks.ToList() - where hookMethod.FilterTags != null && hookMethod.FilterTags.Any() - where - // TagAggregation.And=0, Or=1 - hookMethod.TagAggregation == 1 && hookMethod.FilterTags.Intersect(tagsList).Any() || - hookMethod.TagAggregation == 0 && hookMethod.FilterTags.All(tagsList.Contains) - orderby hookMethod.Method - select hookMethod.Method; - } + var tagsList = applicableTags.ToList(); + return from hookMethod in hooks.ToList() + where hookMethod.FilterTags != null && hookMethod.FilterTags.Any() + where + // TagAggregation.And=0, Or=1 + hookMethod.TagAggregation == 1 && hookMethod.FilterTags.Intersect(tagsList).Any() || + hookMethod.TagAggregation == 0 && hookMethod.FilterTags.All(tagsList.Contains) + orderby hookMethod.Method + select hookMethod.Method; + } - public virtual IEnumerable GetApplicableHooks(IEnumerable applicableTags, - IEnumerable hooks) - { - return GetUntaggedHooks(hooks); - } + public virtual IEnumerable GetApplicableHooks(IEnumerable applicableTags, IEnumerable hooks) + { + return GetUntaggedHooks(hooks); + } - protected IOrderedEnumerable GetUntaggedHooks(IEnumerable hookMethods) - { - return hookMethods.Where(method => method.FilterTags == null || !method.FilterTags.Any()) - .Select(method => method.Method) - .OrderBy(info => info); - } + protected IOrderedEnumerable GetUntaggedHooks(IEnumerable hookMethods) + { + return hookMethods.Where(method => method.FilterTags == null || !method.FilterTags.Any()) + .Select(method => method.Method) + .OrderBy(info => info); } } \ No newline at end of file diff --git a/src/Strategy/IHooksStrategy.cs b/src/Strategy/IHooksStrategy.cs index b8041db..b04fa63 100644 --- a/src/Strategy/IHooksStrategy.cs +++ b/src/Strategy/IHooksStrategy.cs @@ -5,14 +5,12 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; using Gauge.Dotnet.Models; -namespace Gauge.Dotnet.Strategy +namespace Gauge.Dotnet.Strategy; + +public interface IHooksStrategy { - public interface IHooksStrategy - { - IEnumerable GetTaggedHooks(IEnumerable applicableTags, IList hooks); - IEnumerable GetApplicableHooks(IEnumerable applicableTags, IEnumerable hooks); - } + IEnumerable GetTaggedHooks(IEnumerable applicableTags, IList hooks); + IEnumerable GetApplicableHooks(IEnumerable applicableTags, IEnumerable hooks); } \ No newline at end of file diff --git a/src/Strategy/TaggedHooksFirstStrategy.cs b/src/Strategy/TaggedHooksFirstStrategy.cs index 28d498a..bfaf320 100644 --- a/src/Strategy/TaggedHooksFirstStrategy.cs +++ b/src/Strategy/TaggedHooksFirstStrategy.cs @@ -5,24 +5,19 @@ *----------------------------------------------------------------*/ -using System; -using System.Collections.Generic; -using System.Linq; using Gauge.Dotnet.Models; -namespace Gauge.Dotnet.Strategy +namespace Gauge.Dotnet.Strategy; + +[Serializable] +public class TaggedHooksFirstStrategy : HooksStrategy { - [Serializable] - public class TaggedHooksFirstStrategy : HooksStrategy + public override IEnumerable GetApplicableHooks(IEnumerable applicableTags, IEnumerable hooks) { - public override IEnumerable GetApplicableHooks(IEnumerable applicableTags, - IEnumerable hooks) - { - var hookMethods = hooks as IList ?? hooks.ToList(); - var tags = applicableTags as IList ?? applicableTags.ToList(); - return tags.Any() - ? GetTaggedHooks(tags, hookMethods).Concat(GetUntaggedHooks(hookMethods)) - : GetUntaggedHooks(hookMethods); - } + var hookMethods = hooks as IList ?? hooks.ToList(); + var tags = applicableTags as IList ?? applicableTags.ToList(); + return tags.Any() + ? GetTaggedHooks(tags, hookMethods).Concat(GetUntaggedHooks(hookMethods)) + : GetUntaggedHooks(hookMethods); } } \ No newline at end of file diff --git a/src/Wrappers/ReflectionWrapper.cs b/src/Wrappers/ReflectionWrapper.cs index 48d85c3..eaf9dc7 100644 --- a/src/Wrappers/ReflectionWrapper.cs +++ b/src/Wrappers/ReflectionWrapper.cs @@ -5,39 +5,38 @@ *----------------------------------------------------------------*/ -using System; using System.Reflection; -namespace Gauge.Dotnet.Wrappers +namespace Gauge.Dotnet.Wrappers; + +public class ReflectionWrapper : IReflectionWrapper { - public class ReflectionWrapper : IReflectionWrapper + public MethodInfo GetMethod(Type type, string methodName) + { + return type.GetMethod(methodName); + } + + public MethodInfo[] GetMethods(Type type) + { + return type.GetMethods(); + } + + public object Invoke(MethodInfo method, object obj, params object[] args) + { + var result = method.Invoke(obj, args); + return result; + } + + public object InvokeMethod(Type type, object instance, string methodName, params object[] args) + { + var method = GetMethod(type, methodName); + return Invoke(method, instance, args); + } + + public object InvokeMethod(Type type, object instance, string methodName, BindingFlags bindingAttrs, + params object[] args) { - public MethodInfo GetMethod(Type type, string methodName) - { - return type.GetMethod(methodName); - } - - public MethodInfo[] GetMethods(Type type) - { - return type.GetMethods(); - } - - public object Invoke(MethodInfo method, object obj, params object[] args) - { - return method.Invoke(obj, args); - } - - public object InvokeMethod(Type type, object instance, string methodName, params object[] args) - { - var method = GetMethod(type, methodName); - return Invoke(method, instance, args); - } - - public object InvokeMethod(Type type, object instance, string methodName, BindingFlags bindingAttrs, - params object[] args) - { - var method = type.GetMethod(methodName, bindingAttrs); - return Invoke(method, instance, args); - } + var method = type.GetMethod(methodName, bindingAttrs); + return Invoke(method, instance, args); } } \ No newline at end of file diff --git a/src/dotnet.json b/src/dotnet.json index da2ab82..bb9fdff 100644 --- a/src/dotnet.json +++ b/src/dotnet.json @@ -1,6 +1,6 @@ { "id": "dotnet", - "version": "0.6.0", + "version": "0.7.0", "description": "C# support for gauge + .NET 6.0/7.0/8.0", "run": { "windows": [ @@ -31,7 +31,7 @@ ] }, "gaugeVersionSupport": { - "minimum": "1.0.6", + "minimum": "1.6.7", "maximum": "" }, "lspLangId": "csharp", diff --git a/test/AssemblyLoaderTests.cs b/test/AssemblyLoaderTests.cs index 0ec8651..55d6fb4 100644 --- a/test/AssemblyLoaderTests.cs +++ b/test/AssemblyLoaderTests.cs @@ -5,145 +5,139 @@ *----------------------------------------------------------------*/ -using System; -using System.IO; -using System.Linq; using System.Reflection; using Gauge.Dotnet.Models; using Gauge.Dotnet.Wrappers; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Logging; -namespace Gauge.Dotnet.UnitTests +namespace Gauge.Dotnet.UnitTests; + +[TestFixture] +public class AssemblyLoaderTests { - [TestFixture] - public class AssemblyLoaderTests + [SetUp] + public void Setup() { - [SetUp] - public void Setup() - { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", TmpLocation); - _assemblyLocation = "/foo/location"; - _mockAssembly = new Mock(); - var mockActivationWrapper = new Mock(); - var mockStepAttributeType = new Mock(); - _mockStepMethod = new Mock(); - var mockStepAttribute = new Mock(); - _mockStepMethod.Setup(x => x.GetCustomAttributes(false)) - .Returns(new[] { mockStepAttribute.Object }); - mockStepAttributeType.Setup(x => x.IsInstanceOfType(mockStepAttribute.Object)) - .Returns(true); - mockStepAttributeType.Setup(x => x.FullName).Returns(LibType.Step.FullName()); - var mockIClassInstanceManagerType = new Mock(); - mockIClassInstanceManagerType.Setup(x => x.FullName).Returns("Gauge.CSharp.Lib.IClassInstanceManager"); - _mockInstanceManagerType = new Mock(); - _mockInstanceManagerType.Setup(type => type.GetInterfaces()) - .Returns(new[] { mockIClassInstanceManagerType.Object }); - _mockInstanceManagerType.Setup(x => x.Name) - .Returns("TestInstanceManager"); - - var mockIScreenshotWriter = new Mock(); - mockIScreenshotWriter.Setup(x => x.FullName).Returns("Gauge.CSharp.Lib.ICustomScreenshotWriter"); - _mockScreenshotWriterType = new Mock(); - _mockScreenshotWriterType.Setup(x => x.Name) - .Returns("TestScreenGrabber"); - _mockScreenshotWriterType.Setup(x => x.GetInterfaces()) - .Returns(new[] { mockIScreenshotWriter.Object }); - _assemblyName = new AssemblyName("Mock.Test.Assembly"); - _mockAssembly.Setup(assembly => assembly.ExportedTypes) - .Returns(new[] - { - mockStepAttributeType.Object, - _mockScreenshotWriterType.Object, - _mockInstanceManagerType.Object - }); - _mockAssembly.Setup(x => x.GetName()) - .Returns(_assemblyName); - var libAssemblyName = new AssemblyName("Gauge.CSharp.Lib"); - var mockGaugeScreenshotsType = new Mock(); - mockGaugeScreenshotsType.Setup(x => x.FullName).Returns("Gauge.CSharp.Lib.GaugeScreenshots"); - _mockAssembly.Setup(assembly => assembly.GetReferencedAssemblies()) - .Returns(new[] { libAssemblyName }); - _mockLibAssembly = new Mock(); - _mockLibAssembly.Setup(x => x.GetName()).Returns(libAssemblyName); - _mockLibAssembly.Setup(x => x.ExportedTypes) - .Returns(new[] { mockStepAttributeType.Object, mockGaugeScreenshotsType.Object }); - var mockReflectionWrapper = new Mock(); - mockReflectionWrapper.Setup(r => r.GetMethods(mockStepAttributeType.Object)) - .Returns(new[] { _mockStepMethod.Object }); - var mockScreenshotWriter = new Mock(); - mockActivationWrapper.Setup(x => x.CreateInstance(_mockScreenshotWriterType.Object)).Returns(mockScreenshotWriter); - mockReflectionWrapper.Setup(x => x.InvokeMethod(mockGaugeScreenshotsType.Object, null, "RegisterCustomScreenshotWriter", - BindingFlags.Static | BindingFlags.Public, new[] { mockScreenshotWriter })); - _mockGaugeLoadContext = new Mock(); - _mockGaugeLoadContext.Setup(x => x.LoadFromAssemblyName(It.Is(x => x.FullName == _assemblyName.FullName))) - .Returns(_mockAssembly.Object); - _mockGaugeLoadContext.Setup(x => x.LoadFromAssemblyName(It.Is(x => x.FullName == libAssemblyName.FullName))) - .Returns(_mockLibAssembly.Object); - _mockGaugeLoadContext.Setup(x => x.GetAssembliesReferencingGaugeLib()) - .Returns(new[] { _mockAssembly.Object }); - _assemblyLoader = new AssemblyLoader(Path.Combine(_assemblyLocation, "Mock.Test.Assembly.dll"), _mockGaugeLoadContext.Object, - mockReflectionWrapper.Object, mockActivationWrapper.Object, new StepRegistry()); - } + _assemblyLocation = "/foo/location"; + _mockAssembly = new Mock(); + var mockActivationWrapper = new Mock(); + var mockStepAttributeType = new Mock(); + _mockStepMethod = new Mock(); + var mockStepAttribute = new Mock(); + _mockStepMethod.Setup(x => x.GetCustomAttributes(It.IsAny())) + .Returns((new List { mockStepAttribute.Object }).ToArray()); + _mockStepMethod.Setup(x => x.GetCustomAttributes(It.IsAny(), It.IsAny())) + .Returns((new List { mockStepAttribute.Object }).ToArray()); + mockStepAttributeType.Setup(x => x.IsInstanceOfType(mockStepAttribute.Object)) + .Returns(true); + mockStepAttributeType.Setup(x => x.FullName).Returns(LibType.Step.FullName()); + var mockIClassInstanceManagerType = new Mock(); + mockIClassInstanceManagerType.Setup(x => x.FullName).Returns("Gauge.CSharp.Lib.IClassInstanceManager"); + _mockInstanceManagerType = new Mock(); + _mockInstanceManagerType.Setup(type => type.GetInterfaces()) + .Returns(new[] { mockIClassInstanceManagerType.Object }); + _mockInstanceManagerType.Setup(x => x.Name) + .Returns("TestInstanceManager"); - [TearDown] - public void TearDown() - { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", null); - } + var mockIScreenshotWriter = new Mock(); + mockIScreenshotWriter.Setup(x => x.FullName).Returns("Gauge.CSharp.Lib.ICustomScreenshotWriter"); + _mockScreenshotWriterType = new Mock(); + _mockScreenshotWriterType.Setup(x => x.Name) + .Returns("TestScreenGrabber"); + _mockScreenshotWriterType.Setup(x => x.GetInterfaces()) + .Returns(new[] { mockIScreenshotWriter.Object }); + _assemblyName = new AssemblyName("Mock.Test.Assembly"); + _mockAssembly.Setup(assembly => assembly.ExportedTypes) + .Returns(new[] + { + mockStepAttributeType.Object, + _mockScreenshotWriterType.Object, + _mockInstanceManagerType.Object + }); + _mockAssembly.Setup(x => x.GetName()) + .Returns(_assemblyName); + var libAssemblyName = new AssemblyName("Gauge.CSharp.Lib"); + var mockGaugeScreenshotsType = new Mock(); + mockGaugeScreenshotsType.Setup(x => x.FullName).Returns("Gauge.CSharp.Lib.GaugeScreenshots"); + _mockAssembly.Setup(assembly => assembly.GetReferencedAssemblies()) + .Returns([libAssemblyName]); + _mockLibAssembly = new Mock(); + _mockLibAssembly.Setup(x => x.GetName()).Returns(libAssemblyName); + _mockLibAssembly.Setup(x => x.ExportedTypes) + .Returns(new[] { mockStepAttributeType.Object, mockGaugeScreenshotsType.Object }); + var mockReflectionWrapper = new Mock(); + mockReflectionWrapper.Setup(r => r.GetMethods(mockStepAttributeType.Object)) + .Returns([_mockStepMethod.Object]); + var mockScreenshotWriter = new Mock(); + mockActivationWrapper.Setup(x => x.CreateInstance(_mockScreenshotWriterType.Object)).Returns(mockScreenshotWriter); + mockReflectionWrapper.Setup(x => x.InvokeMethod(mockGaugeScreenshotsType.Object, null, "RegisterCustomScreenshotWriter", + BindingFlags.Static | BindingFlags.Public, new[] { mockScreenshotWriter })); + _mockGaugeLoadContext = new Mock(); + _mockGaugeLoadContext.Setup(x => x.LoadFromAssemblyName(It.Is(x => x.FullName == _assemblyName.FullName))) + .Returns(_mockAssembly.Object); + _mockGaugeLoadContext.Setup(x => x.LoadFromAssemblyName(It.Is(x => x.FullName == libAssemblyName.FullName))) + .Returns(_mockLibAssembly.Object); + _mockGaugeLoadContext.Setup(x => x.GetAssembliesReferencingGaugeLib()) + .Returns(new[] { _mockAssembly.Object }); + var mockAssemblyLocator = new Mock(); + mockAssemblyLocator.Setup(x => x.GetTestAssembly()).Returns(Path.Combine(_assemblyLocation, "Mock.Test.Assembly.dll")); + var mockLogger = new Mock>(); + _assemblyLoader = new AssemblyLoader(mockAssemblyLocator.Object, _mockGaugeLoadContext.Object, + mockReflectionWrapper.Object, mockActivationWrapper.Object, new StepRegistry(), mockLogger.Object); + } - private string _assemblyLocation; + private string _assemblyLocation; - private AssemblyName _assemblyName; - private Mock _mockAssembly; - private Mock _mockLibAssembly; - private AssemblyLoader _assemblyLoader; - private Mock _mockGaugeLoadContext; - private Mock _mockInstanceManagerType; - private Mock _mockScreenshotWriterType; - private Mock _mockStepMethod; - private const string TmpLocation = "/tmp/location"; + private AssemblyName _assemblyName; + private Mock _mockAssembly; + private Mock _mockLibAssembly; + private AssemblyLoader _assemblyLoader; + private Mock _mockGaugeLoadContext; + private Mock _mockInstanceManagerType; + private Mock _mockScreenshotWriterType; + private Mock _mockStepMethod; + private const string TmpLocation = "/tmp/location"; - [Test] - public void ShouldGetAssemblyReferencingGaugeLib() - { - ClassicAssert.Contains(_mockAssembly.Object, _assemblyLoader.AssembliesReferencingGaugeLib); - } + [Test] + public void ShouldGetAssemblyReferencingGaugeLib() + { + ClassicAssert.Contains(_mockAssembly.Object, _assemblyLoader.AssembliesReferencingGaugeLib); + } - [Test] - public void ShouldGetClassInstanceManagerType() - { - ClassicAssert.AreEqual(_mockInstanceManagerType.Object.Name, _assemblyLoader.ClassInstanceManagerType.Name); - } + [Test] + public void ShouldGetClassInstanceManagerType() + { + ClassicAssert.AreEqual(_mockInstanceManagerType.Object.Name, _assemblyLoader.ClassInstanceManagerType.Name); + } - [Test] - public void ShouldGetMethodsForGaugeAttribute() - { - ClassicAssert.Contains(_mockStepMethod.Object, _assemblyLoader.GetMethods(LibType.Step).ToList()); - } + [Test] + public void ShouldGetMethodsForGaugeAttribute() + { + ClassicAssert.Contains(_mockStepMethod.Object, _assemblyLoader.GetMethods(LibType.Step).ToList()); + } - [Test] - public void ShouldGetScreenGrabberType() - { - ClassicAssert.AreEqual(_mockScreenshotWriterType.Object.Name, _assemblyLoader.ScreenshotWriter.Name); - } + [Test] + public void ShouldGetScreenGrabberType() + { + ClassicAssert.AreEqual(_mockScreenshotWriterType.Object.Name, _assemblyLoader.ScreenshotWriter.Name); + } - [Test] - public void ShouldGetTargetAssembly() - { - _mockGaugeLoadContext.Verify(x => x.LoadFromAssemblyName(It.Is(a => a.FullName == _assemblyName.FullName))); - } + [Test] + public void ShouldGetTargetAssembly() + { + _mockGaugeLoadContext.Verify(x => x.LoadFromAssemblyName(It.Is(a => a.FullName == _assemblyName.FullName))); + } - [Test] - public void ShouldThrowExceptionWhenLibAssemblyNotFound() - { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", TmpLocation); - var mockReflectionWrapper = new Mock(); - var mockActivationWrapper = new Mock(); - var mockGaugeLoadContext = new Mock(); - ClassicAssert.Throws(() => new AssemblyLoader(Path.Combine(TmpLocation, $"{_mockLibAssembly.Name}.dll"), mockGaugeLoadContext.Object, - mockReflectionWrapper.Object, mockActivationWrapper.Object, new StepRegistry())); - } + [Test] + public void ShouldThrowExceptionWhenLibAssemblyNotFound() + { + var mockLogger = new Mock>(); + var mockReflectionWrapper = new Mock(); + var mockActivationWrapper = new Mock(); + var mockGaugeLoadContext = new Mock(); + var mockAssemblyLocator = new Mock(); + mockAssemblyLocator.Setup(x => x.GetTestAssembly()).Returns(Path.Combine(TmpLocation, $"{_mockLibAssembly.Name}.dll")); + Assert.Throws(() => new AssemblyLoader(mockAssemblyLocator.Object, mockGaugeLoadContext.Object, + mockReflectionWrapper.Object, mockActivationWrapper.Object, new StepRegistry(), mockLogger.Object)); } } \ No newline at end of file diff --git a/test/AssemblyLocaterTests.cs b/test/AssemblyLocaterTests.cs index f79f8da..36a75b4 100644 --- a/test/AssemblyLocaterTests.cs +++ b/test/AssemblyLocaterTests.cs @@ -5,44 +5,38 @@ *----------------------------------------------------------------*/ -using System; -using System.IO; -using System.Linq; -using Gauge.CSharp.Core; using Gauge.Dotnet.Exceptions; +using Gauge.Dotnet.Extensions; using Gauge.Dotnet.Wrappers; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Configuration; namespace Gauge.Dotnet.UnitTests { [TestFixture] internal class AssemblyLocaterTests { + private readonly Mock _mockDirectoryWrapper = new Mock(); + private string _rootDirectory; + private IConfiguration _config; + [SetUp] public void Setup() { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", Directory.GetCurrentDirectory()); + _rootDirectory = Directory.GetCurrentDirectory(); + _config = new ConfigurationBuilder() + .AddInMemoryCollection(new Dictionary { { "GAUGE_PROJECT_ROOT", _rootDirectory } }) + .Build(); } - [TearDown] - public void TearDown() - { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", null); - } - - private readonly Mock _mockDirectoryWrapper = new Mock(); - [Test] public void ShouldGetAssembliesFromGaugeBin() { var expected = "fooAssemblyLocation"; var expectedAssemblies = new[] { $"{expected}.deps.json" }; _mockDirectoryWrapper.Setup(wrapper => - wrapper.EnumerateFiles(Utils.GetGaugeBinDir(), "*.deps.json", SearchOption.TopDirectoryOnly)) + wrapper.EnumerateFiles(_config.GetGaugeBinDir(), "*.deps.json", SearchOption.TopDirectoryOnly)) .Returns(expectedAssemblies); - var assemblyLocater = new AssemblyLocater(_mockDirectoryWrapper.Object); + var assemblyLocater = new AssemblyLocater(_mockDirectoryWrapper.Object, _config); var assembly = assemblyLocater.GetTestAssembly(); @@ -53,11 +47,11 @@ public void ShouldGetAssembliesFromGaugeBin() public void ShouldNotAddAssembliesFromInvalidFile() { _mockDirectoryWrapper.Setup(wrapper => - wrapper.EnumerateFiles(Utils.GetGaugeBinDir(), "*.deps.json", SearchOption.TopDirectoryOnly)) + wrapper.EnumerateFiles(_config.GetGaugeBinDir(), "*.deps.json", SearchOption.TopDirectoryOnly)) .Returns(Enumerable.Empty()); var expectedMessage = $"Could not locate the target test assembly. Gauge-Dotnet could not find a deps.json file in {Directory.GetCurrentDirectory()}"; - ClassicAssert.Throws(() => new AssemblyLocater(_mockDirectoryWrapper.Object).GetTestAssembly(), expectedMessage); + ClassicAssert.Throws(() => new AssemblyLocater(_mockDirectoryWrapper.Object, _config).GetTestAssembly(), expectedMessage); } } } \ No newline at end of file diff --git a/test/ExecutionInfoMapperTests.cs b/test/ExecutionInfoMapperTests.cs index 5d5e18f..b691b39 100644 --- a/test/ExecutionInfoMapperTests.cs +++ b/test/ExecutionInfoMapperTests.cs @@ -1,96 +1,100 @@ -using NUnit.Framework; -using Moq; -using Gauge.Messages; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Wrappers; -using Gauge.CSharp.Lib; -using System.Linq; -using System.Collections.Generic; +using Gauge.Messages; + +namespace Gauge.Dotnet.UnitTests; -namespace Gauge.Dotnet.UnitTests +[TestFixture] +public class ExecutionInfoMapperTests { - [TestFixture] - public class ExecutionInfoMapperTests - { - private ExecutionInfo executionInfo; - private Mock mockAssemblyLoader; + private ExecutionInfo executionInfo; + private Mock mockAssemblyLoader; - [SetUp] - public void Setup() + [SetUp] + public void Setup() + { + mockAssemblyLoader = new Mock(); + mockAssemblyLoader.Setup(x => x.GetLibType(LibType.ExecutionContext)).Returns(typeof(CSharp.Lib.ExecutionContext)); + executionInfo = new ExecutionInfo { - mockAssemblyLoader = new Mock(); - mockAssemblyLoader.Setup(x => x.GetLibType(LibType.ExecutionContext)).Returns(typeof(ExecutionContext)); - executionInfo = new ExecutionInfo { - CurrentScenario = new ScenarioInfo{IsFailed = true, Name = "Dummy Scenario", - Retries = new ScenarioRetriesInfo{MaxRetries = 0, CurrentRetry = 0} }, - CurrentSpec = new SpecInfo {FileName = "dummy.spec", Name = "Dummy Spec", IsFailed = true}, - CurrentStep = new StepInfo {IsFailed = true, ErrorMessage = "Dummy Error", StackTrace = "Dummy Stacktrace", - Step = new ExecuteStepRequest {ActualStepText = "Dummy Step Text"} - } - }; - } + CurrentScenario = new ScenarioInfo + { + IsFailed = true, + Name = "Dummy Scenario", + Retries = new ScenarioRetriesInfo { MaxRetries = 0, CurrentRetry = 0 } + }, + CurrentSpec = new SpecInfo { FileName = "dummy.spec", Name = "Dummy Spec", IsFailed = true }, + CurrentStep = new StepInfo + { + IsFailed = true, + ErrorMessage = "Dummy Error", + StackTrace = "Dummy Stacktrace", + Step = new ExecuteStepRequest { ActualStepText = "Dummy Step Text" } + } + }; + } - [Test] - public void ShouldMapSpecInfo() - { - var mockActivatorWrapper = new Mock(); - mockActivatorWrapper.Setup(x => x.CreateInstance(typeof(ExecutionContext.Specification), - executionInfo.CurrentSpec.Name, executionInfo.CurrentSpec.FileName, executionInfo.CurrentSpec.IsFailed, - executionInfo.CurrentSpec.Tags.ToArray())).Verifiable(); - new ExecutionInfoMapper(mockAssemblyLoader.Object, mockActivatorWrapper.Object).ExecutionContextFrom(executionInfo); - mockActivatorWrapper.VerifyAll(); - } + [Test] + public void ShouldMapSpecInfo() + { + var mockActivatorWrapper = new Mock(); + mockActivatorWrapper.Setup(x => x.CreateInstance(typeof(CSharp.Lib.ExecutionContext.Specification), + executionInfo.CurrentSpec.Name, executionInfo.CurrentSpec.FileName, executionInfo.CurrentSpec.IsFailed, + executionInfo.CurrentSpec.Tags.ToArray())).Verifiable(); + new ExecutionInfoMapper(mockAssemblyLoader.Object, mockActivatorWrapper.Object).ExecutionContextFrom(executionInfo); + mockActivatorWrapper.VerifyAll(); + } - [Test] - public void ShouldMapNullSpecInfo() - { - executionInfo.CurrentSpec = null; - var mockActivatorWrapper = new Mock(); - mockActivatorWrapper.Setup(x => x.CreateInstance(typeof(ExecutionContext.Specification))).Verifiable(); - new ExecutionInfoMapper(mockAssemblyLoader.Object, mockActivatorWrapper.Object).ExecutionContextFrom(executionInfo); - mockActivatorWrapper.VerifyAll(); - } + [Test] + public void ShouldMapNullSpecInfo() + { + executionInfo.CurrentSpec = null; + var mockActivatorWrapper = new Mock(); + mockActivatorWrapper.Setup(x => x.CreateInstance(typeof(CSharp.Lib.ExecutionContext.Specification))).Verifiable(); + new ExecutionInfoMapper(mockAssemblyLoader.Object, mockActivatorWrapper.Object).ExecutionContextFrom(executionInfo); + mockActivatorWrapper.VerifyAll(); + } - [Test] - public void ShouldMapScenarioInfo() - { - var mockActivatorWrapper = new Mock(); - mockActivatorWrapper.Setup(x => x.CreateInstance(typeof(ExecutionContext.Scenario), - executionInfo.CurrentScenario.Name, executionInfo.CurrentScenario.IsFailed, - executionInfo.CurrentScenario.Tags.ToArray(), - executionInfo.CurrentScenario.Retries.MaxRetries, executionInfo.CurrentScenario.Retries.CurrentRetry)).Verifiable(); - new ExecutionInfoMapper(mockAssemblyLoader.Object, mockActivatorWrapper.Object).ExecutionContextFrom(executionInfo); - mockActivatorWrapper.VerifyAll(); - } + [Test] + public void ShouldMapScenarioInfo() + { + var mockActivatorWrapper = new Mock(); + mockActivatorWrapper.Setup(x => x.CreateInstance(typeof(CSharp.Lib.ExecutionContext.Scenario), + executionInfo.CurrentScenario.Name, executionInfo.CurrentScenario.IsFailed, + executionInfo.CurrentScenario.Tags.ToArray(), + executionInfo.CurrentScenario.Retries.MaxRetries, executionInfo.CurrentScenario.Retries.CurrentRetry)).Verifiable(); + new ExecutionInfoMapper(mockAssemblyLoader.Object, mockActivatorWrapper.Object).ExecutionContextFrom(executionInfo); + mockActivatorWrapper.VerifyAll(); + } - [Test] - public void ShouldMapNullScenarioInfo() - { - executionInfo.CurrentScenario = null; - var mockActivatorWrapper = new Mock(); - mockActivatorWrapper.Setup(x => x.CreateInstance(typeof(ExecutionContext.Scenario))).Verifiable(); - new ExecutionInfoMapper(mockAssemblyLoader.Object, mockActivatorWrapper.Object).ExecutionContextFrom(executionInfo); - mockActivatorWrapper.VerifyAll(); - } + [Test] + public void ShouldMapNullScenarioInfo() + { + executionInfo.CurrentScenario = null; + var mockActivatorWrapper = new Mock(); + mockActivatorWrapper.Setup(x => x.CreateInstance(typeof(CSharp.Lib.ExecutionContext.Scenario))).Verifiable(); + new ExecutionInfoMapper(mockAssemblyLoader.Object, mockActivatorWrapper.Object).ExecutionContextFrom(executionInfo); + mockActivatorWrapper.VerifyAll(); + } - [Test] - public void ShouldMapStepDetails() - { - var mockActivatorWrapper = new Mock(); - mockActivatorWrapper.Setup(x => x.CreateInstance(typeof(ExecutionContext.StepDetails), - executionInfo.CurrentStep.Step.ActualStepText, executionInfo.CurrentStep.IsFailed, - executionInfo.CurrentStep.StackTrace, executionInfo.CurrentStep.ErrorMessage, new List>())).Verifiable(); - new ExecutionInfoMapper(mockAssemblyLoader.Object, mockActivatorWrapper.Object).ExecutionContextFrom(executionInfo); - mockActivatorWrapper.VerifyAll(); - } + [Test] + public void ShouldMapStepDetails() + { + var mockActivatorWrapper = new Mock(); + mockActivatorWrapper.Setup(x => x.CreateInstance(typeof(CSharp.Lib.ExecutionContext.StepDetails), + executionInfo.CurrentStep.Step.ActualStepText, executionInfo.CurrentStep.IsFailed, + executionInfo.CurrentStep.StackTrace, executionInfo.CurrentStep.ErrorMessage, new List>())).Verifiable(); + new ExecutionInfoMapper(mockAssemblyLoader.Object, mockActivatorWrapper.Object).ExecutionContextFrom(executionInfo); + mockActivatorWrapper.VerifyAll(); + } - [Test] - public void ShouldMapNullStepDetails() - { - executionInfo.CurrentStep = null; - var mockActivatorWrapper = new Mock(); - mockActivatorWrapper.Setup(x => x.CreateInstance(typeof(ExecutionContext.StepDetails))).Verifiable(); - new ExecutionInfoMapper(mockAssemblyLoader.Object, mockActivatorWrapper.Object).ExecutionContextFrom(executionInfo); - mockActivatorWrapper.VerifyAll(); - } + [Test] + public void ShouldMapNullStepDetails() + { + executionInfo.CurrentStep = null; + var mockActivatorWrapper = new Mock(); + mockActivatorWrapper.Setup(x => x.CreateInstance(typeof(CSharp.Lib.ExecutionContext.StepDetails))).Verifiable(); + new ExecutionInfoMapper(mockAssemblyLoader.Object, mockActivatorWrapper.Object).ExecutionContextFrom(executionInfo); + mockActivatorWrapper.VerifyAll(); } } \ No newline at end of file diff --git a/test/ExecutionOrchestratorTests.cs b/test/ExecutionOrchestratorTests.cs index eadaaf2..ba9b516 100644 --- a/test/ExecutionOrchestratorTests.cs +++ b/test/ExecutionOrchestratorTests.cs @@ -5,239 +5,228 @@ *----------------------------------------------------------------*/ -using System; -using System.Collections.Generic; -using System.IO; using System.Reflection; -using System.Threading; -using Gauge.CSharp.Core; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Models; using Gauge.Dotnet.Strategy; using Gauge.Dotnet.Wrappers; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Logging; -namespace Gauge.Dotnet.UnitTests +namespace Gauge.Dotnet.UnitTests; + +[TestFixture] +public class ExecutionOrchestratorTests { - [TestFixture] - public class ExecutionOrchestratorTests + private readonly Mock> _logger = new(); + private IConfiguration _config; + + [SetUp] + public void Setup() { - [SetUp] - public void Setup() - { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", - Directory.GetDirectoryRoot(Assembly.GetExecutingAssembly().Location)); - } + _config = new ConfigurationBuilder() + .AddInMemoryCollection(new Dictionary { { "GAUGE_PROJECT_ROOT", Directory.GetDirectoryRoot(Assembly.GetExecutingAssembly().Location) } }) + .Build(); + } - [TearDown] - public void TearDown() - { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", null); - } + [Test] + public async Task ShouldExecuteHooks() + { + var pendingMessages = new List { "Foo", "Bar" }; + var pendingScreenshots = new List { "screenshot.png" }; + var executionResult = new ExecutionResult { Success = true }; + var mockReflectionWrapper = new Mock(); + var mockAssemblyLoader = new Mock(); + var mockClassInstanceManager = new Mock().Object; + var hooksStrategy = new HooksStrategy(); + var mockHookExecuter = new Mock(); + mockHookExecuter.Setup(m => + m.Execute("hooks", hooksStrategy, new List(), It.IsAny(), It.IsAny()) + ).ReturnsAsync(executionResult).Verifiable(); + var mockStepExecuter = new Mock(); + var reflectionWrapper = mockReflectionWrapper.Object; + var mockType = new Mock().Object; + mockAssemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)).Returns(mockType); + mockAssemblyLoader.Setup(x => x.GetLibType(LibType.ScreenshotFilesCollector)).Returns(mockType); + mockAssemblyLoader.Setup(x => x.GetClassInstanceManager()).Returns(mockClassInstanceManager); + mockReflectionWrapper.Setup(x => + x.InvokeMethod(mockType, null, "GetAllPendingMessages", It.IsAny())) + .Returns(pendingMessages); + mockReflectionWrapper.Setup(x => + x.InvokeMethod(mockType, null, "GetAllPendingScreenshotFiles", It.IsAny())) + .Returns(pendingScreenshots); + var assemblyLoader = mockAssemblyLoader.Object; + var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, + mockHookExecuter.Object, mockStepExecuter.Object, _config, _logger.Object); + + var result = await executionOrchestrator.ExecuteHooks("hooks", hooksStrategy, new List(), 1, It.IsAny()); + + mockHookExecuter.VerifyAll(); + ClassicAssert.False(result.Failed); + } - [Test] - public void ShouldExecuteHooks() - { - var pendingMessages = new List { "Foo", "Bar" }; - var pendingScreenshots = new List { "screenshot.png" }; - var executionResult = new ExecutionResult { Success = true }; - var mockReflectionWrapper = new Mock(); - var mockAssemblyLoader = new Mock(); - var mockClassInstanceManager = new Mock().Object; - var hooksStrategy = new HooksStrategy(); - var mockHookExecuter = new Mock(); - mockHookExecuter.Setup(m => - m.Execute("hooks", hooksStrategy, new List(), It.IsAny()) - ).Returns(executionResult).Verifiable(); - var mockStepExecuter = new Mock(); - var reflectionWrapper = mockReflectionWrapper.Object; - var mockType = new Mock().Object; - mockAssemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)).Returns(mockType); - mockAssemblyLoader.Setup(x => x.GetLibType(LibType.ScreenshotFilesCollector)).Returns(mockType); - mockReflectionWrapper.Setup(x => - x.InvokeMethod(mockType, null, "GetAllPendingMessages", It.IsAny())) - .Returns(pendingMessages); - mockReflectionWrapper.Setup(x => - x.InvokeMethod(mockType, null, "GetAllPendingScreenshotFiles", It.IsAny())) - .Returns(pendingScreenshots); - var assemblyLoader = mockAssemblyLoader.Object; - var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, - mockClassInstanceManager, mockHookExecuter.Object, mockStepExecuter.Object); - - var result = executionOrchestrator.ExecuteHooks("hooks", hooksStrategy, new List(), - It.IsAny()); - - mockHookExecuter.VerifyAll(); - ClassicAssert.False(result.Failed); - } - - [Test] - public void ShouldExecuteHooksAndNotTakeScreenshotOnFailureWhenDisabled() - { - var pendingMessages = new List { "Foo", "Bar" }; - var pendingScreenshots = new List { "screenshot.png" }; - var hooksStrategy = new HooksStrategy(); - var executionResult = new ExecutionResult - { - Success = false, - ExceptionMessage = "Some Error", - StackTrace = "StackTrace" - }; - var mockClassInstanceManager = new Mock().Object; - var mockReflectionWrapper = new Mock(); - var mockAssemblyLoader = new Mock(); - var mockHookExecuter = new Mock(); - var mockStepExecuter = new Mock(); - var reflectionWrapper = mockReflectionWrapper.Object; - var assemblyLoader = mockAssemblyLoader.Object; - var orchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, - mockClassInstanceManager, - mockHookExecuter.Object, mockStepExecuter.Object); - mockHookExecuter.Setup(executor => - executor.Execute("hooks", hooksStrategy, new List(), It.IsAny()) - ).Returns(executionResult).Verifiable(); - var mockType = new Mock().Object; - mockAssemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)).Returns(mockType); - mockAssemblyLoader.Setup(x => x.GetLibType(LibType.ScreenshotFilesCollector)).Returns(mockType); - mockReflectionWrapper.Setup(x => - x.InvokeMethod(mockType, null, "GetAllPendingMessages", It.IsAny())) - .Returns(pendingMessages); - mockReflectionWrapper.Setup(x => - x.InvokeMethod(mockType, null, "GetAllPendingScreenshotFiles", It.IsAny())) - .Returns(pendingScreenshots); - - var screenshotEnabled = Utils.TryReadEnvValue("SCREENSHOT_ON_FAILURE"); - Environment.SetEnvironmentVariable("SCREENSHOT_ON_FAILURE", "false"); - - var result = orchestrator.ExecuteHooks("hooks", hooksStrategy, new List(), - It.IsAny()); - - mockHookExecuter.VerifyAll(); - ClassicAssert.True(result.Failed); - ClassicAssert.True(string.IsNullOrEmpty(result.FailureScreenshotFile)); - Environment.SetEnvironmentVariable("SCREENSHOT_ON_FAILURE", screenshotEnabled); - } - - [Test] - public void ShouldExecuteMethod() + [Test] + public async Task ShouldExecuteHooksAndNotTakeScreenshotOnFailureWhenDisabled() + { + _config["SCREENSHOT_ON_FAILURE"] = "false"; + var pendingMessages = new List { "Foo", "Bar" }; + var pendingScreenshots = new List { "screenshot.png" }; + var hooksStrategy = new HooksStrategy(); + var executionResult = new ExecutionResult { - var pendingMessages = new List { "Foo", "Bar" }; - var pendingScreenshots = new List { "screenshot.png" }; - var gaugeMethod = new GaugeMethod { Name = "ShouldExecuteMethod", ParameterCount = 1 }; - var args = new[] { "Bar", "String" }; - - var mockClassInstanceManager = new Mock().Object; - var mockReflectionWrapper = new Mock(); - var mockAssemblyLoader = new Mock(); - var mockHookExecuter = new Mock(); - var mockStepExecutor = new Mock(); - - mockStepExecutor.Setup(executor => executor.Execute(gaugeMethod, It.IsAny())) - .Returns(() => new ExecutionResult { Success = true }) - .Callback(() => Thread.Sleep(1)); // Simulate a delay in method execution - - var orchestrator = new ExecutionOrchestrator(mockReflectionWrapper.Object, mockAssemblyLoader.Object, - mockClassInstanceManager, mockHookExecuter.Object, mockStepExecutor.Object); - - var mockType = new Mock().Object; - mockAssemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)).Returns(mockType); - mockAssemblyLoader.Setup(x => x.GetLibType(LibType.ScreenshotFilesCollector)).Returns(mockType); - mockReflectionWrapper.Setup(x => - x.InvokeMethod(mockType, null, "GetAllPendingMessages", It.IsAny())) - .Returns(pendingMessages); - mockReflectionWrapper.Setup(x => - x.InvokeMethod(mockType, null, "GetAllPendingScreenshotFiles", It.IsAny())) - .Returns(pendingScreenshots); - var result = orchestrator.ExecuteStep(gaugeMethod, args); - mockStepExecutor.VerifyAll(); - ClassicAssert.False(result.Failed); - ClassicAssert.True(result.ExecutionTime > 0); - } - - [Test] - public void ShouldNotTakeScreenShotWhenDisabled() + Success = false, + ExceptionMessage = "Some Error", + StackTrace = "StackTrace" + }; + var mockClassInstanceManager = new Mock().Object; + var mockReflectionWrapper = new Mock(); + var mockAssemblyLoader = new Mock(); + var mockHookExecuter = new Mock(); + var mockStepExecuter = new Mock(); + var reflectionWrapper = mockReflectionWrapper.Object; + var assemblyLoader = mockAssemblyLoader.Object; + var orchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, + mockHookExecuter.Object, mockStepExecuter.Object, _config, _logger.Object); + mockHookExecuter.Setup(executor => + executor.Execute("hooks", hooksStrategy, new List(), It.IsAny(), It.IsAny()) + ).ReturnsAsync(executionResult).Verifiable(); + var mockType = new Mock().Object; + mockAssemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)).Returns(mockType); + mockAssemblyLoader.Setup(x => x.GetLibType(LibType.ScreenshotFilesCollector)).Returns(mockType); + mockAssemblyLoader.Setup(x => x.GetClassInstanceManager()).Returns(mockClassInstanceManager); + mockReflectionWrapper.Setup(x => + x.InvokeMethod(mockType, null, "GetAllPendingMessages", It.IsAny())) + .Returns(pendingMessages); + mockReflectionWrapper.Setup(x => + x.InvokeMethod(mockType, null, "GetAllPendingScreenshotFiles", It.IsAny())) + .Returns(pendingScreenshots); + + var result = await orchestrator.ExecuteHooks("hooks", hooksStrategy, new List(), 1, It.IsAny()); + + mockHookExecuter.VerifyAll(); + ClassicAssert.True(result.Failed); + ClassicAssert.True(string.IsNullOrEmpty(result.FailureScreenshotFile)); + } + + [Test] + public async Task ShouldExecuteMethod() + { + var pendingMessages = new List { "Foo", "Bar" }; + var pendingScreenshots = new List { "screenshot.png" }; + var gaugeMethod = new GaugeMethod { Name = "ShouldExecuteMethod", ParameterCount = 1 }; + var args = new[] { "Bar", "String" }; + + var mockClassInstanceManager = new Mock().Object; + var mockReflectionWrapper = new Mock(); + var mockAssemblyLoader = new Mock(); + var mockHookExecuter = new Mock(); + var mockStepExecutor = new Mock(); + + mockStepExecutor.Setup(executor => executor.Execute(gaugeMethod, It.IsAny(), It.IsAny())) + .ReturnsAsync(() => new ExecutionResult { Success = true }) + .Callback(() => Thread.Sleep(1)); // Simulate a delay in method execution + + var orchestrator = new ExecutionOrchestrator(mockReflectionWrapper.Object, mockAssemblyLoader.Object, + mockHookExecuter.Object, mockStepExecutor.Object, _config, _logger.Object); + + var mockType = new Mock().Object; + mockAssemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)).Returns(mockType); + mockAssemblyLoader.Setup(x => x.GetLibType(LibType.ScreenshotFilesCollector)).Returns(mockType); + mockAssemblyLoader.Setup(x => x.GetClassInstanceManager()).Returns(mockClassInstanceManager); + mockReflectionWrapper.Setup(x => + x.InvokeMethod(mockType, null, "GetAllPendingMessages", It.IsAny())) + .Returns(pendingMessages); + mockReflectionWrapper.Setup(x => + x.InvokeMethod(mockType, null, "GetAllPendingScreenshotFiles", It.IsAny())) + .Returns(pendingScreenshots); + var result = await orchestrator.ExecuteStep(gaugeMethod, 1, args); + mockStepExecutor.VerifyAll(); + ClassicAssert.False(result.Failed); + ClassicAssert.True(result.ExecutionTime > 0); + } + + [Test] + public async Task ShouldNotTakeScreenShotWhenDisabled() + { + _config["SCREENSHOT_ON_FAILURE"] = "false"; + + var pendingMessages = new List { "Foo", "Bar" }; + var pendingScreenshots = new List { "screenshot.png" }; + var gaugeMethod = new GaugeMethod { Name = "ShouldNotTakeScreenShotWhenDisabled", ParameterCount = 1 }; + + var executionResult = new ExecutionResult { - var pendingMessages = new List { "Foo", "Bar" }; - var pendingScreenshots = new List { "screenshot.png" }; - var gaugeMethod = new GaugeMethod { Name = "ShouldNotTakeScreenShotWhenDisabled", ParameterCount = 1 }; - - var executionResult = new ExecutionResult - { - Success = false, - ExceptionMessage = "Some Error", - StackTrace = "StackTrace" - }; - var mockClassInstanceManager = new Mock().Object; - var mockReflectionWrapper = new Mock(); - var mockAssemblyLoader = new Mock(); - var mockHookExecuter = new Mock(); - var mockStepExecutor = new Mock(); - mockStepExecutor.Setup(executor => executor.Execute(gaugeMethod, It.IsAny())) - .Returns(executionResult); - var mockType = new Mock().Object; - mockAssemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)).Returns(mockType); - mockAssemblyLoader.Setup(x => x.GetLibType(LibType.ScreenshotFilesCollector)).Returns(mockType); - mockReflectionWrapper.Setup(x => - x.InvokeMethod(mockType, null, "GetAllPendingMessages", It.IsAny())) - .Returns(pendingMessages); - mockReflectionWrapper.Setup(x => - x.InvokeMethod(mockType, null, "GetAllPendingScreenshotFiles", It.IsAny())) - .Returns(pendingScreenshots); - - var orchestrator = new ExecutionOrchestrator(mockReflectionWrapper.Object, mockAssemblyLoader.Object, - mockClassInstanceManager, mockHookExecuter.Object, mockStepExecutor.Object); - - var screenshotEnabled = Utils.TryReadEnvValue("SCREENSHOT_ON_FAILURE"); - Environment.SetEnvironmentVariable("SCREENSHOT_ON_FAILURE", "false"); - - var result = orchestrator.ExecuteStep(gaugeMethod, "Bar", "string"); - - mockStepExecutor.VerifyAll(); - ClassicAssert.True(string.IsNullOrEmpty(result.FailureScreenshotFile)); - Environment.SetEnvironmentVariable("SCREENSHOT_ON_FAILURE", screenshotEnabled); - } - - [Test] - public void ShouldTakeScreenShotOnFailedExecution() + Success = false, + ExceptionMessage = "Some Error", + StackTrace = "StackTrace" + }; + var mockClassInstanceManager = new Mock().Object; + var mockReflectionWrapper = new Mock(); + var mockAssemblyLoader = new Mock(); + var mockHookExecuter = new Mock(); + var mockStepExecutor = new Mock(); + mockStepExecutor.Setup(executor => executor.Execute(gaugeMethod, It.IsAny(), It.IsAny())) + .ReturnsAsync(executionResult); + var mockType = new Mock().Object; + mockAssemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)).Returns(mockType); + mockAssemblyLoader.Setup(x => x.GetLibType(LibType.ScreenshotFilesCollector)).Returns(mockType); + mockAssemblyLoader.Setup(x => x.GetClassInstanceManager()).Returns(mockClassInstanceManager); + mockReflectionWrapper.Setup(x => + x.InvokeMethod(mockType, null, "GetAllPendingMessages", It.IsAny())) + .Returns(pendingMessages); + mockReflectionWrapper.Setup(x => + x.InvokeMethod(mockType, null, "GetAllPendingScreenshotFiles", It.IsAny())) + .Returns(pendingScreenshots); + + var orchestrator = new ExecutionOrchestrator(mockReflectionWrapper.Object, mockAssemblyLoader.Object, + mockHookExecuter.Object, mockStepExecutor.Object, _config, _logger.Object); + + var result = await orchestrator.ExecuteStep(gaugeMethod, 1, "Bar", "string"); + + mockStepExecutor.VerifyAll(); + ClassicAssert.True(string.IsNullOrEmpty(result.FailureScreenshotFile)); + } + + [Test] + public async Task ShouldTakeScreenShotOnFailedExecution() + { + var pendingMessages = new List { "Foo", "Bar" }; + var expectedScreenshot = "Testscreenshot.png"; + var pendingScreenshots = new List { expectedScreenshot }; + var gaugeMethod = new GaugeMethod { Name = "ShouldExecuteMethod", ParameterCount = 1 }; + var executionResult = new ExecutionResult { - var pendingMessages = new List { "Foo", "Bar" }; - var expectedScreenshot = "Testscreenshot.png"; - var pendingScreenshots = new List { expectedScreenshot }; - var gaugeMethod = new GaugeMethod { Name = "ShouldExecuteMethod", ParameterCount = 1 }; - var executionResult = new ExecutionResult - { - Success = false, - ExceptionMessage = "error", - StackTrace = "stacktrace" - }; - var mockInstance = new Mock().Object; - var mockAssemblyLoader = new Mock(); - var mockReflectionWrapper = new Mock(); - var mockHookExecuter = new Mock(); - var mockStepExecutor = new Mock(); - mockStepExecutor.Setup(executor => executor.Execute(gaugeMethod, It.IsAny())) - .Returns(executionResult).Verifiable(); - var mockType = new Mock().Object; - mockAssemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)).Returns(mockType); - mockAssemblyLoader.Setup(x => x.GetLibType(LibType.ScreenshotFilesCollector)).Returns(mockType); - mockReflectionWrapper.Setup(x => - x.InvokeMethod(mockType, null, "GetAllPendingMessages", It.IsAny())) - .Returns(pendingMessages); - mockReflectionWrapper.Setup(x => - x.InvokeMethod(mockType, null, "GetAllPendingScreenshotFiles", It.IsAny())) - .Returns(pendingScreenshots); - - var orchestrator = new ExecutionOrchestrator(mockReflectionWrapper.Object, mockAssemblyLoader.Object, - mockInstance, mockHookExecuter.Object, mockStepExecutor.Object); - - var result = orchestrator.ExecuteStep(gaugeMethod, "Bar", "String"); - mockStepExecutor.VerifyAll(); - - - ClassicAssert.True(result.Failed); - ClassicAssert.AreEqual(expectedScreenshot, result.FailureScreenshotFile); - } + Success = false, + ExceptionMessage = "error", + StackTrace = "stacktrace" + }; + var mockInstance = new Mock().Object; + var mockAssemblyLoader = new Mock(); + var mockReflectionWrapper = new Mock(); + var mockHookExecuter = new Mock(); + var mockStepExecutor = new Mock(); + mockStepExecutor.Setup(executor => executor.Execute(gaugeMethod, It.IsAny(), It.IsAny())) + .ReturnsAsync(executionResult).Verifiable(); + var mockType = new Mock().Object; + mockAssemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)).Returns(mockType); + mockAssemblyLoader.Setup(x => x.GetLibType(LibType.ScreenshotFilesCollector)).Returns(mockType); + mockAssemblyLoader.Setup(x => x.GetClassInstanceManager()).Returns(mockInstance); + mockReflectionWrapper.Setup(x => + x.InvokeMethod(mockType, null, "GetAllPendingMessages", It.IsAny())) + .Returns(pendingMessages); + mockReflectionWrapper.Setup(x => + x.InvokeMethod(mockType, null, "GetAllPendingScreenshotFiles", It.IsAny())) + .Returns(pendingScreenshots); + + var orchestrator = new ExecutionOrchestrator(mockReflectionWrapper.Object, mockAssemblyLoader.Object, + mockHookExecuter.Object, mockStepExecutor.Object, _config, _logger.Object); + + var result = await orchestrator.ExecuteStep(gaugeMethod, 1, "Bar", "String"); + mockStepExecutor.VerifyAll(); + + + ClassicAssert.True(result.Failed); + ClassicAssert.AreEqual(expectedScreenshot, result.FailureScreenshotFile); } } \ No newline at end of file diff --git a/test/Gauge.Dotnet.UnitTests.csproj b/test/Gauge.Dotnet.UnitTests.csproj index c982e1b..fc94e99 100644 --- a/test/Gauge.Dotnet.UnitTests.csproj +++ b/test/Gauge.Dotnet.UnitTests.csproj @@ -1,18 +1,19 @@  - - net8.0 - + + net8.0 + enable + - - - - - - + + + + + + - - - + + + diff --git a/test/GaugeCommandFactoryTests.cs b/test/GaugeCommandFactoryTests.cs deleted file mode 100644 index f35d042..0000000 --- a/test/GaugeCommandFactoryTests.cs +++ /dev/null @@ -1,44 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using System; -using System.IO; -using NUnit.Framework; -using NUnit.Framework.Legacy; - -namespace Gauge.Dotnet.UnitTests -{ - [TestFixture] - public class GaugeCommandFactoryTests - { - [SetUp] - public void Setup() - { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", Directory.GetCurrentDirectory()); - } - - [TearDown] - public void TearDown() - { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", null); - } - - [Test] - public void ShouldGetSetupPhaseExecutorForInit() - { - var command = GaugeCommandFactory.GetExecutor("--init"); - ClassicAssert.AreEqual(command.GetType(), typeof(SetupCommand)); - } - - [Test] - public void ShouldGetStartPhaseExecutorByDefault() - { - var command = GaugeCommandFactory.GetExecutor(default(string)); - ClassicAssert.AreEqual(command.GetType(), typeof(StartCommand)); - } - } -} \ No newline at end of file diff --git a/test/HookExecutorTests.cs b/test/HookExecutorTests.cs index 9732c92..f0f33a5 100644 --- a/test/HookExecutorTests.cs +++ b/test/HookExecutorTests.cs @@ -5,137 +5,117 @@ *----------------------------------------------------------------*/ -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Threading; +using Gauge.CSharp.Lib; +using Gauge.Dotnet.Executors; +using Gauge.Dotnet.Models; using Gauge.Dotnet.Strategy; using Gauge.Dotnet.UnitTests.Helpers; -using Gauge.Dotnet.Wrappers; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Logging; using ExecutionContext = Gauge.CSharp.Lib.ExecutionContext; -namespace Gauge.Dotnet.UnitTests +namespace Gauge.Dotnet.UnitTests; + +[TestFixture] +internal class HookExecutorTests { - [TestFixture] - internal class HookExecutorTests + private readonly Mock> mockLogger = new(); + + [Test] + public async Task ShoudExecuteHooks() + { + var mockClassInstanceManager = new Mock(); + var mockHookRegistry = new Mock(); + var mockLogger = new Mock>(); + + var mockAssemblyLoader = new Mock(); + var type = LibType.BeforeSuite; + var methodInfo = new MockMethodBuilder(mockAssemblyLoader) + .WithName($"{type}Hook") + .WithFilteredHook(type) + .WithDeclaringTypeName("my.foo.type") + .WithNoParameters() + .Build(); + var method = new HookMethod(type, methodInfo, mockAssemblyLoader.Object); + mockHookRegistry.Setup(x => x.BeforeSuiteHooks).Returns(new HashSet { method }); + mockHookRegistry.Setup(x => x.MethodFor($"my.foo.type.{type}Hook")).Returns(methodInfo); + mockAssemblyLoader.Setup(x => x.ClassInstanceManagerType).Returns(typeof(IClassInstanceManager)); + mockAssemblyLoader.Setup(x => x.GetClassInstanceManager()).Returns(mockClassInstanceManager.Object); + + var mockExecutionInfoMapper = new Mock(); + mockExecutionInfoMapper.Setup(x => x.ExecutionContextFrom(It.IsAny())).Returns(new { }); + + var executor = new HookExecutor(mockAssemblyLoader.Object, mockExecutionInfoMapper.Object, mockHookRegistry.Object, mockLogger.Object); + + var result = await executor.Execute("BeforeSuite", new HooksStrategy(), new List(), 1, new ExecutionInfo()); + ClassicAssert.True(result.Success, $"Hook execution failed: {result.ExceptionMessage}\n{result.StackTrace}"); + } + + [Test] + public async Task ShoudExecuteHooksWithExecutionContext() + { + var mockClassInstanceManager = new Mock(); + var mockHookRegistry = new Mock(); + + var mockAssemblyLoader = new Mock(); + var type = LibType.BeforeSuite; + var methodInfo = new MockMethodBuilder(mockAssemblyLoader) + .WithName($"{type}Hook") + .WithFilteredHook(type) + .WithDeclaringTypeName("my.foo.type") + .WithParameters(new KeyValuePair(typeof(ExecutionContext), "context")) + .Build(); + var method = new HookMethod(type, methodInfo, mockAssemblyLoader.Object); + mockHookRegistry.Setup(x => x.BeforeSuiteHooks).Returns(new HashSet { method }); + mockHookRegistry.Setup(x => x.MethodFor($"my.foo.type.BeforeSuiteHook-ExecutionContextcontext")).Returns(methodInfo); + mockAssemblyLoader.Setup(x => x.ClassInstanceManagerType).Returns(typeof(IClassInstanceManager)); + mockAssemblyLoader.Setup(x => x.GetClassInstanceManager()).Returns(mockClassInstanceManager.Object); + + var executionInfo = new ExecutionInfo(); + var expectedExecutionInfo = new ExecutionContext(); + + var mockExecutionInfoMapper = new Mock(); + mockExecutionInfoMapper.Setup(x => x.ExecutionContextFrom(executionInfo)).Returns(expectedExecutionInfo); + + mockClassInstanceManager.Setup(x => x.InvokeMethod(methodInfo, 1, expectedExecutionInfo)).Verifiable(); + + var executor = new HookExecutor(mockAssemblyLoader.Object, mockExecutionInfoMapper.Object, mockHookRegistry.Object, mockLogger.Object); + + var result = await executor.Execute("BeforeSuite", new HooksStrategy(), new List(), 1, executionInfo); + ClassicAssert.True(result.Success, $"Hook execution failed: {result.ExceptionMessage}\n{result.StackTrace}"); + mockClassInstanceManager.VerifyAll(); + } + + [Test] + public async Task ShoudExecuteHooksAndGetTheError() { - [Test] - public void ShoudExecuteHooks() - { - var mockInstance = new Mock().Object; - var mockClassInstanceManagerType = new Mock().Object; - var mockClassInstanceManager = new ThreadLocal(() => new Mock().Object); - - var mockAssemblyLoader = new Mock(); - var type = LibType.BeforeSuite; - var methodInfo = new MockMethodBuilder(mockAssemblyLoader) - .WithName($"{type}Hook") - .WithFilteredHook(type) - .WithDeclaringTypeName("my.foo.type") - .WithNoParameters() - .Build(); - mockAssemblyLoader.Setup(x => x.GetMethods(type)).Returns(new List { methodInfo }); - mockAssemblyLoader.Setup(x => x.ClassInstanceManagerType).Returns(mockClassInstanceManagerType); - - var mockReflectionWrapper = new Mock(); - mockReflectionWrapper - .Setup(x => x.InvokeMethod(mockClassInstanceManagerType, mockClassInstanceManager, "Get", - methodInfo.DeclaringType)) - .Returns(mockInstance); - mockReflectionWrapper.Setup(x => x.Invoke(methodInfo, mockInstance, new List())); - - var mockExecutionInfoMapper = new Mock(); - mockExecutionInfoMapper.Setup(x => x.ExecutionContextFrom(It.IsAny())).Returns(new { }); - - var executor = new HookExecutor(mockAssemblyLoader.Object, mockReflectionWrapper.Object, - mockClassInstanceManager, mockExecutionInfoMapper.Object); - - var result = executor.Execute("BeforeSuite", new HooksStrategy(), new List(), - new ExecutionInfo()); - ClassicAssert.True(result.Success, $"Hook execution failed: {result.ExceptionMessage}\n{result.StackTrace}"); - } - - [Test] - public void ShoudExecuteHooksWithExecutionContext() - { - var mockInstance = new Mock().Object; - var mockClassInstanceManagerType = new Mock().Object; - var mockClassInstanceManager = new ThreadLocal(() => new Mock().Object); - - var mockAssemblyLoader = new Mock(); - var type = LibType.BeforeSuite; - var methodInfo = new MockMethodBuilder(mockAssemblyLoader) - .WithName($"{type}Hook") - .WithFilteredHook(type) - .WithDeclaringTypeName("my.foo.type") - .WithParameters(new KeyValuePair(typeof(ExecutionContext), "context")) - .Build(); - mockAssemblyLoader.Setup(x => x.GetMethods(type)).Returns(new List { methodInfo }); - mockAssemblyLoader.Setup(x => x.ClassInstanceManagerType).Returns(mockClassInstanceManagerType); - - var executionInfo = new ExecutionInfo(); - var mockReflectionWrapper = new Mock(); - mockReflectionWrapper - .Setup(x => x.InvokeMethod(mockClassInstanceManagerType, mockClassInstanceManager, "Get", - methodInfo.DeclaringType)) - .Returns(mockInstance); - var expectedExecutionInfo = new ExecutionContext(); - - var mockExecutionInfoMapper = new Mock(); - mockExecutionInfoMapper.Setup(x => x.ExecutionContextFrom(executionInfo)) - .Returns(expectedExecutionInfo); - - mockReflectionWrapper.Setup(x => x.Invoke(methodInfo, mockInstance, expectedExecutionInfo)) - .Verifiable(); - - var executor = new HookExecutor(mockAssemblyLoader.Object, mockReflectionWrapper.Object, - mockClassInstanceManager, mockExecutionInfoMapper.Object); - - var result = executor.Execute("BeforeSuite", new HooksStrategy(), new List(), - executionInfo); - ClassicAssert.True(result.Success, $"Hook execution failed: {result.ExceptionMessage}\n{result.StackTrace}"); - mockReflectionWrapper.VerifyAll(); - } - - [Test] - public void ShoudExecuteHooksAndGetTheError() - { - var mockInstance = new Mock().Object; - var mockClassInstanceManagerType = new Mock().Object; - var mockClassInstanceManager = new ThreadLocal(() => new Mock().Object); - - var mockAssemblyLoader = new Mock(); - var type = LibType.BeforeSuite; - var methodInfo = new MockMethodBuilder(mockAssemblyLoader) - .WithName($"{type}Hook") - .WithFilteredHook(type) - .WithDeclaringTypeName("my.foo.type") - .Build(); - mockAssemblyLoader.Setup(x => x.GetMethods(type)).Returns(new List { methodInfo }); - mockAssemblyLoader.Setup(x => x.ClassInstanceManagerType).Returns(mockClassInstanceManagerType); - - var mockReflectionWrapper = new Mock(); - mockReflectionWrapper - .Setup(x => x.InvokeMethod(mockClassInstanceManagerType, mockClassInstanceManager, "Get", - methodInfo.DeclaringType)) - .Returns(mockInstance); - - var mockExecutionInfoMapper = new Mock(); - mockExecutionInfoMapper.Setup(x => x.ExecutionContextFrom(It.IsAny())) - .Returns(new { Foo = "bar" }); - var executor = new HookExecutor(mockAssemblyLoader.Object, mockReflectionWrapper.Object, - mockClassInstanceManager, mockExecutionInfoMapper.Object); - mockReflectionWrapper.Setup(x => x.Invoke(methodInfo, mockInstance)) - .Throws(new Exception("hook failed")); - - var result = executor.Execute("BeforeSuite", new HooksStrategy(), new List(), - new ExecutionInfo()); - ClassicAssert.False(result.Success, "Hook execution passed, expected failure"); - ClassicAssert.AreEqual(result.ExceptionMessage, "hook failed"); - } + var mockClassInstanceManagerType = new Mock(); + var mockHookRegistry = new Mock(); + + var mockAssemblyLoader = new Mock(); + var type = LibType.BeforeSuite; + var methodInfo = new MockMethodBuilder(mockAssemblyLoader) + .WithName($"{type}Hook") + .WithFilteredHook(type) + .WithDeclaringTypeName("my.foo.type") + .Build(); + var method = new HookMethod(type, methodInfo, mockAssemblyLoader.Object); + mockHookRegistry.Setup(x => x.BeforeSuiteHooks).Returns(new HashSet { method }); + mockHookRegistry.Setup(x => x.MethodFor($"my.foo.type.BeforeSuiteHook")).Returns(methodInfo); + mockAssemblyLoader.Setup(x => x.ClassInstanceManagerType).Returns(typeof(IClassInstanceManager)); + mockAssemblyLoader.Setup(x => x.GetClassInstanceManager()).Returns(mockClassInstanceManagerType.Object); + + var expectedExecutionInfo = new ExecutionContext(); + + var mockExecutionInfoMapper = new Mock(); + mockExecutionInfoMapper.Setup(x => x.ExecutionContextFrom(It.IsAny())) + .Returns(expectedExecutionInfo); + var executor = new HookExecutor(mockAssemblyLoader.Object, mockExecutionInfoMapper.Object, mockHookRegistry.Object, mockLogger.Object); + mockClassInstanceManagerType.Setup(x => x.InvokeMethod(methodInfo, 1, It.IsAny())) + .Throws(new Exception("hook failed")); + + var result = await executor.Execute("BeforeSuite", new HooksStrategy(), new List(), 1, new ExecutionInfo()); + ClassicAssert.False(result.Success, "Hook execution passed, expected failure"); + ClassicAssert.AreEqual(result.ExceptionMessage, "hook failed"); } } \ No newline at end of file diff --git a/test/Processors/CacheFileProcessorTests.cs b/test/Processors/CacheFileProcessorTests.cs index 603a8a9..d41c227 100644 --- a/test/Processors/CacheFileProcessorTests.cs +++ b/test/Processors/CacheFileProcessorTests.cs @@ -4,14 +4,8 @@ * See LICENSE.txt in the project root for license information. *----------------------------------------------------------------*/ -using System; -using System.Collections.Generic; -using System.Xml.Linq; using Gauge.Dotnet.Processors; -using Gauge.Dotnet.Wrappers; using Gauge.Messages; -using Moq; -using NUnit.Framework; namespace Gauge.Dotnet.UnitTests.Processors { @@ -32,7 +26,7 @@ public class CacheFileProcessorTests private const string fileName = "foo.cs"; [Test] - public void ShouldProcessMessage() + public async Task ShouldProcessMessage() { var mockLoader = new Mock(); mockLoader.Setup(x => x.LoadImplementations()); @@ -45,14 +39,14 @@ public void ShouldProcessMessage() Status = CacheFileRequest.Types.FileStatus.Opened }; - processor.Process(request); + await processor.Process(1, request); mockLoader.Verify(); mockLoader.VerifyNoOtherCalls(); } [Test] - public void ShouldProcessRequestWithDeleteStatus() + public async Task ShouldProcessRequestWithDeleteStatus() { var mockLoader = new Mock(); mockLoader.Setup(x => x.LoadImplementations()); @@ -64,7 +58,7 @@ public void ShouldProcessRequestWithDeleteStatus() Status = CacheFileRequest.Types.FileStatus.Deleted }; - processor.Process(request); + await processor.Process(1, request); mockLoader.Verify(); mockLoader.VerifyNoOtherCalls(); diff --git a/test/Processors/DefaultProcessorTests.cs b/test/Processors/DefaultProcessorTests.cs deleted file mode 100644 index 4b89301..0000000 --- a/test/Processors/DefaultProcessorTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - -using Gauge.Dotnet.Processors; -using Gauge.Messages; -using NUnit.Framework; -using NUnit.Framework.Legacy; - -namespace Gauge.Dotnet.UnitTests.Processors -{ - [TestFixture] - public class DefaultProcessorTests - { - [Test] - public void ShouldProcessMessage() - { - var request = new Message - { - MessageId = 20, - MessageType = Message.Types.MessageType.ExecuteStep - }; - - var response = new DefaultProcessor().Process(request); - var executionStatusResponse = response.ExecutionStatusResponse; - - ClassicAssert.AreEqual(response.MessageId, 20); - ClassicAssert.AreEqual(response.MessageType, Message.Types.MessageType.ExecutionStatusResponse); - ClassicAssert.AreEqual(executionStatusResponse.ExecutionResult.ExecutionTime, 0); - } - } -} \ No newline at end of file diff --git a/test/Processors/ExecuteStepProcessorTests.cs b/test/Processors/ExecuteStepProcessorTests.cs index c09641f..cf1db95 100644 --- a/test/Processors/ExecuteStepProcessorTests.cs +++ b/test/Processors/ExecuteStepProcessorTests.cs @@ -5,148 +5,145 @@ *----------------------------------------------------------------*/ +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Models; using Gauge.Dotnet.Processors; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; -namespace Gauge.Dotnet.UnitTests.Processors +namespace Gauge.Dotnet.UnitTests.Processors; + +[TestFixture] +public class ExecuteStepProcessorTests { - [TestFixture] - public class ExecuteStepProcessorTests + public void Foo(string param) { - public void Foo(string param) - { - } + } - [Test] - public void ShouldProcessExecuteStepRequest() + [Test] + public async Task ShouldProcessExecuteStepRequest() + { + const string parsedStepText = "Foo"; + var request = new ExecuteStepRequest { - const string parsedStepText = "Foo"; - var request = new ExecuteStepRequest - { - ActualStepText = parsedStepText, - ParsedStepText = parsedStepText, - Parameters = + ActualStepText = parsedStepText, + ParsedStepText = parsedStepText, + Parameters = + { + new Parameter { - new Parameter - { - ParameterType = Parameter.Types.ParameterType.Static, - Name = "Foo", - Value = "Bar" - } + ParameterType = Parameter.Types.ParameterType.Static, + Name = "Foo", + Value = "Bar" } - }; - var mockStepRegistry = new Mock(); - mockStepRegistry.Setup(x => x.ContainsStep(parsedStepText)).Returns(true); - var fooMethodInfo = new GaugeMethod { Name = "Foo", ParameterCount = 1 }; - mockStepRegistry.Setup(x => x.MethodFor(parsedStepText)).Returns(fooMethodInfo); - var mockOrchestrator = new Mock(); - mockOrchestrator.Setup(e => e.ExecuteStep(fooMethodInfo, It.IsAny())) - .Returns(() => new ProtoExecutionResult { ExecutionTime = 1, Failed = false }); - - var mockTableFormatter = new Mock(); - - var processor = new ExecuteStepProcessor(mockStepRegistry.Object, mockOrchestrator.Object, mockTableFormatter.Object); - var response = processor.Process(request); - - ClassicAssert.False(response.ExecutionResult.Failed); - } - - [Test] - [TestCase(Parameter.Types.ParameterType.Table)] - [TestCase(Parameter.Types.ParameterType.SpecialTable)] - public void ShouldProcessExecuteStepRequestForTableParam(Parameter.Types.ParameterType parameterType) + } + }; + var mockStepRegistry = new Mock(); + mockStepRegistry.Setup(x => x.ContainsStep(parsedStepText)).Returns(true); + var fooMethodInfo = new GaugeMethod { Name = "Foo", ParameterCount = 1 }; + mockStepRegistry.Setup(x => x.MethodFor(parsedStepText)).Returns(fooMethodInfo); + var mockOrchestrator = new Mock(); + mockOrchestrator.Setup(e => e.ExecuteStep(fooMethodInfo, It.IsAny(), It.IsAny())) + .ReturnsAsync(() => new ProtoExecutionResult { ExecutionTime = 1, Failed = false }); + + var mockTableFormatter = new Mock(); + + var processor = new ExecuteStepProcessor(mockStepRegistry.Object, mockOrchestrator.Object, mockTableFormatter.Object); + var response = await processor.Process(1, request); + + ClassicAssert.False(response.ExecutionResult.Failed); + } + + [Test] + [TestCase(Parameter.Types.ParameterType.Table)] + [TestCase(Parameter.Types.ParameterType.SpecialTable)] + public async Task ShouldProcessExecuteStepRequestForTableParam(Parameter.Types.ParameterType parameterType) + { + const string parsedStepText = "Foo"; + var protoTable = new ProtoTable(); + var tableJSON = "{'headers':['foo', 'bar'],'rows':[['foorow1','barrow1']]}"; + var request = new ExecuteStepRequest { - const string parsedStepText = "Foo"; - var protoTable = new ProtoTable(); - var tableJSON = "{'headers':['foo', 'bar'],'rows':[['foorow1','barrow1']]}"; - var request = new ExecuteStepRequest - { - ActualStepText = parsedStepText, - ParsedStepText = parsedStepText, - Parameters = + ActualStepText = parsedStepText, + ParsedStepText = parsedStepText, + Parameters = + { + new Parameter { - new Parameter - { - ParameterType = parameterType, - Table = protoTable - } + ParameterType = parameterType, + Table = protoTable } - }; - - var mockStepRegistry = new Mock(); - mockStepRegistry.Setup(x => x.ContainsStep(parsedStepText)).Returns(true); - var fooMethodInfo = new GaugeMethod { Name = "Foo", ParameterCount = 1 }; - mockStepRegistry.Setup(x => x.MethodFor(parsedStepText)).Returns(fooMethodInfo); - var mockOrchestrator = new Mock(); - mockOrchestrator.Setup(e => e.ExecuteStep(fooMethodInfo, It.IsAny())).Returns(() => - new ProtoExecutionResult - { - ExecutionTime = 1, - Failed = false - }); - - var mockAssemblyLoader = new Mock(); - mockAssemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)); - var mockTableFormatter = new Mock(); - mockTableFormatter.Setup(x => x.GetJSON(protoTable)) - .Returns(tableJSON); - var processor = new ExecuteStepProcessor(mockStepRegistry.Object, mockOrchestrator.Object, mockTableFormatter.Object); - var response = processor.Process(request); - - mockOrchestrator.Verify(executor => - executor.ExecuteStep(fooMethodInfo, It.Is(strings => strings[0] == tableJSON))); - ClassicAssert.False(response.ExecutionResult.Failed); - } - - [Test] - public void ShouldReportArgumentMismatch() - { - const string parsedStepText = "Foo"; - var request = new ExecuteStepRequest + } + }; + + var mockStepRegistry = new Mock(); + mockStepRegistry.Setup(x => x.ContainsStep(parsedStepText)).Returns(true); + var fooMethodInfo = new GaugeMethod { Name = "Foo", ParameterCount = 1 }; + mockStepRegistry.Setup(x => x.MethodFor(parsedStepText)).Returns(fooMethodInfo); + var mockOrchestrator = new Mock(); + mockOrchestrator.Setup(e => e.ExecuteStep(fooMethodInfo, It.IsAny(), It.IsAny())).ReturnsAsync(() => + new ProtoExecutionResult { - ActualStepText = parsedStepText, - ParsedStepText = parsedStepText - }; - var mockStepRegistry = new Mock(); - mockStepRegistry.Setup(x => x.ContainsStep(parsedStepText)).Returns(true); - var fooMethod = new GaugeMethod { Name = "Foo", ParameterCount = 1 }; - mockStepRegistry.Setup(x => x.MethodFor(parsedStepText)).Returns(fooMethod); - var mockOrchestrator = new Mock(); - - var mockTableFormatter = new Mock(); - - var processor = new ExecuteStepProcessor(mockStepRegistry.Object, mockOrchestrator.Object, mockTableFormatter.Object); - var response = processor.Process(request); - - ClassicAssert.True(response.ExecutionResult.Failed); - ClassicAssert.AreEqual(response.ExecutionResult.ErrorMessage, - "Argument length mismatch for Foo. Actual Count: 0, Expected Count: 1"); - } - - [Test] - public void ShouldReportMissingStep() + ExecutionTime = 1, + Failed = false + }); + + var mockAssemblyLoader = new Mock(); + mockAssemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)); + var mockTableFormatter = new Mock(); + mockTableFormatter.Setup(x => x.GetJSON(protoTable)) + .Returns(tableJSON); + var processor = new ExecuteStepProcessor(mockStepRegistry.Object, mockOrchestrator.Object, mockTableFormatter.Object); + var response = await processor.Process(1, request); + + mockOrchestrator.Verify(executor => + executor.ExecuteStep(fooMethodInfo, It.IsAny(), It.Is(strings => strings[0] == tableJSON))); + ClassicAssert.False(response.ExecutionResult.Failed); + } + + [Test] + public async Task ShouldReportArgumentMismatch() + { + const string parsedStepText = "Foo"; + var request = new ExecuteStepRequest { - const string parsedStepText = "Foo"; - var request = new ExecuteStepRequest - { - ActualStepText = parsedStepText, - ParsedStepText = parsedStepText - }; - var mockStepRegistry = new Mock(); - mockStepRegistry.Setup(x => x.ContainsStep(parsedStepText)).Returns(false); - var mockOrchestrator = new Mock(); - var mockTableFormatter = new Mock(); - - var processor = new ExecuteStepProcessor(mockStepRegistry.Object, mockOrchestrator.Object, mockTableFormatter.Object); - var response = processor.Process(request); - - ClassicAssert.True(response.ExecutionResult.Failed); - ClassicAssert.AreEqual(response.ExecutionResult.ErrorMessage, - "Step Implementation not found"); - } + ActualStepText = parsedStepText, + ParsedStepText = parsedStepText + }; + var mockStepRegistry = new Mock(); + mockStepRegistry.Setup(x => x.ContainsStep(parsedStepText)).Returns(true); + var fooMethod = new GaugeMethod { Name = "Foo", ParameterCount = 1 }; + mockStepRegistry.Setup(x => x.MethodFor(parsedStepText)).Returns(fooMethod); + var mockOrchestrator = new Mock(); + + var mockTableFormatter = new Mock(); + + var processor = new ExecuteStepProcessor(mockStepRegistry.Object, mockOrchestrator.Object, mockTableFormatter.Object); + var response = await processor.Process(1, request); + + ClassicAssert.True(response.ExecutionResult.Failed); + ClassicAssert.AreEqual(response.ExecutionResult.ErrorMessage, + "Argument length mismatch for Foo. Actual Count: 0, Expected Count: 1"); + } + + [Test] + public async Task ShouldReportMissingStep() + { + const string parsedStepText = "Foo"; + var request = new ExecuteStepRequest + { + ActualStepText = parsedStepText, + ParsedStepText = parsedStepText + }; + var mockStepRegistry = new Mock(); + mockStepRegistry.Setup(x => x.ContainsStep(parsedStepText)).Returns(false); + var mockOrchestrator = new Mock(); + var mockTableFormatter = new Mock(); + + var processor = new ExecuteStepProcessor(mockStepRegistry.Object, mockOrchestrator.Object, mockTableFormatter.Object); + var response = await processor.Process(1, request); + + ClassicAssert.True(response.ExecutionResult.Failed); + ClassicAssert.AreEqual(response.ExecutionResult.ErrorMessage, + "Step Implementation not found"); } } \ No newline at end of file diff --git a/test/Processors/ExecutionEndingProcessorTests.cs b/test/Processors/ExecutionEndingProcessorTests.cs index f07f1d1..bd983d5 100644 --- a/test/Processors/ExecutionEndingProcessorTests.cs +++ b/test/Processors/ExecutionEndingProcessorTests.cs @@ -5,95 +5,92 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Models; using Gauge.Dotnet.Processors; using Gauge.Dotnet.Strategy; using Gauge.Dotnet.UnitTests.Helpers; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Configuration; -namespace Gauge.Dotnet.UnitTests.Processors +namespace Gauge.Dotnet.UnitTests.Processors; + +[TestFixture] +public class ExecutionEndingProcessorTests { - [TestFixture] - public class ExecutionEndingProcessorTests + [SetUp] + public void Setup() { - [SetUp] - public void Setup() + var mockHookRegistry = new Mock(); + var mockAssemblyLoader = new Mock(); + var mockMethod = new MockMethodBuilder(mockAssemblyLoader) + .WithName("Foo") + .WithFilteredHook(LibType.BeforeSpec) + .Build(); + var hooks = new HashSet { - var mockHookRegistry = new Mock(); - var mockAssemblyLoader = new Mock(); - var mockMethod = new MockMethodBuilder(mockAssemblyLoader) - .WithName("Foo") - .WithFilteredHook(LibType.BeforeSpec) - .Build(); - var hooks = new HashSet - { - new HookMethod(LibType.BeforeSpec, mockMethod, mockAssemblyLoader.Object) - }; - mockHookRegistry.Setup(x => x.AfterSuiteHooks).Returns(hooks); - var executionEndingRequest = new ExecutionEndingRequest + new HookMethod(LibType.BeforeSpec, mockMethod, mockAssemblyLoader.Object) + }; + mockHookRegistry.Setup(x => x.AfterSuiteHooks).Returns(hooks); + var executionEndingRequest = new ExecutionEndingRequest + { + CurrentExecutionInfo = new ExecutionInfo { - CurrentExecutionInfo = new ExecutionInfo - { - CurrentSpec = new SpecInfo(), - CurrentScenario = new ScenarioInfo() - } - }; - _request = executionEndingRequest; + CurrentSpec = new SpecInfo(), + CurrentScenario = new ScenarioInfo() + } + }; + _request = executionEndingRequest; - _mockMethodExecutor = new Mock(); - _protoExecutionResult = new ProtoExecutionResult - { - ExecutionTime = 0, - Failed = false - }; - _mockMethodExecutor.Setup(x => - x.ExecuteHooks("AfterSuite", It.IsAny(), It.IsAny>(), - It.IsAny())) - .Returns(_protoExecutionResult); - _mockMethodExecutor.Setup(x => - x.GetAllPendingMessages()).Returns(_pendingMessages); - _mockMethodExecutor.Setup(x => - x.GetAllPendingScreenshotFiles()).Returns(_pendingScreenshotFiles); - _executionEndingProcessor = new ExecutionEndingProcessor(_mockMethodExecutor.Object); - } + _mockMethodExecutor = new Mock(); + _protoExecutionResult = new ProtoExecutionResult + { + ExecutionTime = 0, + Failed = false + }; + _mockMethodExecutor.Setup(x => + x.ExecuteHooks("AfterSuite", It.IsAny(), It.IsAny>(), It.IsAny(), It.IsAny())) + .ReturnsAsync(_protoExecutionResult); + _mockMethodExecutor.Setup(x => + x.GetAllPendingMessages()).Returns(_pendingMessages); + _mockMethodExecutor.Setup(x => + x.GetAllPendingScreenshotFiles()).Returns(_pendingScreenshotFiles); + var config = new ConfigurationBuilder().Build(); + _executionEndingProcessor = new ExecutionEndingProcessor(_mockMethodExecutor.Object, config); + } - private ExecutionEndingProcessor _executionEndingProcessor; - private ExecutionEndingRequest _request; - private Mock _mockMethodExecutor; - private ProtoExecutionResult _protoExecutionResult; - private readonly IEnumerable _pendingMessages = new List { "Foo", "Bar" }; + private ExecutionEndingProcessor _executionEndingProcessor; + private ExecutionEndingRequest _request; + private Mock _mockMethodExecutor; + private ProtoExecutionResult _protoExecutionResult; + private readonly IEnumerable _pendingMessages = new List { "Foo", "Bar" }; - private readonly IEnumerable _pendingScreenshotFiles = - new List { "screenshot.png" }; + private readonly IEnumerable _pendingScreenshotFiles = + new List { "screenshot.png" }; - [Test] - public void ShouldExtendFromHooksExecutionProcessor() - { - AssertEx.InheritsFrom(); - AssertEx.DoesNotInheritsFrom(); - AssertEx.DoesNotInheritsFrom(); - } + [Test] + public void ShouldExtendFromHooksExecutionProcessor() + { + AssertEx.InheritsFrom(); + AssertEx.DoesNotInheritsFrom(); + AssertEx.DoesNotInheritsFrom(); + } - [Test] - public void ShouldGetEmptyTagListByDefault() - { - var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", _request.CurrentExecutionInfo); - ClassicAssert.IsEmpty(tags); - } + [Test] + public void ShouldGetEmptyTagListByDefault() + { + var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", _request.CurrentExecutionInfo); + ClassicAssert.IsEmpty(tags); + } - [Test] - public void ShouldProcessHooks() - { - var result = _executionEndingProcessor.Process(_request); - _mockMethodExecutor.VerifyAll(); - ClassicAssert.AreEqual(result.ExecutionResult.Message, _pendingMessages); - ClassicAssert.AreEqual(result.ExecutionResult.ScreenshotFiles, _pendingScreenshotFiles); - } + [Test] + public async Task ShouldProcessHooks() + { + var result = await _executionEndingProcessor.Process(1, _request); + _mockMethodExecutor.VerifyAll(); + ClassicAssert.AreEqual(result.ExecutionResult.Message, _pendingMessages); + ClassicAssert.AreEqual(result.ExecutionResult.ScreenshotFiles, _pendingScreenshotFiles); + } - } } \ No newline at end of file diff --git a/test/Processors/ExecutionStartingProcessorTests.cs b/test/Processors/ExecutionStartingProcessorTests.cs index 6a454bc..bd1e749 100644 --- a/test/Processors/ExecutionStartingProcessorTests.cs +++ b/test/Processors/ExecutionStartingProcessorTests.cs @@ -5,109 +5,106 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Models; using Gauge.Dotnet.Processors; using Gauge.Dotnet.Strategy; using Gauge.Dotnet.UnitTests.Helpers; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Configuration; -namespace Gauge.Dotnet.UnitTests.Processors +namespace Gauge.Dotnet.UnitTests.Processors; + +[TestFixture] +public class ExecutionStartingProcessorTests { - [TestFixture] - public class ExecutionStartingProcessorTests + [SetUp] + public void Setup() { - [SetUp] - public void Setup() + var mockHookRegistry = new Mock(); + var mockAssemblyLoader = new Mock(); + var mockMethod = new MockMethodBuilder(mockAssemblyLoader) + .WithName("Foo") + .WithFilteredHook(LibType.BeforeSpec) + .Build(); + + var hooks = new HashSet { - var mockHookRegistry = new Mock(); - var mockAssemblyLoader = new Mock(); - var mockMethod = new MockMethodBuilder(mockAssemblyLoader) - .WithName("Foo") - .WithFilteredHook(LibType.BeforeSpec) - .Build(); - - var hooks = new HashSet - { - new HookMethod(LibType.BeforeSpec, mockMethod, mockAssemblyLoader.Object) - }; - mockHookRegistry.Setup(x => x.BeforeSuiteHooks).Returns(hooks); - - _mockMethodExecutor = new Mock(); - _protoExecutionResult = new ProtoExecutionResult - { - ExecutionTime = 0, - Failed = false - }; - - _mockMethodExecutor.Setup(x => - x.ExecuteHooks("BeforeSuite", It.IsAny(), It.IsAny>(), - It.IsAny())) - .Returns(_protoExecutionResult); - _mockMethodExecutor.Setup(x => - x.GetAllPendingMessages()).Returns(_pendingMessages); - _mockMethodExecutor.Setup(x => - x.GetAllPendingScreenshotFiles()).Returns(_pendingScreenshotFiles); - _executionStartingProcessor = new ExecutionStartingProcessor(_mockMethodExecutor.Object); - } - - private ExecutionStartingProcessor _executionStartingProcessor; - - private Mock _mockMethodExecutor; - private ProtoExecutionResult _protoExecutionResult; - - private readonly IEnumerable _pendingMessages = new List { "Foo", "Bar" }; - - private readonly IEnumerable _pendingScreenshotFiles = - new List { "screenshot.png" }; - - [Test] - public void ShouldExtendFromHooksExecutionProcessor() + new HookMethod(LibType.BeforeSpec, mockMethod, mockAssemblyLoader.Object) + }; + mockHookRegistry.Setup(x => x.BeforeSuiteHooks).Returns(hooks); + + _mockMethodExecutor = new Mock(); + _protoExecutionResult = new ProtoExecutionResult { - AssertEx.InheritsFrom(); - AssertEx.DoesNotInheritsFrom(); - AssertEx.DoesNotInheritsFrom(); - } + ExecutionTime = 0, + Failed = false + }; + + _mockMethodExecutor.Setup(x => + x.ExecuteHooks("BeforeSuite", It.IsAny(), It.IsAny>(), It.IsAny(), It.IsAny())) + .ReturnsAsync(_protoExecutionResult); + _mockMethodExecutor.Setup(x => + x.GetAllPendingMessages()).Returns(_pendingMessages); + _mockMethodExecutor.Setup(x => + x.GetAllPendingScreenshotFiles()).Returns(_pendingScreenshotFiles); + var config = new ConfigurationBuilder().Build(); + _executionStartingProcessor = new ExecutionStartingProcessor(_mockMethodExecutor.Object, config); + } + + private ExecutionStartingProcessor _executionStartingProcessor; + + private Mock _mockMethodExecutor; + private ProtoExecutionResult _protoExecutionResult; - [Test] - public void ShouldGetEmptyTagListByDefault() + private readonly IEnumerable _pendingMessages = new List { "Foo", "Bar" }; + + private readonly IEnumerable _pendingScreenshotFiles = + new List { "screenshot.png" }; + + [Test] + public void ShouldExtendFromHooksExecutionProcessor() + { + AssertEx.InheritsFrom(); + AssertEx.DoesNotInheritsFrom(); + AssertEx.DoesNotInheritsFrom(); + } + + [Test] + public void ShouldGetEmptyTagListByDefault() + { + var specInfo = new SpecInfo { - var specInfo = new SpecInfo - { - Tags = { "foo" }, - Name = "", - FileName = "", - IsFailed = false - }; - var scenarioInfo = new ScenarioInfo - { - Tags = { "bar" }, - Name = "", - IsFailed = false - }; - var currentScenario = new ExecutionInfo - { - CurrentScenario = scenarioInfo, - CurrentSpec = specInfo - }; - - - var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario); - ClassicAssert.IsEmpty(tags); - } - - [Test] - public void ShouldProcessHooks() + Tags = { "foo" }, + Name = "", + FileName = "", + IsFailed = false + }; + var scenarioInfo = new ScenarioInfo { - var executionStartingRequest = new ExecutionStartingRequest(); - var result = _executionStartingProcessor.Process(executionStartingRequest); + Tags = { "bar" }, + Name = "", + IsFailed = false + }; + var currentScenario = new ExecutionInfo + { + CurrentScenario = scenarioInfo, + CurrentSpec = specInfo + }; + + + var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario); + ClassicAssert.IsEmpty(tags); + } + + [Test] + public async Task ShouldProcessHooks() + { + var executionStartingRequest = new ExecutionStartingRequest(); + var result = await _executionStartingProcessor.Process(1, executionStartingRequest); - _mockMethodExecutor.VerifyAll(); - ClassicAssert.AreEqual(result.ExecutionResult.Message, _pendingMessages); - ClassicAssert.AreEqual(result.ExecutionResult.ScreenshotFiles, _pendingScreenshotFiles); - } + _mockMethodExecutor.VerifyAll(); + ClassicAssert.AreEqual(result.ExecutionResult.Message, _pendingMessages); + ClassicAssert.AreEqual(result.ExecutionResult.ScreenshotFiles, _pendingScreenshotFiles); } } \ No newline at end of file diff --git a/test/Processors/HookExecutionProcessorTests.cs b/test/Processors/HookExecutionProcessorTests.cs index 6248ee1..cbe1f90 100644 --- a/test/Processors/HookExecutionProcessorTests.cs +++ b/test/Processors/HookExecutionProcessorTests.cs @@ -5,8 +5,6 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; using System.Reflection; using Gauge.Dotnet.Extensions; using Gauge.Dotnet.Models; @@ -14,210 +12,206 @@ using Gauge.Dotnet.UnitTests.Helpers; using Gauge.Dotnet.UnitTests.Processors.Stubs; using Gauge.Dotnet.Wrappers; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; -namespace Gauge.Dotnet.UnitTests.Processors +namespace Gauge.Dotnet.UnitTests.Processors; + +[TestFixture] +public class HookExecutionProcessorTests { - [TestFixture] - public class HookExecutionProcessorTests + [SetUp] + public void Setup() { - [SetUp] - public void Setup() - { - var mockAssemblyLoader = new Mock(); - - mockFooMethod = new MockMethodBuilder(mockAssemblyLoader) - .WithName("FooMethod") - .WithFilteredHook(LibType.BeforeScenario, "Foo") - .Build(); - mockBarMethod = new MockMethodBuilder(mockAssemblyLoader) - .WithName("BarMethod") - .WithFilteredHook(LibType.BeforeScenario, "Bar", "Baz") - .Build(); - mockBazMethod = new MockMethodBuilder(mockAssemblyLoader) - .WithName("BazMethod") - .WithFilteredHook(LibType.BeforeScenario, "Foo", "Baz") - .WithTagAggregation(1) - .Build(); - mockBlahMethod = new MockMethodBuilder(mockAssemblyLoader) - .WithName("BlahMethod") - .WithFilteredHook(LibType.BeforeScenario) - .Build(); - - _hookMethods = new List - { - new HookMethod(LibType.BeforeScenario, mockFooMethod, mockAssemblyLoader.Object), - new HookMethod(LibType.BeforeScenario, mockBarMethod, mockAssemblyLoader.Object), - new HookMethod(LibType.BeforeScenario, mockBazMethod, mockAssemblyLoader.Object), - new HookMethod(LibType.BeforeScenario, mockBlahMethod, mockAssemblyLoader.Object) - }; - } - - //[BeforeScenario("Foo")] - //public void Foo() - //{ - //} - - //[BeforeScenario("Bar", "Baz")] - //public void Bar() - //{ - //} - - //[BeforeScenario("Foo", "Baz")] - //[TagAggregationBehaviour(TagAggregation.Or)] - //public void Baz() - //{ - //} - - //[BeforeScenario] - //public void Blah() - //{ - //} - - - /* - * untagged hooks are executed for all. - * Tags | Methods - * Foo | Foo, Baz - * Bar | NONE - * Baz | Baz - * Bar, Baz | Bar, Baz - * Foo, Baz | Baz - */ - - private IList _hookMethods; - private MethodInfo mockFooMethod; - private MethodInfo mockBarMethod; - private MethodInfo mockBazMethod; - private MethodInfo mockBlahMethod; - - [Test] - public void ShouldAllowMultipleHooksInaMethod() + var mockAssemblyLoader = new Mock(); + + mockFooMethod = new MockMethodBuilder(mockAssemblyLoader) + .WithName("FooMethod") + .WithFilteredHook(LibType.BeforeScenario, "Foo") + .Build(); + mockBarMethod = new MockMethodBuilder(mockAssemblyLoader) + .WithName("BarMethod") + .WithFilteredHook(LibType.BeforeScenario, "Bar", "Baz") + .Build(); + mockBazMethod = new MockMethodBuilder(mockAssemblyLoader) + .WithName("BazMethod") + .WithFilteredHook(LibType.BeforeScenario, "Foo", "Baz") + .WithTagAggregation(1) + .Build(); + mockBlahMethod = new MockMethodBuilder(mockAssemblyLoader) + .WithName("BlahMethod") + .WithFilteredHook(LibType.BeforeScenario) + .Build(); + + _hookMethods = new List { - var mockAssemblyLoader = new Mock(); - var mockMethod = new MockMethodBuilder(mockAssemblyLoader) - .WithName("MultipleHookMethod") - .WithFilteredHook(LibType.BeforeScenario) - .WithFilteredHook(LibType.BeforeSpec) - .Build(); + new HookMethod(LibType.BeforeScenario, mockFooMethod, mockAssemblyLoader.Object), + new HookMethod(LibType.BeforeScenario, mockBarMethod, mockAssemblyLoader.Object), + new HookMethod(LibType.BeforeScenario, mockBazMethod, mockAssemblyLoader.Object), + new HookMethod(LibType.BeforeScenario, mockBlahMethod, mockAssemblyLoader.Object) + }; + } + //[BeforeScenario("Foo")] + //public void Foo() + //{ + //} + + //[BeforeScenario("Bar", "Baz")] + //public void Bar() + //{ + //} + + //[BeforeScenario("Foo", "Baz")] + //[TagAggregationBehaviour(TagAggregation.Or)] + //public void Baz() + //{ + //} + + //[BeforeScenario] + //public void Blah() + //{ + //} + + + /* + * untagged hooks are executed for all. + * Tags | Methods + * Foo | Foo, Baz + * Bar | NONE + * Baz | Baz + * Bar, Baz | Bar, Baz + * Foo, Baz | Baz + */ + + private IList _hookMethods; + private MethodInfo mockFooMethod; + private MethodInfo mockBarMethod; + private MethodInfo mockBazMethod; + private MethodInfo mockBlahMethod; + + [Test] + public void ShouldAllowMultipleHooksInaMethod() + { + var mockAssemblyLoader = new Mock(); + var mockMethod = new MockMethodBuilder(mockAssemblyLoader) + .WithName("MultipleHookMethod") + .WithFilteredHook(LibType.BeforeScenario) + .WithFilteredHook(LibType.BeforeSpec) + .Build(); - var beforeScenarioHook = new HookMethod(LibType.BeforeScenario, mockMethod, mockAssemblyLoader.Object); - ClassicAssert.AreEqual("MultipleHookMethod", beforeScenarioHook.Method); - var beforeSpecHook = new HookMethod(LibType.BeforeSpec, mockMethod, mockAssemblyLoader.Object); - ClassicAssert.AreEqual("MultipleHookMethod", beforeSpecHook.Method); - } + var beforeScenarioHook = new HookMethod(LibType.BeforeScenario, mockMethod, mockAssemblyLoader.Object); + ClassicAssert.AreEqual("MultipleHookMethod", beforeScenarioHook.Method); - [Test] - public void ShouldFetchAHooksWithSpecifiedTagsWhenDoingAnd() - { - var applicableHooks = new HooksStrategy().GetTaggedHooks(new List { "Baz", "Bar" }, _hookMethods) - .ToList(); + var beforeSpecHook = new HookMethod(LibType.BeforeSpec, mockMethod, mockAssemblyLoader.Object); + ClassicAssert.AreEqual("MultipleHookMethod", beforeSpecHook.Method); + } - ClassicAssert.IsNotNull(applicableHooks); - ClassicAssert.AreEqual(2, applicableHooks.Count); - ClassicAssert.Contains(mockBarMethod.FullyQuallifiedName(), applicableHooks); - ClassicAssert.Contains(mockBazMethod.FullyQuallifiedName(), applicableHooks); - } + [Test] + public void ShouldFetchAHooksWithSpecifiedTagsWhenDoingAnd() + { + var applicableHooks = new HooksStrategy().GetTaggedHooks(new List { "Baz", "Bar" }, _hookMethods) + .ToList(); - [Test] - public void ShouldFetchAHooksWithSpecifiedTagsWhenDoingOr() - { - var applicableHooks = - new HooksStrategy().GetTaggedHooks(new List { "Baz", "Foo" }, _hookMethods).ToList(); + ClassicAssert.IsNotNull(applicableHooks); + ClassicAssert.AreEqual(2, applicableHooks.Count); + ClassicAssert.Contains(mockBarMethod.FullyQuallifiedName(), applicableHooks); + ClassicAssert.Contains(mockBazMethod.FullyQuallifiedName(), applicableHooks); + } - ClassicAssert.IsNotNull(applicableHooks); - ClassicAssert.AreEqual(2, applicableHooks.Count); - ClassicAssert.Contains(mockFooMethod.FullyQuallifiedName(), applicableHooks); - ClassicAssert.Contains(mockBazMethod.FullyQuallifiedName(), applicableHooks); - } + [Test] + public void ShouldFetchAHooksWithSpecifiedTagsWhenDoingOr() + { + var applicableHooks = + new HooksStrategy().GetTaggedHooks(new List { "Baz", "Foo" }, _hookMethods).ToList(); - [Test] - public void ShouldFetchAllHooksWhenNoTagsSpecified() - { - var applicableHooks = new HooksStrategy().GetApplicableHooks(new List(), _hookMethods); + ClassicAssert.IsNotNull(applicableHooks); + ClassicAssert.AreEqual(2, applicableHooks.Count); + ClassicAssert.Contains(mockFooMethod.FullyQuallifiedName(), applicableHooks); + ClassicAssert.Contains(mockBazMethod.FullyQuallifiedName(), applicableHooks); + } - ClassicAssert.IsNotNull(applicableHooks); - ClassicAssert.AreEqual(1, applicableHooks.Count()); - } + [Test] + public void ShouldFetchAllHooksWhenNoTagsSpecified() + { + var applicableHooks = new HooksStrategy().GetApplicableHooks(new List(), _hookMethods); - [Test] - public void ShouldFetchAllHooksWithSpecifiedTags() - { - var applicableHooks = new HooksStrategy().GetTaggedHooks(new List { "Foo" }, _hookMethods).ToList(); + ClassicAssert.IsNotNull(applicableHooks); + ClassicAssert.AreEqual(1, applicableHooks.Count()); + } - ClassicAssert.IsNotNull(applicableHooks); - ClassicAssert.AreEqual(2, applicableHooks.Count); - ClassicAssert.Contains(mockFooMethod.FullyQuallifiedName(), applicableHooks); - } + [Test] + public void ShouldFetchAllHooksWithSpecifiedTags() + { + var applicableHooks = new HooksStrategy().GetTaggedHooks(new List { "Foo" }, _hookMethods).ToList(); - [Test] - public void ShouldFetchAllHooksWithSpecifiedTagsWhenDoingAnd() - { - var applicableHooks = new HooksStrategy().GetTaggedHooks(new List { "Bar" }, _hookMethods); + ClassicAssert.IsNotNull(applicableHooks); + ClassicAssert.AreEqual(2, applicableHooks.Count); + ClassicAssert.Contains(mockFooMethod.FullyQuallifiedName(), applicableHooks); + } - ClassicAssert.IsNotNull(applicableHooks); - ClassicAssert.IsEmpty(applicableHooks); - } + [Test] + public void ShouldFetchAllHooksWithSpecifiedTagsWhenDoingAnd() + { + var applicableHooks = new HooksStrategy().GetTaggedHooks(new List { "Bar" }, _hookMethods); - [Test] - public void ShouldFetchAnyHooksWithSpecifiedTagsWhenDoingOr() - { - var applicableHooks = new HooksStrategy().GetTaggedHooks(new List { "Baz" }, _hookMethods).ToList(); + ClassicAssert.IsNotNull(applicableHooks); + ClassicAssert.IsEmpty(applicableHooks); + } - ClassicAssert.IsNotNull(applicableHooks); - ClassicAssert.AreEqual(1, applicableHooks.Count); - ClassicAssert.Contains(mockBazMethod.FullyQuallifiedName(), applicableHooks); - } + [Test] + public void ShouldFetchAnyHooksWithSpecifiedTagsWhenDoingOr() + { + var applicableHooks = new HooksStrategy().GetTaggedHooks(new List { "Baz" }, _hookMethods).ToList(); - [Test] - public void ShouldNotFetchAnyTaggedHooksWhenTagsAreASuperSet() - { - var applicableHooks = new HooksStrategy().GetTaggedHooks(new List { "Bar", "Blah" }, _hookMethods); + ClassicAssert.IsNotNull(applicableHooks); + ClassicAssert.AreEqual(1, applicableHooks.Count); + ClassicAssert.Contains(mockBazMethod.FullyQuallifiedName(), applicableHooks); + } + + [Test] + public void ShouldNotFetchAnyTaggedHooksWhenTagsAreASuperSet() + { + var applicableHooks = new HooksStrategy().GetTaggedHooks(new List { "Bar", "Blah" }, _hookMethods); - ClassicAssert.IsNotNull(applicableHooks); - ClassicAssert.IsEmpty(applicableHooks); - } + ClassicAssert.IsNotNull(applicableHooks); + ClassicAssert.IsEmpty(applicableHooks); + } - [Test] - public void ShouldUseDefaultHooksStrategy() - { - var assemblyLoader = new Mock(); - assemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)); - var reflectionWrapper = new Mock(); - var hooksStrategy = new TestHooksExecutionProcessor(null) + [Test] + public void ShouldUseDefaultHooksStrategy() + { + var assemblyLoader = new Mock(); + assemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)); + var reflectionWrapper = new Mock(); + var hooksStrategy = new TestHooksExecutionProcessor(null, null) + .GetHooksStrategy(); + + ClassicAssert.IsInstanceOf(hooksStrategy); + } + + [Test] + public void ShouldUseTaggedHooksFirstStrategy() + { + var assemblyLoader = new Mock(); + assemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)); + var reflectionWrapper = new Mock(); + var hooksStrategy = + new TestTaggedHooksFirstExecutionProcessor(null, null) .GetHooksStrategy(); - ClassicAssert.IsInstanceOf(hooksStrategy); - } + ClassicAssert.IsInstanceOf(hooksStrategy); + } - [Test] - public void ShouldUseTaggedHooksFirstStrategy() - { - var assemblyLoader = new Mock(); - assemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)); - var reflectionWrapper = new Mock(); - var hooksStrategy = - new TestTaggedHooksFirstExecutionProcessor(null) - .GetHooksStrategy(); - - ClassicAssert.IsInstanceOf(hooksStrategy); - } - - [Test] - public void ShouldUseUntaggedHooksFirstStrategy() - { - var assemblyLoader = new Mock(); - assemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)); - var reflectionWrapper = new Mock(); - var hooksStrategy = - new TestUntaggedHooksFirstExecutionProcessor(null) - .GetHooksStrategy(); - - ClassicAssert.IsInstanceOf(hooksStrategy); - } + [Test] + public void ShouldUseUntaggedHooksFirstStrategy() + { + var assemblyLoader = new Mock(); + assemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)); + var reflectionWrapper = new Mock(); + var hooksStrategy = + new TestUntaggedHooksFirstExecutionProcessor(null, null) + .GetHooksStrategy(); + + ClassicAssert.IsInstanceOf(hooksStrategy); } } \ No newline at end of file diff --git a/test/Processors/ScenarioExecutionEndingProcessorTests.cs b/test/Processors/ScenarioExecutionEndingProcessorTests.cs index 0cdb3ab..2473965 100644 --- a/test/Processors/ScenarioExecutionEndingProcessorTests.cs +++ b/test/Processors/ScenarioExecutionEndingProcessorTests.cs @@ -5,126 +5,122 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Processors; using Gauge.Dotnet.Strategy; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Configuration; -namespace Gauge.Dotnet.UnitTests.Processors +namespace Gauge.Dotnet.UnitTests.Processors; + +internal class ScenarioExecutionEndingProcessorTests { - internal class ScenarioExecutionEndingProcessorTests + [Test] + public void ShouldExtendFromTaggedHooksFirstExecutionProcessor() { - [Test] - public void ShouldExtendFromTaggedHooksFirstExecutionProcessor() - { - AssertEx.InheritsFrom(); - } + AssertEx.InheritsFrom(); + } - [Test] - public void ShouldGetTagListFromSpecAndScenario() + [Test] + public void ShouldGetTagListFromSpecAndScenario() + { + var specInfo = new SpecInfo { - var specInfo = new SpecInfo - { - Tags = { "foo" }, - Name = "", - FileName = "", - IsFailed = false - }; - var scenarioInfo = new ScenarioInfo - { - Tags = { "bar" }, - Name = "", - IsFailed = false - }; - var currentScenario = new ExecutionInfo - { - CurrentSpec = specInfo, - CurrentScenario = scenarioInfo - }; - var currentExecutionInfo = new ScenarioExecutionEndingRequest - { - CurrentExecutionInfo = currentScenario - }; - var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) - .ToList(); + Tags = { "foo" }, + Name = "", + FileName = "", + IsFailed = false + }; + var scenarioInfo = new ScenarioInfo + { + Tags = { "bar" }, + Name = "", + IsFailed = false + }; + var currentScenario = new ExecutionInfo + { + CurrentSpec = specInfo, + CurrentScenario = scenarioInfo + }; + var currentExecutionInfo = new ScenarioExecutionEndingRequest + { + CurrentExecutionInfo = currentScenario + }; + var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) + .ToList(); - ClassicAssert.IsNotEmpty(tags); - ClassicAssert.AreEqual(2, tags.Count); - ClassicAssert.Contains("foo", tags); - ClassicAssert.Contains("bar", tags); - } + ClassicAssert.IsNotEmpty(tags); + ClassicAssert.AreEqual(2, tags.Count); + ClassicAssert.Contains("foo", tags); + ClassicAssert.Contains("bar", tags); + } - [Test] - public void ShouldNotGetDuplicateTags() + [Test] + public void ShouldNotGetDuplicateTags() + { + var specInfo = new SpecInfo { - var specInfo = new SpecInfo - { - Tags = { "foo" }, - Name = "", - FileName = "", - IsFailed = false - }; - var scenarioInfo = new ScenarioInfo - { - Tags = { "foo" }, - Name = "", - IsFailed = false - }; - var currentScenario = new ExecutionInfo - { - CurrentSpec = specInfo, - CurrentScenario = scenarioInfo - }; + Tags = { "foo" }, + Name = "", + FileName = "", + IsFailed = false + }; + var scenarioInfo = new ScenarioInfo + { + Tags = { "foo" }, + Name = "", + IsFailed = false + }; + var currentScenario = new ExecutionInfo + { + CurrentSpec = specInfo, + CurrentScenario = scenarioInfo + }; - var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) - .ToList(); + var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) + .ToList(); - ClassicAssert.IsNotEmpty(tags); - ClassicAssert.AreEqual(1, tags.Count); - ClassicAssert.Contains("foo", tags); - } + ClassicAssert.IsNotEmpty(tags); + ClassicAssert.AreEqual(1, tags.Count); + ClassicAssert.Contains("foo", tags); + } - [Test] - public void ShouldExecutreBeforeScenarioHook() + [Test] + public async Task ShouldExecutreBeforeScenarioHook() + { + var scenarioExecutionStartingRequest = new ScenarioExecutionEndingRequest { - var scenarioExecutionStartingRequest = new ScenarioExecutionEndingRequest + CurrentExecutionInfo = new ExecutionInfo { - CurrentExecutionInfo = new ExecutionInfo - { - CurrentSpec = new SpecInfo(), - CurrentScenario = new ScenarioInfo() - } - }; + CurrentSpec = new SpecInfo(), + CurrentScenario = new ScenarioInfo() + } + }; - var mockMethodExecutor = new Mock(); - var protoExecutionResult = new ProtoExecutionResult - { - ExecutionTime = 0, - Failed = false - }; - var pendingMessages = new List { "one", "two" }; - var pendingScreenshotFiles = new List { "screenshot.png" }; + var mockMethodExecutor = new Mock(); + var protoExecutionResult = new ProtoExecutionResult + { + ExecutionTime = 0, + Failed = false + }; + var pendingMessages = new List { "one", "two" }; + var pendingScreenshotFiles = new List { "screenshot.png" }; - mockMethodExecutor.Setup(x => - x.ExecuteHooks("AfterScenario", It.IsAny(), It.IsAny>(), - It.IsAny())) - .Returns(protoExecutionResult); - mockMethodExecutor.Setup(x => - x.GetAllPendingMessages()).Returns(pendingMessages); - mockMethodExecutor.Setup(x => - x.GetAllPendingScreenshotFiles()).Returns(pendingScreenshotFiles); + mockMethodExecutor.Setup(x => + x.ExecuteHooks("AfterScenario", It.IsAny(), It.IsAny>(), It.IsAny(), It.IsAny())) + .ReturnsAsync(protoExecutionResult); + mockMethodExecutor.Setup(x => + x.GetAllPendingMessages()).Returns(pendingMessages); + mockMethodExecutor.Setup(x => + x.GetAllPendingScreenshotFiles()).Returns(pendingScreenshotFiles); + var config = new ConfigurationBuilder().Build(); - var processor = new ScenarioExecutionEndingProcessor(mockMethodExecutor.Object); + var processor = new ScenarioExecutionEndingProcessor(mockMethodExecutor.Object, config); - var result = processor.Process(scenarioExecutionStartingRequest); - ClassicAssert.False(result.ExecutionResult.Failed); - ClassicAssert.AreEqual(result.ExecutionResult.Message.ToList(), pendingMessages); - ClassicAssert.AreEqual(result.ExecutionResult.ScreenshotFiles.ToList(), pendingScreenshotFiles); - } + var result = await processor.Process(1, scenarioExecutionStartingRequest); + ClassicAssert.False(result.ExecutionResult.Failed); + ClassicAssert.AreEqual(result.ExecutionResult.Message.ToList(), pendingMessages); + ClassicAssert.AreEqual(result.ExecutionResult.ScreenshotFiles.ToList(), pendingScreenshotFiles); } } \ No newline at end of file diff --git a/test/Processors/ScenarioExecutionStartingProcessorTests.cs b/test/Processors/ScenarioExecutionStartingProcessorTests.cs index 7ea08be..506d08c 100644 --- a/test/Processors/ScenarioExecutionStartingProcessorTests.cs +++ b/test/Processors/ScenarioExecutionStartingProcessorTests.cs @@ -5,129 +5,125 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Processors; using Gauge.Dotnet.Strategy; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Configuration; -namespace Gauge.Dotnet.UnitTests.Processors +namespace Gauge.Dotnet.UnitTests.Processors; + +internal class ScenarioExecutionStartingProcessorTests { - internal class ScenarioExecutionStartingProcessorTests + [Test] + public void ShouldExtendFromUntaggedHooksFirstExecutionProcessor() { - [Test] - public void ShouldExtendFromUntaggedHooksFirstExecutionProcessor() - { - AssertEx.InheritsFrom(); - } + AssertEx.InheritsFrom(); + } - [Test] - public void ShouldGetTagListFromExecutionInfo() + [Test] + public void ShouldGetTagListFromExecutionInfo() + { + var specInfo = new SpecInfo { - var specInfo = new SpecInfo - { - Tags = { "foo" }, - Name = "", - FileName = "", - IsFailed = false - }; - var scenarioInfo = new ScenarioInfo - { - Tags = { "bar" }, - Name = "", - IsFailed = false - }; - var currentScenario = new ExecutionInfo - { - CurrentSpec = specInfo, - CurrentScenario = scenarioInfo - }; - var currentExecutionInfo = new ScenarioExecutionStartingRequest - { - CurrentExecutionInfo = currentScenario - }; + Tags = { "foo" }, + Name = "", + FileName = "", + IsFailed = false + }; + var scenarioInfo = new ScenarioInfo + { + Tags = { "bar" }, + Name = "", + IsFailed = false + }; + var currentScenario = new ExecutionInfo + { + CurrentSpec = specInfo, + CurrentScenario = scenarioInfo + }; + var currentExecutionInfo = new ScenarioExecutionStartingRequest + { + CurrentExecutionInfo = currentScenario + }; - var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) - .ToList(); + var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) + .ToList(); - ClassicAssert.IsNotEmpty(tags); - ClassicAssert.AreEqual(2, tags.Count); - ClassicAssert.Contains("foo", tags); - ClassicAssert.Contains("bar", tags); - } + ClassicAssert.IsNotEmpty(tags); + ClassicAssert.AreEqual(2, tags.Count); + ClassicAssert.Contains("foo", tags); + ClassicAssert.Contains("bar", tags); + } - [Test] - public void ShouldNotFetchDuplicateTags() + [Test] + public void ShouldNotFetchDuplicateTags() + { + var specInfo = new SpecInfo { - var specInfo = new SpecInfo - { - Tags = { "foo" }, - Name = "", - FileName = "", - IsFailed = false - }; - var scenarioInfo = new ScenarioInfo - { - Tags = { "foo" }, - Name = "", - IsFailed = false - }; - var currentScenario = new ExecutionInfo - { - CurrentSpec = specInfo, - CurrentScenario = scenarioInfo - }; + Tags = { "foo" }, + Name = "", + FileName = "", + IsFailed = false + }; + var scenarioInfo = new ScenarioInfo + { + Tags = { "foo" }, + Name = "", + IsFailed = false + }; + var currentScenario = new ExecutionInfo + { + CurrentSpec = specInfo, + CurrentScenario = scenarioInfo + }; - var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) - .ToList(); + var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) + .ToList(); - ClassicAssert.IsNotEmpty(tags); - ClassicAssert.AreEqual(1, tags.Count); - ClassicAssert.Contains("foo", tags); - } + ClassicAssert.IsNotEmpty(tags); + ClassicAssert.AreEqual(1, tags.Count); + ClassicAssert.Contains("foo", tags); + } - [Test] - public void ShouldExecuteBeforeScenarioHook() + [Test] + public async Task ShouldExecuteBeforeScenarioHook() + { + var scenarioExecutionEndingRequest = new ScenarioExecutionStartingRequest { - var scenarioExecutionEndingRequest = new ScenarioExecutionStartingRequest - { - CurrentExecutionInfo = new ExecutionInfo - { - CurrentSpec = new SpecInfo(), - CurrentScenario = new ScenarioInfo() - } - }; - - var mockMethodExecutor = new Mock(); - var protoExecutionResult = new ProtoExecutionResult + CurrentExecutionInfo = new ExecutionInfo { - ExecutionTime = 0, - Failed = false - }; - - var pendingMessages = new List { "one", "two" }; - var pendingScreenshotFiles = new List { "screenshot.png" }; - - mockMethodExecutor.Setup(x => - x.ExecuteHooks("BeforeScenario", It.IsAny(), It.IsAny>(), - It.IsAny())) - .Returns(protoExecutionResult); - mockMethodExecutor.Setup(x => - x.GetAllPendingMessages()).Returns(pendingMessages); - mockMethodExecutor.Setup(x => - x.GetAllPendingScreenshotFiles()).Returns(pendingScreenshotFiles); - - var processor = new ScenarioExecutionStartingProcessor(mockMethodExecutor.Object); - - var result = processor.Process(scenarioExecutionEndingRequest); - ClassicAssert.False(result.ExecutionResult.Failed); - ClassicAssert.AreEqual(result.ExecutionResult.Message.ToList(), pendingMessages); - ClassicAssert.AreEqual(result.ExecutionResult.ScreenshotFiles.ToList(), pendingScreenshotFiles); - } + CurrentSpec = new SpecInfo(), + CurrentScenario = new ScenarioInfo() + } + }; + + var mockMethodExecutor = new Mock(); + var protoExecutionResult = new ProtoExecutionResult + { + ExecutionTime = 0, + Failed = false + }; + + var pendingMessages = new List { "one", "two" }; + var pendingScreenshotFiles = new List { "screenshot.png" }; + + mockMethodExecutor.Setup(x => + x.ExecuteHooks("BeforeScenario", It.IsAny(), It.IsAny>(), It.IsAny(), It.IsAny())) + .ReturnsAsync(protoExecutionResult); + mockMethodExecutor.Setup(x => + x.GetAllPendingMessages()).Returns(pendingMessages); + mockMethodExecutor.Setup(x => + x.GetAllPendingScreenshotFiles()).Returns(pendingScreenshotFiles); + var config = new ConfigurationBuilder().Build(); + + var processor = new ScenarioExecutionStartingProcessor(mockMethodExecutor.Object, config); + + var result = await processor.Process(1, scenarioExecutionEndingRequest); + ClassicAssert.False(result.ExecutionResult.Failed); + ClassicAssert.AreEqual(result.ExecutionResult.Message.ToList(), pendingMessages); + ClassicAssert.AreEqual(result.ExecutionResult.ScreenshotFiles.ToList(), pendingScreenshotFiles); } } \ No newline at end of file diff --git a/test/Processors/SpecExecutionEndingProcessorTests.cs b/test/Processors/SpecExecutionEndingProcessorTests.cs index 2b4d9e9..402cb32 100644 --- a/test/Processors/SpecExecutionEndingProcessorTests.cs +++ b/test/Processors/SpecExecutionEndingProcessorTests.cs @@ -5,83 +5,79 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Processors; using Gauge.Dotnet.Strategy; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Configuration; -namespace Gauge.Dotnet.UnitTests.Processors +namespace Gauge.Dotnet.UnitTests.Processors; + +internal class SpecExecutionEndingProcessorTests { - internal class SpecExecutionEndingProcessorTests + [Test] + public void ShouldExtendFromTaggedHooksFirstExecutionProcessor() { - [Test] - public void ShouldExtendFromTaggedHooksFirstExecutionProcessor() - { - AssertEx.InheritsFrom(); - } + AssertEx.InheritsFrom(); + } - [Test] - public void ShouldGetTagListFromExecutionInfo() + [Test] + public void ShouldGetTagListFromExecutionInfo() + { + var specInfo = new SpecInfo { - var specInfo = new SpecInfo - { - Tags = { "foo" }, - Name = "", - FileName = "", - IsFailed = false - }; - var executionInfo = new ExecutionInfo - { - CurrentSpec = specInfo - }; + Tags = { "foo" }, + Name = "", + FileName = "", + IsFailed = false + }; + var executionInfo = new ExecutionInfo + { + CurrentSpec = specInfo + }; - var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", executionInfo) - .ToList(); + var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", executionInfo) + .ToList(); - ClassicAssert.IsNotEmpty(tags); - ClassicAssert.AreEqual(1, tags.Count); - ClassicAssert.Contains("foo", tags); - } + ClassicAssert.IsNotEmpty(tags); + ClassicAssert.AreEqual(1, tags.Count); + ClassicAssert.Contains("foo", tags); + } - [Test] - public void ShouldExecuteBeforeSpecHook() + [Test] + public async Task ShouldExecuteBeforeSpecHook() + { + var request = new SpecExecutionEndingRequest { - var request = new SpecExecutionEndingRequest + CurrentExecutionInfo = new ExecutionInfo { - CurrentExecutionInfo = new ExecutionInfo - { - CurrentSpec = new SpecInfo() - } - }; + CurrentSpec = new SpecInfo() + } + }; - var mockMethodExecutor = new Mock(); - var protoExecutionResult = new ProtoExecutionResult - { - ExecutionTime = 0, - Failed = false - }; + var mockMethodExecutor = new Mock(); + var protoExecutionResult = new ProtoExecutionResult + { + ExecutionTime = 0, + Failed = false + }; - var pendingMessages = new List { "one", "two" }; - var pendingScreenshotFiles = new List { "screenshot.png" }; + var pendingMessages = new List { "one", "two" }; + var pendingScreenshotFiles = new List { "screenshot.png" }; - mockMethodExecutor.Setup(x => - x.ExecuteHooks("AfterSpec", It.IsAny(), It.IsAny>(), - It.IsAny())) - .Returns(protoExecutionResult); - mockMethodExecutor.Setup(x => - x.GetAllPendingMessages()).Returns(pendingMessages); - mockMethodExecutor.Setup(x => - x.GetAllPendingScreenshotFiles()).Returns(pendingScreenshotFiles); - var processor = new SpecExecutionEndingProcessor(mockMethodExecutor.Object); + mockMethodExecutor.Setup(x => + x.ExecuteHooks("AfterSpec", It.IsAny(), It.IsAny>(), It.IsAny(), It.IsAny())) + .ReturnsAsync(protoExecutionResult); + mockMethodExecutor.Setup(x => + x.GetAllPendingMessages()).Returns(pendingMessages); + mockMethodExecutor.Setup(x => + x.GetAllPendingScreenshotFiles()).Returns(pendingScreenshotFiles); + var config = new ConfigurationBuilder().Build(); + var processor = new SpecExecutionEndingProcessor(mockMethodExecutor.Object, config); - var result = processor.Process(request); - ClassicAssert.False(result.ExecutionResult.Failed); - ClassicAssert.AreEqual(result.ExecutionResult.Message.ToList(), pendingMessages); - ClassicAssert.AreEqual(result.ExecutionResult.ScreenshotFiles.ToList(), pendingScreenshotFiles); - } + var result = await processor.Process(1, request); + ClassicAssert.False(result.ExecutionResult.Failed); + ClassicAssert.AreEqual(result.ExecutionResult.Message.ToList(), pendingMessages); + ClassicAssert.AreEqual(result.ExecutionResult.ScreenshotFiles.ToList(), pendingScreenshotFiles); } } \ No newline at end of file diff --git a/test/Processors/SpecExecutionStartingProcessorTests.cs b/test/Processors/SpecExecutionStartingProcessorTests.cs index 33f4c2b..475f875 100644 --- a/test/Processors/SpecExecutionStartingProcessorTests.cs +++ b/test/Processors/SpecExecutionStartingProcessorTests.cs @@ -5,85 +5,81 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Processors; using Gauge.Dotnet.Strategy; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Configuration; -namespace Gauge.Dotnet.UnitTests.Processors +namespace Gauge.Dotnet.UnitTests.Processors; + +internal class SpecExecutionStartingProcessorTests { - internal class SpecExecutionStartingProcessorTests + [Test] + public void ShouldExtendFromUntaggedHooksFirstExecutionProcessor() { - [Test] - public void ShouldExtendFromUntaggedHooksFirstExecutionProcessor() - { - AssertEx.InheritsFrom(); - } + AssertEx.InheritsFrom(); + } - [Test] - public void ShouldGetTagListFromExecutionInfo() + [Test] + public void ShouldGetTagListFromExecutionInfo() + { + var specInfo = new SpecInfo { - var specInfo = new SpecInfo - { - Tags = { "foo" }, - Name = "", - FileName = "", - IsFailed = false - }; - var executionInfo = new ExecutionInfo - { - CurrentSpec = specInfo - }; + Tags = { "foo" }, + Name = "", + FileName = "", + IsFailed = false + }; + var executionInfo = new ExecutionInfo + { + CurrentSpec = specInfo + }; - var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", executionInfo) - .ToList(); + var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", executionInfo) + .ToList(); - ClassicAssert.IsNotEmpty(tags); - ClassicAssert.AreEqual(1, tags.Count); - ClassicAssert.Contains("foo", tags); - } + ClassicAssert.IsNotEmpty(tags); + ClassicAssert.AreEqual(1, tags.Count); + ClassicAssert.Contains("foo", tags); + } - [Test] - public void ShouldExecutreBeforeSpecHook() + [Test] + public async Task ShouldExecutreBeforeSpecHook() + { + var specExecutionStartingRequest = new SpecExecutionStartingRequest { - var specExecutionStartingRequest = new SpecExecutionStartingRequest + CurrentExecutionInfo = new ExecutionInfo { - CurrentExecutionInfo = new ExecutionInfo - { - CurrentSpec = new SpecInfo() - } - }; - var request = specExecutionStartingRequest; + CurrentSpec = new SpecInfo() + } + }; + var request = specExecutionStartingRequest; - var mockMethodExecutor = new Mock(); - var protoExecutionResult = new ProtoExecutionResult - { - ExecutionTime = 0, - Failed = false - }; - var pendingMessages = new List { "one", "two" }; - var pendingScreenshotFiles = new List { "screenshot.png" }; + var mockMethodExecutor = new Mock(); + var protoExecutionResult = new ProtoExecutionResult + { + ExecutionTime = 0, + Failed = false + }; + var pendingMessages = new List { "one", "two" }; + var pendingScreenshotFiles = new List { "screenshot.png" }; - mockMethodExecutor.Setup(x => - x.ExecuteHooks("BeforeSpec", It.IsAny(), It.IsAny>(), - It.IsAny())) - .Returns(protoExecutionResult); - mockMethodExecutor.Setup(x => - x.GetAllPendingMessages()).Returns(pendingMessages); - mockMethodExecutor.Setup(x => - x.GetAllPendingScreenshotFiles()).Returns(pendingScreenshotFiles); + mockMethodExecutor.Setup(x => + x.ExecuteHooks("BeforeSpec", It.IsAny(), It.IsAny>(), It.IsAny(), It.IsAny())) + .ReturnsAsync(protoExecutionResult); + mockMethodExecutor.Setup(x => + x.GetAllPendingMessages()).Returns(pendingMessages); + mockMethodExecutor.Setup(x => + x.GetAllPendingScreenshotFiles()).Returns(pendingScreenshotFiles); + var config = new ConfigurationBuilder().Build(); - var processor = new SpecExecutionStartingProcessor(mockMethodExecutor.Object); + var processor = new SpecExecutionStartingProcessor(mockMethodExecutor.Object, config); - var result = processor.Process(request); - ClassicAssert.False(result.ExecutionResult.Failed); - ClassicAssert.AreEqual(result.ExecutionResult.Message.ToList(), pendingMessages); - ClassicAssert.AreEqual(result.ExecutionResult.ScreenshotFiles.ToList(), pendingScreenshotFiles); - } + var result = await processor.Process(1, request); + ClassicAssert.False(result.ExecutionResult.Failed); + ClassicAssert.AreEqual(result.ExecutionResult.Message.ToList(), pendingMessages); + ClassicAssert.AreEqual(result.ExecutionResult.ScreenshotFiles.ToList(), pendingScreenshotFiles); } } \ No newline at end of file diff --git a/test/Processors/StepExecutionEndingProcessorTests.cs b/test/Processors/StepExecutionEndingProcessorTests.cs index 15c33cc..0dac811 100644 --- a/test/Processors/StepExecutionEndingProcessorTests.cs +++ b/test/Processors/StepExecutionEndingProcessorTests.cs @@ -5,160 +5,155 @@ *----------------------------------------------------------------*/ -using System; -using System.Collections.Generic; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Models; using Gauge.Dotnet.Processors; using Gauge.Dotnet.Strategy; using Gauge.Dotnet.UnitTests.Helpers; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Configuration; -namespace Gauge.Dotnet.UnitTests.Processors +namespace Gauge.Dotnet.UnitTests.Processors; + +internal class StepExecutionEndingProcessorTests { - internal class StepExecutionEndingProcessorTests - { - private readonly IEnumerable _pendingMessages = new List { "Foo", "Bar" }; + private readonly IEnumerable _pendingMessages = new List { "Foo", "Bar" }; - private readonly IEnumerable _pendingScreenshotFiles = new List { "SCREENSHOT.png" }; + private readonly IEnumerable _pendingScreenshotFiles = new List { "SCREENSHOT.png" }; - private Mock _mockMethodExecutor; - private ProtoExecutionResult _protoExecutionResult; - private StepExecutionEndingRequest _stepExecutionEndingRequest; - private StepExecutionEndingProcessor _stepExecutionEndingProcessor; + private Mock _mockMethodExecutor; + private ProtoExecutionResult _protoExecutionResult; + private StepExecutionEndingRequest _stepExecutionEndingRequest; + private StepExecutionEndingProcessor _stepExecutionEndingProcessor; - [SetUp] - public void Setup() + [SetUp] + public void Setup() + { + var mockHookRegistry = new Mock(); + var mockAssemblyLoader = new Mock(); + var mockMessageCollectorType = new Mock(); + var mockScreenshotFilesCollectorType = new Mock(); + + mockAssemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)) + .Returns(mockMessageCollectorType.Object); + mockAssemblyLoader.Setup(x => x.GetLibType(LibType.ScreenshotFilesCollector)) + .Returns(mockScreenshotFilesCollectorType.Object); + var mockMethod = new MockMethodBuilder(mockAssemblyLoader) + .WithName("Foo") + .WithFilteredHook(LibType.BeforeSpec) + .Build(); + var hooks = new HashSet { - var mockHookRegistry = new Mock(); - var mockAssemblyLoader = new Mock(); - var mockMessageCollectorType = new Mock(); - var mockScreenshotFilesCollectorType = new Mock(); - - mockAssemblyLoader.Setup(x => x.GetLibType(LibType.MessageCollector)) - .Returns(mockMessageCollectorType.Object); - mockAssemblyLoader.Setup(x => x.GetLibType(LibType.ScreenshotFilesCollector)) - .Returns(mockScreenshotFilesCollectorType.Object); - var mockMethod = new MockMethodBuilder(mockAssemblyLoader) - .WithName("Foo") - .WithFilteredHook(LibType.BeforeSpec) - .Build(); - var hooks = new HashSet - { - new HookMethod(LibType.BeforeSpec, mockMethod, mockAssemblyLoader.Object) - }; - mockHookRegistry.Setup(x => x.AfterStepHooks).Returns(hooks); - _stepExecutionEndingRequest = new StepExecutionEndingRequest - { - CurrentExecutionInfo = new ExecutionInfo - { - CurrentSpec = new SpecInfo(), - CurrentScenario = new ScenarioInfo() - } - }; - - _mockMethodExecutor = new Mock(); - _protoExecutionResult = new ProtoExecutionResult - { - ExecutionTime = 0, - Failed = false - }; - - _mockMethodExecutor.Setup(x => - x.ExecuteHooks("AfterStep", It.IsAny(), It.IsAny>(), - It.IsAny())) - .Returns(_protoExecutionResult); - _mockMethodExecutor.Setup(x => - x.GetAllPendingMessages()).Returns(_pendingMessages); - _mockMethodExecutor.Setup(x => - x.GetAllPendingScreenshotFiles()).Returns(_pendingScreenshotFiles); - _stepExecutionEndingProcessor = new StepExecutionEndingProcessor(_mockMethodExecutor.Object); - } - - [Test] - public void ShouldExtendFromHooksExecutionProcessor() + new HookMethod(LibType.BeforeSpec, mockMethod, mockAssemblyLoader.Object) + }; + mockHookRegistry.Setup(x => x.AfterStepHooks).Returns(hooks); + _stepExecutionEndingRequest = new StepExecutionEndingRequest { - AssertEx.InheritsFrom(); - } + CurrentExecutionInfo = new ExecutionInfo + { + CurrentSpec = new SpecInfo(), + CurrentScenario = new ScenarioInfo() + } + }; - [Test] - public void ShouldReadPendingMessages() + _mockMethodExecutor = new Mock(); + _protoExecutionResult = new ProtoExecutionResult { - var response = _stepExecutionEndingProcessor.Process(_stepExecutionEndingRequest); + ExecutionTime = 0, + Failed = false + }; + + _mockMethodExecutor.Setup(x => + x.ExecuteHooks("AfterStep", It.IsAny(), It.IsAny>(), It.IsAny(), It.IsAny())) + .ReturnsAsync(_protoExecutionResult); + _mockMethodExecutor.Setup(x => + x.GetAllPendingMessages()).Returns(_pendingMessages); + _mockMethodExecutor.Setup(x => + x.GetAllPendingScreenshotFiles()).Returns(_pendingScreenshotFiles); + var config = new ConfigurationBuilder().Build(); + _stepExecutionEndingProcessor = new StepExecutionEndingProcessor(_mockMethodExecutor.Object, config); + } - ClassicAssert.True(response != null); - ClassicAssert.True(response.ExecutionResult != null); - ClassicAssert.AreEqual(2, response.ExecutionResult.Message.Count); - ClassicAssert.AreEqual(1, response.ExecutionResult.ScreenshotFiles.Count); + [Test] + public void ShouldExtendFromHooksExecutionProcessor() + { + AssertEx.InheritsFrom(); + } + + [Test] + public async Task ShouldReadPendingMessages() + { + var response = await _stepExecutionEndingProcessor.Process(1, _stepExecutionEndingRequest); + + ClassicAssert.True(response != null); + ClassicAssert.True(response.ExecutionResult != null); + ClassicAssert.AreEqual(2, response.ExecutionResult.Message.Count); + ClassicAssert.AreEqual(1, response.ExecutionResult.ScreenshotFiles.Count); + + foreach (var pendingMessage in _pendingMessages) + ClassicAssert.Contains(pendingMessage, response.ExecutionResult.Message.ToList()); + } - foreach (var pendingMessage in _pendingMessages) - ClassicAssert.Contains(pendingMessage, response.ExecutionResult.Message.ToList()); - } + [Test] + public void ShouldGetTagListFromScenarioAndSpec() + { + var specInfo = new SpecInfo + { + Tags = { "foo" }, + Name = "", + FileName = "", + IsFailed = false + }; + var scenarioInfo = new ScenarioInfo + { + Tags = { "bar" }, + Name = "", + IsFailed = false + }; + var currentScenario = new ExecutionInfo + { + CurrentScenario = scenarioInfo, + CurrentSpec = specInfo + }; + + var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) + .ToList(); + ClassicAssert.IsNotEmpty(tags); + ClassicAssert.AreEqual(2, tags.Count); + ClassicAssert.Contains("foo", tags); + ClassicAssert.Contains("bar", tags); + } - [Test] - public void ShouldGetTagListFromScenarioAndSpec() + [Test] + public void ShouldGetTagListFromScenarioAndSpecAndIgnoreDuplicates() + { + var specInfo = new SpecInfo { - var specInfo = new SpecInfo - { - Tags = { "foo" }, - Name = "", - FileName = "", - IsFailed = false - }; - var scenarioInfo = new ScenarioInfo - { - Tags = { "bar" }, - Name = "", - IsFailed = false - }; - var currentScenario = new ExecutionInfo - { - CurrentScenario = scenarioInfo, - CurrentSpec = specInfo - }; - - var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) - .ToList(); - ClassicAssert.IsNotEmpty(tags); - ClassicAssert.AreEqual(2, tags.Count); - ClassicAssert.Contains("foo", tags); - ClassicAssert.Contains("bar", tags); - } - - [Test] - public void ShouldGetTagListFromScenarioAndSpecAndIgnoreDuplicates() + Tags = { "foo" }, + Name = "", + FileName = "", + IsFailed = false + }; + var scenarioInfo = new ScenarioInfo { - var specInfo = new SpecInfo - { - Tags = { "foo" }, - Name = "", - FileName = "", - IsFailed = false - }; - var scenarioInfo = new ScenarioInfo - { - Tags = { "foo" }, - Name = "", - IsFailed = false - }; - var currentScenario = new ExecutionInfo - { - CurrentScenario = scenarioInfo, - CurrentSpec = specInfo - }; - var currentExecutionInfo = new StepExecutionEndingRequest - { - CurrentExecutionInfo = currentScenario - }; - - var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) - .ToList(); - ClassicAssert.IsNotEmpty(tags); - ClassicAssert.AreEqual(1, tags.Count); - ClassicAssert.Contains("foo", tags); - } + Tags = { "foo" }, + Name = "", + IsFailed = false + }; + var currentScenario = new ExecutionInfo + { + CurrentScenario = scenarioInfo, + CurrentSpec = specInfo + }; + var currentExecutionInfo = new StepExecutionEndingRequest + { + CurrentExecutionInfo = currentScenario + }; + + var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) + .ToList(); + ClassicAssert.IsNotEmpty(tags); + ClassicAssert.AreEqual(1, tags.Count); + ClassicAssert.Contains("foo", tags); } } \ No newline at end of file diff --git a/test/Processors/StepExecutionStartingProcessorTests.cs b/test/Processors/StepExecutionStartingProcessorTests.cs index 3c9919d..b580483 100644 --- a/test/Processors/StepExecutionStartingProcessorTests.cs +++ b/test/Processors/StepExecutionStartingProcessorTests.cs @@ -5,127 +5,122 @@ *----------------------------------------------------------------*/ -using System.Collections.Generic; -using System.Linq; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Models; using Gauge.Dotnet.Processors; using Gauge.Dotnet.Strategy; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Configuration; -namespace Gauge.Dotnet.UnitTests.Processors +namespace Gauge.Dotnet.UnitTests.Processors; + +internal class StepExecutionStartingProcessorTests { - internal class StepExecutionStartingProcessorTests + [Test] + public void ShouldExtendFromHooksExecutionProcessor() { - [Test] - public void ShouldExtendFromHooksExecutionProcessor() - { - AssertEx.InheritsFrom(); - } + AssertEx.InheritsFrom(); + } - [Test] - public void ShouldClearExistingGaugeMessages() - { - var mockExecutionHelper = new Mock(); + [Test] + public async Task ShouldClearExistingGaugeMessages() + { + var mockExecutionHelper = new Mock(); - var request = new StepExecutionStartingRequest + var request = new StepExecutionStartingRequest + { + CurrentExecutionInfo = new ExecutionInfo { - CurrentExecutionInfo = new ExecutionInfo - { - CurrentSpec = new SpecInfo(), - CurrentScenario = new ScenarioInfo() - } - }; + CurrentSpec = new SpecInfo(), + CurrentScenario = new ScenarioInfo() + } + }; - var protoExecutionResult = new ProtoExecutionResult { ExecutionTime = 0, Failed = false }; - mockExecutionHelper.Setup(executor => - executor.ExecuteHooks(It.IsAny(), It.IsAny(), It.IsAny>(), - It.IsAny())) - .Returns(protoExecutionResult); - var hookRegistry = new Mock(); - hookRegistry.Setup(registry => registry.BeforeStepHooks).Returns(new HashSet()); + var protoExecutionResult = new ProtoExecutionResult { ExecutionTime = 0, Failed = false }; + mockExecutionHelper.Setup(executor => + executor.ExecuteHooks(It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny(), It.IsAny())) + .ReturnsAsync(protoExecutionResult); + var hookRegistry = new Mock(); + hookRegistry.Setup(registry => registry.BeforeStepHooks).Returns(new HashSet()); - var pendingMessages = new List { "one", "two" }; - var pendingScreenshotFiles = new List { "screenshot.png" }; + var pendingMessages = new List { "one", "two" }; + var pendingScreenshotFiles = new List { "screenshot.png" }; - mockExecutionHelper.Setup(x => - x.ExecuteHooks("BeforeStep", It.IsAny(), It.IsAny>(), - It.IsAny())) - .Returns(protoExecutionResult); - mockExecutionHelper.Setup(x => - x.GetAllPendingMessages()).Returns(pendingMessages); - mockExecutionHelper.Setup(x => - x.GetAllPendingScreenshotFiles()).Returns(pendingScreenshotFiles); + mockExecutionHelper.Setup(x => + x.ExecuteHooks("BeforeStep", It.IsAny(), It.IsAny>(), It.IsAny(), It.IsAny())) + .ReturnsAsync(protoExecutionResult); + mockExecutionHelper.Setup(x => + x.GetAllPendingMessages()).Returns(pendingMessages); + mockExecutionHelper.Setup(x => + x.GetAllPendingScreenshotFiles()).Returns(pendingScreenshotFiles); + var config = new ConfigurationBuilder().Build(); - var processor = new StepExecutionStartingProcessor(mockExecutionHelper.Object); - var result = processor.Process(request); - ClassicAssert.AreEqual(result.ExecutionResult.Message, pendingMessages); - ClassicAssert.AreEqual(result.ExecutionResult.ScreenshotFiles, pendingScreenshotFiles); - } + var processor = new StepExecutionStartingProcessor(mockExecutionHelper.Object, config); + var result = await processor.Process(1, request); + ClassicAssert.AreEqual(result.ExecutionResult.Message, pendingMessages); + ClassicAssert.AreEqual(result.ExecutionResult.ScreenshotFiles, pendingScreenshotFiles); + } - [Test] - public void ShouldGetTagListFromScenarioAndSpec() + [Test] + public void ShouldGetTagListFromScenarioAndSpec() + { + var specInfo = new SpecInfo { - var specInfo = new SpecInfo - { - Tags = { "foo" }, - Name = "", - FileName = "", - IsFailed = false - }; - var scenarioInfo = new ScenarioInfo - { - Tags = { "bar" }, - Name = "", - IsFailed = false - }; - var currentScenario = new ExecutionInfo - { - CurrentScenario = scenarioInfo, - CurrentSpec = specInfo - }; + Tags = { "foo" }, + Name = "", + FileName = "", + IsFailed = false + }; + var scenarioInfo = new ScenarioInfo + { + Tags = { "bar" }, + Name = "", + IsFailed = false + }; + var currentScenario = new ExecutionInfo + { + CurrentScenario = scenarioInfo, + CurrentSpec = specInfo + }; - var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) - .ToList(); - ClassicAssert.IsNotEmpty(tags); - ClassicAssert.AreEqual(2, tags.Count); - ClassicAssert.Contains("foo", tags); - ClassicAssert.Contains("bar", tags); - } + var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) + .ToList(); + ClassicAssert.IsNotEmpty(tags); + ClassicAssert.AreEqual(2, tags.Count); + ClassicAssert.Contains("foo", tags); + ClassicAssert.Contains("bar", tags); + } - [Test] - public void ShouldGetTagListFromScenarioAndSpecAndIgnoreDuplicates() + [Test] + public void ShouldGetTagListFromScenarioAndSpecAndIgnoreDuplicates() + { + var specInfo = new SpecInfo { - var specInfo = new SpecInfo - { - Tags = { "foo" }, - Name = "", - FileName = "", - IsFailed = false - }; - var scenarioInfo = new ScenarioInfo - { - Tags = { "foo" }, - Name = "", - IsFailed = false - }; - var currentScenario = new ExecutionInfo - { - CurrentScenario = scenarioInfo, - CurrentSpec = specInfo - }; - var currentExecutionInfo = new StepExecutionStartingRequest - { - CurrentExecutionInfo = currentScenario - }; + Tags = { "foo" }, + Name = "", + FileName = "", + IsFailed = false + }; + var scenarioInfo = new ScenarioInfo + { + Tags = { "foo" }, + Name = "", + IsFailed = false + }; + var currentScenario = new ExecutionInfo + { + CurrentScenario = scenarioInfo, + CurrentSpec = specInfo + }; + var currentExecutionInfo = new StepExecutionStartingRequest + { + CurrentExecutionInfo = currentScenario + }; - var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) - .ToList(); - ClassicAssert.IsNotEmpty(tags); - ClassicAssert.AreEqual(1, tags.Count); - ClassicAssert.Contains("foo", tags); - } + var tags = AssertEx.ExecuteProtectedMethod("GetApplicableTags", currentScenario) + .ToList(); + ClassicAssert.IsNotEmpty(tags); + ClassicAssert.AreEqual(1, tags.Count); + ClassicAssert.Contains("foo", tags); } } \ No newline at end of file diff --git a/test/Processors/StepNameProcessorTest.cs b/test/Processors/StepNameProcessorTest.cs index 81aed38..566ef09 100644 --- a/test/Processors/StepNameProcessorTest.cs +++ b/test/Processors/StepNameProcessorTest.cs @@ -1,102 +1,97 @@ -using System.Collections.Generic; -using Gauge.Dotnet.Models; +using Gauge.Dotnet.Models; using Gauge.Dotnet.Processors; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; -namespace Gauge.Dotnet.UnitTests.Processors +namespace Gauge.Dotnet.UnitTests.Processors; + +public class StepNameProcessorTest { - public class StepNameProcessorTest + public class StepNameProcessorTests { - public class StepNameProcessorTests + [Test] + public async Task ShouldProcessStepNameRequest() { - [Test] - public void ShouldProcessStepNameRequest() + var mockStepRegistry = new Mock(); + var request = new StepNameRequest { - var mockStepRegistry = new Mock(); - var request = new StepNameRequest - { - StepValue = "step1" - }; + StepValue = "step1" + }; - var parsedStepText = request.StepValue; - const string stepText = "step1"; - mockStepRegistry.Setup(r => r.ContainsStep(parsedStepText)).Returns(true); - mockStepRegistry.Setup(r => r.GetStepText(parsedStepText)).Returns(stepText); - var gaugeMethod = new GaugeMethod - { - FileName = "foo" - }; - mockStepRegistry.Setup(r => r.MethodFor(parsedStepText)).Returns(gaugeMethod); - mockStepRegistry.Setup(r => r.HasAlias(stepText)).Returns(false); - var stepNameProcessor = new StepNameProcessor(mockStepRegistry.Object); + var parsedStepText = request.StepValue; + const string stepText = "step1"; + mockStepRegistry.Setup(r => r.ContainsStep(parsedStepText)).Returns(true); + mockStepRegistry.Setup(r => r.GetStepText(parsedStepText)).Returns(stepText); + var gaugeMethod = new GaugeMethod + { + FileName = "foo" + }; + mockStepRegistry.Setup(r => r.MethodFor(parsedStepText)).Returns(gaugeMethod); + mockStepRegistry.Setup(r => r.HasAlias(stepText)).Returns(false); + var stepNameProcessor = new StepNameProcessor(mockStepRegistry.Object); - var response = stepNameProcessor.Process(request); + var response = await stepNameProcessor.Process(1, request); - ClassicAssert.AreEqual(response.FileName, "foo"); - ClassicAssert.AreEqual(response.StepName[0], "step1"); - ClassicAssert.False(response.HasAlias); - } + ClassicAssert.AreEqual(response.FileName, "foo"); + ClassicAssert.AreEqual(response.StepName[0], "step1"); + ClassicAssert.False(response.HasAlias); + } - [Test] - public void ShouldProcessStepNameWithAliasRequest() + [Test] + public async Task ShouldProcessStepNameWithAliasRequest() + { + var mockStepRegistry = new Mock(); + var request = new StepNameRequest { - var mockStepRegistry = new Mock(); - var request = new StepNameRequest - { - StepValue = "step1" - }; - var parsedStepText = request.StepValue; - const string stepText = "step1"; - mockStepRegistry.Setup(r => r.ContainsStep(parsedStepText)).Returns(true); - mockStepRegistry.Setup(r => r.GetStepText(parsedStepText)).Returns(stepText); + StepValue = "step1" + }; + var parsedStepText = request.StepValue; + const string stepText = "step1"; + mockStepRegistry.Setup(r => r.ContainsStep(parsedStepText)).Returns(true); + mockStepRegistry.Setup(r => r.GetStepText(parsedStepText)).Returns(stepText); - var gaugeMethod = new GaugeMethod - { - FileName = "foo", - HasAlias = true, - Aliases = new List { "step2", "step3" } - }; - mockStepRegistry.Setup(r => r.MethodFor(parsedStepText)).Returns(gaugeMethod); - mockStepRegistry.Setup(r => r.HasAlias(stepText)).Returns(true); - var stepNameProcessor = new StepNameProcessor(mockStepRegistry.Object); + var gaugeMethod = new GaugeMethod + { + FileName = "foo", + HasAlias = true, + Aliases = new List { "step2", "step3" } + }; + mockStepRegistry.Setup(r => r.MethodFor(parsedStepText)).Returns(gaugeMethod); + mockStepRegistry.Setup(r => r.HasAlias(stepText)).Returns(true); + var stepNameProcessor = new StepNameProcessor(mockStepRegistry.Object); - var response = stepNameProcessor.Process(request); + var response = await stepNameProcessor.Process(1, request); - ClassicAssert.AreEqual(response.FileName, "foo"); - ClassicAssert.AreEqual(response.StepName[0], "step2"); - ClassicAssert.AreEqual(response.StepName[1], "step3"); - ClassicAssert.True(response.HasAlias); - } + ClassicAssert.AreEqual(response.FileName, "foo"); + ClassicAssert.AreEqual(response.StepName[0], "step2"); + ClassicAssert.AreEqual(response.StepName[1], "step3"); + ClassicAssert.True(response.HasAlias); + } - [Test] - public void ShouldProcessExternalSteps() + [Test] + public async Task ShouldProcessExternalSteps() + { + var mockStepRegistry = new Mock(); + var request = new StepNameRequest { - var mockStepRegistry = new Mock(); - var request = new StepNameRequest - { - StepValue = "step1" - }; - var parsedStepText = request.StepValue; - const string stepText = "step1"; - mockStepRegistry.Setup(r => r.ContainsStep(parsedStepText)).Returns(true); - mockStepRegistry.Setup(r => r.GetStepText(parsedStepText)).Returns(stepText); + StepValue = "step1" + }; + var parsedStepText = request.StepValue; + const string stepText = "step1"; + mockStepRegistry.Setup(r => r.ContainsStep(parsedStepText)).Returns(true); + mockStepRegistry.Setup(r => r.GetStepText(parsedStepText)).Returns(stepText); - var gaugeMethod = new GaugeMethod - { - FileName = "foo", - IsExternal = true - }; - mockStepRegistry.Setup(r => r.MethodFor(parsedStepText)).Returns(gaugeMethod); - var stepNameProcessor = new StepNameProcessor(mockStepRegistry.Object); + var gaugeMethod = new GaugeMethod + { + FileName = "foo", + IsExternal = true + }; + mockStepRegistry.Setup(r => r.MethodFor(parsedStepText)).Returns(gaugeMethod); + var stepNameProcessor = new StepNameProcessor(mockStepRegistry.Object); - var response = stepNameProcessor.Process(request); + var response = await stepNameProcessor.Process(1, request); - ClassicAssert.True(response.IsExternal); - // ClassicAssert.AreEqual(response.FileName, null); - } + ClassicAssert.True(response.IsExternal); + // ClassicAssert.AreEqual(response.FileName, null); } } } \ No newline at end of file diff --git a/test/Processors/StepNamesProcessorTests.cs b/test/Processors/StepNamesProcessorTests.cs index cc4b91a..8e80fec 100644 --- a/test/Processors/StepNamesProcessorTests.cs +++ b/test/Processors/StepNamesProcessorTests.cs @@ -1,25 +1,20 @@ -using System.Collections.Generic; -using Gauge.Dotnet.Models; +using Gauge.Dotnet.Models; using Gauge.Dotnet.Processors; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; -namespace Gauge.Dotnet.UnitTests.Processors +namespace Gauge.Dotnet.UnitTests.Processors; + +public class StepNamesProcessorTests { - public class StepNamesProcessorTests + [Test] + public async Task ShouldProcessStepNamesRequest() { - [Test] - public void ShouldProcessStepNamesRequest() - { - var mockStepRegistry = new Mock(); - mockStepRegistry.Setup(r => r.GetStepTexts()).Returns(new List { "step1", "step2", "step3" }); - var stepNamesProcessor = new StepNamesProcessor(mockStepRegistry.Object); - var request = new StepNamesRequest(); - var response = stepNamesProcessor.Process(request); - ClassicAssert.AreEqual(3, response.Steps.Count); - ClassicAssert.AreEqual(response.Steps[0], "step1"); - } + var mockStepRegistry = new Mock(); + mockStepRegistry.Setup(r => r.GetStepTexts()).Returns(new List { "step1", "step2", "step3" }); + var stepNamesProcessor = new StepNamesProcessor(mockStepRegistry.Object); + var request = new StepNamesRequest(); + var response = await stepNamesProcessor.Process(1, request); + ClassicAssert.AreEqual(3, response.Steps.Count); + ClassicAssert.AreEqual(response.Steps[0], "step1"); } } \ No newline at end of file diff --git a/test/Processors/StepPositionsProcessorTests.cs b/test/Processors/StepPositionsProcessorTests.cs index d40ea3c..8e43691 100644 --- a/test/Processors/StepPositionsProcessorTests.cs +++ b/test/Processors/StepPositionsProcessorTests.cs @@ -5,53 +5,48 @@ *----------------------------------------------------------------*/ -using System.Linq; using Gauge.Dotnet.Models; using Gauge.Dotnet.Processors; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; using static Gauge.Messages.StepPositionsResponse.Types; -namespace Gauge.Dotnet.UnitTests.Processors +namespace Gauge.Dotnet.UnitTests.Processors; + +public class StepPositionsProcessorTests { - public class StepPositionsProcessorTests + [Test] + public async Task ShouldProcessRequest() + { + var filePath = "Foo.cs"; + var mockStepRegistry = new Mock(); + mockStepRegistry.Setup(x => x.GetStepPositions(filePath)) + .Returns(new[] { new StepPosition { StepValue = "goodbye", Span = new Span { Start = 6, End = 16 } } }); + var processor = new StepPositionsProcessor(mockStepRegistry.Object); + var request = new StepPositionsRequest { FilePath = "Foo.cs" }; + + var response = await processor.Process(1, request); + + ClassicAssert.AreEqual(response.StepPositions.Count, 1); + ClassicAssert.AreEqual(response.StepPositions.First().StepValue, "goodbye"); + ClassicAssert.AreEqual(response.StepPositions.First().Span.Start, 6); + } + + + [Test] + public async Task ShouldProcessRequestForAliasSteps() { - [Test] - public void ShouldProcessRequest() - { - var filePath = "Foo.cs"; - var mockStepRegistry = new Mock(); - mockStepRegistry.Setup(x => x.GetStepPositions(filePath)) - .Returns(new[] { new StepPosition { StepValue = "goodbye", Span = new Span { Start = 6, End = 16 } } }); - var processor = new StepPositionsProcessor(mockStepRegistry.Object); - var request = new StepPositionsRequest { FilePath = "Foo.cs" }; - - var response = processor.Process(request); - - ClassicAssert.AreEqual(response.StepPositions.Count, 1); - ClassicAssert.AreEqual(response.StepPositions.First().StepValue, "goodbye"); - ClassicAssert.AreEqual(response.StepPositions.First().Span.Start, 6); - } - - - [Test] - public void ShouldProcessRequestForAliasSteps() - { - var filePath = "Foo.cs"; - var mockStepRegistry = new Mock(); - mockStepRegistry.Setup(x => x.GetStepPositions(filePath)) - .Returns(new[] { - new StepPosition{StepValue = "goodbye", Span = new Span{Start= 6, End= 16}}, - new StepPosition{StepValue = "Sayonara", Span = new Span{Start= 6, End= 16}}, - }); - var processor = new StepPositionsProcessor(mockStepRegistry.Object); - var request = new StepPositionsRequest { FilePath = filePath }; - - var response = processor.Process(request); - - ClassicAssert.AreEqual(response.StepPositions.Count, 2); - } + var filePath = "Foo.cs"; + var mockStepRegistry = new Mock(); + mockStepRegistry.Setup(x => x.GetStepPositions(filePath)) + .Returns(new[] { + new StepPosition{StepValue = "goodbye", Span = new Span{Start= 6, End= 16}}, + new StepPosition{StepValue = "Sayonara", Span = new Span{Start= 6, End= 16}}, + }); + var processor = new StepPositionsProcessor(mockStepRegistry.Object); + var request = new StepPositionsRequest { FilePath = filePath }; + + var response = await processor.Process(1, request); + + ClassicAssert.AreEqual(response.StepPositions.Count, 2); } } \ No newline at end of file diff --git a/test/Processors/Stubs/TestHooksExecutionProcessor.cs b/test/Processors/Stubs/TestHooksExecutionProcessor.cs index 69dff2c..b72cbfd 100644 --- a/test/Processors/Stubs/TestHooksExecutionProcessor.cs +++ b/test/Processors/Stubs/TestHooksExecutionProcessor.cs @@ -5,25 +5,24 @@ *----------------------------------------------------------------*/ -using System; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Processors; using Gauge.Dotnet.Strategy; -using Gauge.Messages; +using Microsoft.Extensions.Configuration; -namespace Gauge.Dotnet.UnitTests.Processors.Stubs +namespace Gauge.Dotnet.UnitTests.Processors.Stubs; + +public class TestHooksExecutionProcessor : HookExecutionProcessor { - public class TestHooksExecutionProcessor : HookExecutionProcessor + public TestHooksExecutionProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) { - public TestHooksExecutionProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - } + } - protected override string HookType => throw new NotImplementedException(); + protected override string HookType => throw new NotImplementedException(); - public HooksStrategy GetHooksStrategy() - { - return Strategy; - } + public HooksStrategy GetHooksStrategy() + { + return Strategy; } } \ No newline at end of file diff --git a/test/Processors/Stubs/TestTaggedHooksFirstExecutionProcessor.cs b/test/Processors/Stubs/TestTaggedHooksFirstExecutionProcessor.cs index b8bc9ba..7528fe1 100644 --- a/test/Processors/Stubs/TestTaggedHooksFirstExecutionProcessor.cs +++ b/test/Processors/Stubs/TestTaggedHooksFirstExecutionProcessor.cs @@ -5,25 +5,24 @@ *----------------------------------------------------------------*/ -using System; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Processors; using Gauge.Dotnet.Strategy; -using Gauge.Messages; +using Microsoft.Extensions.Configuration; -namespace Gauge.Dotnet.UnitTests.Processors.Stubs +namespace Gauge.Dotnet.UnitTests.Processors.Stubs; + +public class TestTaggedHooksFirstExecutionProcessor : TaggedHooksFirstExecutionProcessor { - public class TestTaggedHooksFirstExecutionProcessor : TaggedHooksFirstExecutionProcessor + public TestTaggedHooksFirstExecutionProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) { - public TestTaggedHooksFirstExecutionProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - } + } - protected override string HookType => throw new NotImplementedException(); + protected override string HookType => throw new NotImplementedException(); - public HooksStrategy GetHooksStrategy() - { - return Strategy; - } + public HooksStrategy GetHooksStrategy() + { + return Strategy; } } \ No newline at end of file diff --git a/test/Processors/Stubs/TestUntaggedHooksFirstExecutionProcessor.cs b/test/Processors/Stubs/TestUntaggedHooksFirstExecutionProcessor.cs index 6a898fd..8ee2285 100644 --- a/test/Processors/Stubs/TestUntaggedHooksFirstExecutionProcessor.cs +++ b/test/Processors/Stubs/TestUntaggedHooksFirstExecutionProcessor.cs @@ -5,26 +5,24 @@ *----------------------------------------------------------------*/ -using System; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Processors; using Gauge.Dotnet.Strategy; -using Gauge.Dotnet.Wrappers; -using Gauge.Messages; +using Microsoft.Extensions.Configuration; -namespace Gauge.Dotnet.UnitTests.Processors.Stubs +namespace Gauge.Dotnet.UnitTests.Processors.Stubs; + +public class TestUntaggedHooksFirstExecutionProcessor : UntaggedHooksFirstExecutionProcessor { - public class TestUntaggedHooksFirstExecutionProcessor : UntaggedHooksFirstExecutionProcessor + public TestUntaggedHooksFirstExecutionProcessor(IExecutionOrchestrator executionOrchestrator, IConfiguration config) + : base(executionOrchestrator, config) { - public TestUntaggedHooksFirstExecutionProcessor(IExecutionOrchestrator executionOrchestrator) - : base(executionOrchestrator) - { - } + } - protected override string HookType => throw new NotImplementedException(); + protected override string HookType => throw new NotImplementedException(); - public HooksStrategy GetHooksStrategy() - { - return Strategy; - } + public HooksStrategy GetHooksStrategy() + { + return Strategy; } } \ No newline at end of file diff --git a/test/StartCommandTests.cs b/test/StartCommandTests.cs deleted file mode 100644 index 2a0a680..0000000 --- a/test/StartCommandTests.cs +++ /dev/null @@ -1,112 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using System; -using System.IO; -using System.Runtime.InteropServices; -using Microsoft.AspNetCore.Builder; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; - -namespace Gauge.Dotnet.UnitTests -{ - [TestFixture] - internal class StartCommandTests - { - class FakeGaugeListener : GaugeListener - { - public FakeGaugeListener(IConfiguration configuration) : base(configuration) - { - } - - public override void ConfigureServices(IServiceCollection services) { } - public override void Configure(IApplicationBuilder app, IHostApplicationLifetime lifetime) { } - } - - [SetUp] - public void Setup() - { - _mockGaugeProjectBuilder = new Mock(); - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", TempPath); - _startCommand = new StartCommand(_mockGaugeProjectBuilder.Object, typeof(FakeGaugeListener)); - } - - [TearDown] - public void TearDown() - { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", null); - Environment.SetEnvironmentVariable("GAUGE_CUSTOM_BUILD_PATH", null); - } - - private readonly string TempPath = Path.GetTempPath(); - - private Mock _mockGaugeProjectBuilder; - private StartCommand _startCommand; - - [Test] - public void ShouldInvokeProjectBuild() - { - _startCommand.Execute().ContinueWith(b => - { - _mockGaugeProjectBuilder.Verify(builder => builder.BuildTargetGaugeProject(), Times.Once); - }); - } - - [Test] - public void ShouldNotBuildWhenCustomBuildPathIsSetAsync() - { - Environment.SetEnvironmentVariable("GAUGE_CUSTOM_BUILD_PATH", "GAUGE_CUSTOM_BUILD_PATH"); - _startCommand.Execute().ContinueWith(b => - { - _mockGaugeProjectBuilder.Verify(builder => builder.BuildTargetGaugeProject(), Times.Never); - }); - - } - - [Test] - public void ShouldNotPollForMessagesWhenBuildFails() - { - _mockGaugeProjectBuilder.Setup(builder => builder.BuildTargetGaugeProject()).Returns(false); - _startCommand.Execute() - .ContinueWith(b => ClassicAssert.False(b.Result, "Should not start server when build fails")); - } - - [Test] - public void ShouldPollForMessagesWhenBuildPasses() - { - _mockGaugeProjectBuilder.Setup(builder => builder.BuildTargetGaugeProject()).Returns(true); - - _startCommand.Execute() - .ContinueWith(b => ClassicAssert.True(b.Result, "Should start server using GaugeListener when build passes")); - } - - [Test] - public void ShouldPollForMessagesWhenCustomBuildPathIsSet() - { - Environment.SetEnvironmentVariable("GAUGE_CUSTOM_BUILD_PATH", "GAUGE_CUSTOM_BUILD_PATH"); - - _startCommand.Execute() - .ContinueWith(b => ClassicAssert.True(b.Result, "Should start server using GaugeListener when GAUGE_CUSTOM_BUILD_PATH is set")); - } - - [Test] - public void ShouldRunProcessInProjectRoot() - { - var actual = Environment.CurrentDirectory.TrimEnd(Path.DirectorySeparatorChar); - var expected = TempPath.TrimEnd(Path.DirectorySeparatorChar); - // in osx the /var tmp path is a symlink to /private/var - if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) - expected = $"/private{expected}"; - - ClassicAssert.That(actual, Is.SamePath(expected)); - } - } -} \ No newline at end of file diff --git a/test/StaticLoaderTests.cs b/test/StaticLoaderTests.cs index a2cf31f..480d85e 100644 --- a/test/StaticLoaderTests.cs +++ b/test/StaticLoaderTests.cs @@ -5,288 +5,273 @@ *----------------------------------------------------------------*/ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; using System.Xml.Linq; -using Gauge.CSharp.Core; using Gauge.Dotnet.Wrappers; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Logging; -namespace Gauge.Dotnet.UnitTests +namespace Gauge.Dotnet.UnitTests; + +[TestFixture] +public class StaticLoaderTests { - [TestFixture] - public class StaticLoaderTests + private IConfiguration _config; + private readonly string dummyProjectRoot = Path.Combine("non", "existent", "path"); + private readonly Mock> _logger = new(); + + [SetUp] + public void Setup() { - private string oldEnv; - private readonly string dummyProjectRoot = Path.Combine("non", "existent", "path"); - [SetUp] - public void Setup() - { - oldEnv = Environment.GetEnvironmentVariable("GAUGE_PROJECT_ROOT"); - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", dummyProjectRoot); - } + _config = new ConfigurationBuilder() + .AddInMemoryCollection(new Dictionary { { "GAUGE_PROJECT_ROOT", dummyProjectRoot } }) + .Build(); + } - [TearDown] - public void Teardown() - { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", oldEnv); - } + [Test] + public void ShouldAddAliasesSteps() + { + var mockAttributesLoader = new Mock(); + mockAttributesLoader.Setup(x => x.GetRemovedAttributes()).Returns(new List()); + var mockDirectoryWrapper = new Mock(); + mockDirectoryWrapper.Setup(x => x.EnumerateFiles(dummyProjectRoot, "*.cs", SearchOption.AllDirectories)).Returns(Enumerable.Empty); + var loader = new StaticLoader(mockAttributesLoader.Object, mockDirectoryWrapper.Object, _config, _logger.Object); + const string text = "using Gauge.CSharp.Lib.Attributes;\n" + + "namespace foobar\n" + + "{\n" + + " public class FooBar\n" + + " {\n" + + " [Step(\"goodbye\",\"adieu\", \"sayonara\")]\n" + + " public void farewell()\n" + + " {\n" + + " }\n" + + " }\n" + + "}\n"; + const string fileName = @"foo.cs"; + loader.LoadStepsFromText(text, fileName); + var registry = loader.GetStepRegistry(); + + ClassicAssert.True(registry.ContainsStep("goodbye")); + ClassicAssert.True(registry.ContainsStep("adieu")); + ClassicAssert.True(registry.ContainsStep("sayonara")); + } - [Test] - public void ShouldAddAliasesSteps() - { - var mockAttributesLoader = new Mock(); - mockAttributesLoader.Setup(x => x.GetRemovedAttributes()).Returns(new List()); - var mockDirectoryWrapper = new Mock(); - mockDirectoryWrapper.Setup(x => x.EnumerateFiles(dummyProjectRoot, "*.cs", SearchOption.AllDirectories)).Returns(Enumerable.Empty); - var loader = new StaticLoader(mockAttributesLoader.Object, mockDirectoryWrapper.Object); - const string text = "using Gauge.CSharp.Lib.Attributes;\n" + - "namespace foobar\n" + - "{\n" + - " public class FooBar\n" + - " {\n" + - " [Step(\"goodbye\",\"adieu\", \"sayonara\")]\n" + - " public void farewell()\n" + - " {\n" + - " }\n" + - " }\n" + - "}\n"; - const string fileName = @"foo.cs"; - loader.LoadStepsFromText(text, fileName); - var registry = loader.GetStepRegistry(); - - ClassicAssert.True(registry.ContainsStep("goodbye")); - ClassicAssert.True(registry.ContainsStep("adieu")); - ClassicAssert.True(registry.ContainsStep("sayonara")); - } + [Test] + public void ShouldAddStepsFromGivenContent() + { + var mockAttributesLoader = new Mock(); + mockAttributesLoader.Setup(x => x.GetRemovedAttributes()).Returns(new List()); + var mockDirectoryWrapper = new Mock(); + mockDirectoryWrapper.Setup(x => x.EnumerateFiles(dummyProjectRoot, "*.cs", SearchOption.AllDirectories)).Returns(Enumerable.Empty); + var loader = new StaticLoader(mockAttributesLoader.Object, mockDirectoryWrapper.Object, _config, _logger.Object); + + const string text = "using Gauge.CSharp.Lib.Attributes;\n" + + "namespace foobar\n" + + "{\n" + + " public class FooBar\n" + + " {\n" + + " [Step(\"hello\")]\n" + + " public void hello()\n" + + " {\n" + + " }\n" + + " }\n" + + "}\n"; + const string fileName = @"foo.cs"; + loader.LoadStepsFromText(text, fileName); + ClassicAssert.True(loader.GetStepRegistry().ContainsStep("hello")); + } - [Test] - public void ShouldAddStepsFromGivenContent() - { - var mockAttributesLoader = new Mock(); - mockAttributesLoader.Setup(x => x.GetRemovedAttributes()).Returns(new List()); - var mockDirectoryWrapper = new Mock(); - mockDirectoryWrapper.Setup(x => x.EnumerateFiles(dummyProjectRoot, "*.cs", SearchOption.AllDirectories)).Returns(Enumerable.Empty); - var loader = new StaticLoader(mockAttributesLoader.Object, mockDirectoryWrapper.Object); - - const string text = "using Gauge.CSharp.Lib.Attributes;\n" + - "namespace foobar\n" + - "{\n" + - " public class FooBar\n" + - " {\n" + - " [Step(\"hello\")]\n" + - " public void hello()\n" + - " {\n" + - " }\n" + - " }\n" + - "}\n"; - const string fileName = @"foo.cs"; - loader.LoadStepsFromText(text, fileName); - ClassicAssert.True(loader.GetStepRegistry().ContainsStep("hello")); - } + [Test] + public void ShouldLoadStepsWithPosition() + { + var mockAttributesLoader = new Mock(); + mockAttributesLoader.Setup(x => x.GetRemovedAttributes()).Returns(new List()); + var mockDirectoryWrapper = new Mock(); + mockDirectoryWrapper.Setup(x => x.EnumerateFiles(dummyProjectRoot, "*.cs", SearchOption.AllDirectories)).Returns(Enumerable.Empty); + var loader = new StaticLoader(mockAttributesLoader.Object, mockDirectoryWrapper.Object, _config, _logger.Object); + const string file1 = @"Foo.cs"; + + const string text = "using Gauge.CSharp.Lib.Attributes;\n" + + "namespace foobar\n" + + "{\n" + + " public class Foo\n" + + " {\n" + + " [Step(\"hello\")]\n" + + " public void hello()\n" + + " {\n" + + " }\n" + + " }\n" + + "}\n"; + + loader.LoadStepsFromText(text, file1); + + const string file2 = @"Bar.cs"; + const string newText = "using Gauge.CSharp.Lib.Attributes;\n" + + "namespace foobar\n" + + "{\n" + + " public class Bar\n" + + " {\n" + + " [Step(\"hola\")]\n" + + " public void hola()\n" + + " {\n" + + " }\n" + + " }\n" + + "}\n"; + + loader.ReloadSteps(newText, file2); + + var positions = loader.GetStepRegistry().GetStepPositions(file1).ToList(); + ClassicAssert.AreEqual(1, positions.Count); + ClassicAssert.AreEqual(6, positions.First().Span.Start); + ClassicAssert.AreEqual(9, positions.First().Span.End); + } - [Test] - public void ShouldLoadStepsWithPosition() - { - var mockAttributesLoader = new Mock(); - mockAttributesLoader.Setup(x => x.GetRemovedAttributes()).Returns(new List()); - var mockDirectoryWrapper = new Mock(); - mockDirectoryWrapper.Setup(x => x.EnumerateFiles(dummyProjectRoot, "*.cs", SearchOption.AllDirectories)).Returns(Enumerable.Empty); - var loader = new StaticLoader(mockAttributesLoader.Object, mockDirectoryWrapper.Object); - const string file1 = @"Foo.cs"; - - const string text = "using Gauge.CSharp.Lib.Attributes;\n" + - "namespace foobar\n" + - "{\n" + - " public class Foo\n" + - " {\n" + - " [Step(\"hello\")]\n" + - " public void hello()\n" + - " {\n" + - " }\n" + - " }\n" + - "}\n"; - - loader.LoadStepsFromText(text, file1); - - const string file2 = @"Bar.cs"; - const string newText = "using Gauge.CSharp.Lib.Attributes;\n" + - "namespace foobar\n" + - "{\n" + - " public class Bar\n" + - " {\n" + - " [Step(\"hola\")]\n" + - " public void hola()\n" + - " {\n" + - " }\n" + - " }\n" + - "}\n"; - - loader.ReloadSteps(newText, file2); - - var positions = loader.GetStepRegistry().GetStepPositions(file1).ToList(); - ClassicAssert.AreEqual(1, positions.Count); - ClassicAssert.AreEqual(6, positions.First().Span.Start); - ClassicAssert.AreEqual(9, positions.First().Span.End); - } + [Test] + public void ShouldNotReloadStepOfRemovedFile() + { + var currentDirectory = Directory.GetCurrentDirectory(); + _config["GAUGE_PROJECT_ROOT"] = currentDirectory; + var mockAttributesLoader = new Mock(); + var csprojText = XDocument.Parse(""); + var attributes = csprojText.Descendants().Attributes("Remove"); + var list = new List(); + list.AddRange(attributes); + mockAttributesLoader.Setup(x => x.GetRemovedAttributes()).Returns(list); + var mockDirectoryWrapper = new Mock(); + var loader = new StaticLoader(mockAttributesLoader.Object, mockDirectoryWrapper.Object, _config, _logger.Object); + + const string text = "using Gauge.CSharp.Lib.Attributes;\n" + + "namespace foobar\n" + + "{\n" + + " public class FooBar\n" + + " {\n" + + " [Step(\"hello\")]\n" + + " public void hello()\n" + + " {\n" + + " }\n" + + " }\n" + + "}\n"; + const string fileName = @"foo.cs"; + var filePath = Path.Combine(currentDirectory, fileName); + loader.ReloadSteps(text, filePath); + ClassicAssert.False(loader.GetStepRegistry().ContainsStep("hello")); + } - [Test] - public void ShouldNotReloadStepOfRemovedFile() - { - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", Directory.GetCurrentDirectory()); - var mockAttributesLoader = new Mock(); - var csprojText = XDocument.Parse(""); - var attributes = csprojText.Descendants().Attributes("Remove"); - var list = new List(); - list.AddRange(attributes); - mockAttributesLoader.Setup(x => x.GetRemovedAttributes()).Returns(list); - var mockDirectoryWrapper = new Mock(); - var loader = new StaticLoader(mockAttributesLoader.Object, mockDirectoryWrapper.Object); - - const string text = "using Gauge.CSharp.Lib.Attributes;\n" + - "namespace foobar\n" + - "{\n" + - " public class FooBar\n" + - " {\n" + - " [Step(\"hello\")]\n" + - " public void hello()\n" + - " {\n" + - " }\n" + - " }\n" + - "}\n"; - const string fileName = @"foo.cs"; - var filePath = Path.Combine(Utils.GaugeProjectRoot, fileName); - loader.ReloadSteps(text, filePath); - ClassicAssert.False(loader.GetStepRegistry().ContainsStep("hello")); - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", null); - } + [Test] + public void ShouldReloadSteps() + { + var mockAttributesLoader = new Mock(); + mockAttributesLoader.Setup(x => x.GetRemovedAttributes()).Returns(new List()); + var mockDirectoryWrapper = new Mock(); + mockDirectoryWrapper.Setup(x => x.EnumerateFiles(dummyProjectRoot, "*.cs", SearchOption.AllDirectories)).Returns(Enumerable.Empty); + var loader = new StaticLoader(mockAttributesLoader.Object, mockDirectoryWrapper.Object, _config, _logger.Object); + const string text = "using Gauge.CSharp.Lib.Attributes;\n" + + "namespace foobar\n" + + "{\n" + + " public class FooBar\n" + + " {\n" + + " [Step(\"hello\")]\n" + + " public void hello()\n" + + " {\n" + + " }\n" + + " }\n" + + "}\n"; + const string fileName = @"foo.cs"; + loader.LoadStepsFromText(text, fileName); + ClassicAssert.True(loader.GetStepRegistry().ContainsStep("hello")); + + const string newText = "using Gauge.CSharp.Lib.Attributes;\n" + + "namespace foobar\n" + + "{\n" + + " public class FooBar\n" + + " {\n" + + " [Step(\"hello\")]\n" + + " public void hello()\n" + + " {\n" + + " }\n" + + " [Step(\"hola\")]\n" + + " public void hola()\n" + + " {\n" + + " }\n" + + " }\n" + + "}\n"; + + loader.ReloadSteps(newText, fileName); + + ClassicAssert.True(loader.GetStepRegistry().ContainsStep("hola")); + } - [Test] - public void ShouldReloadSteps() + [Test] + public void ShouldRemoveSteps() + { + var mockAttributesLoader = new Mock(); + mockAttributesLoader.Setup(x => x.GetRemovedAttributes()).Returns(new List()); + var mockDirectoryWrapper = new Mock(); + mockDirectoryWrapper.Setup(x => x.EnumerateFiles(dummyProjectRoot, "*.cs", SearchOption.AllDirectories)).Returns(Enumerable.Empty); + var loader = new StaticLoader(mockAttributesLoader.Object, mockDirectoryWrapper.Object, _config, _logger.Object); + const string file1 = @"Foo.cs"; + + const string text = "using Gauge.CSharp.Lib.Attributes;\n" + + "namespace foobar\n" + + "{\n" + + " public class Foo\n" + + " {\n" + + " [Step(\"hello\")]\n" + + " public void hello()\n" + + " {\n" + + " }\n" + + " }\n" + + "}\n"; + + loader.LoadStepsFromText(text, file1); + + const string file2 = @"Bar.cs"; + const string newText = "using Gauge.CSharp.Lib.Attributes;\n" + + "namespace foobar\n" + + "{\n" + + " public class Bar\n" + + " {\n" + + " [Step(\"hola\")]\n" + + " public void hola()\n" + + " {\n" + + " }\n" + + " }\n" + + "}\n"; + + loader.ReloadSteps(newText, file2); + + ClassicAssert.True(loader.GetStepRegistry().ContainsStep("hello")); + ClassicAssert.True(loader.GetStepRegistry().ContainsStep("hola")); + + loader.RemoveSteps(file2); + + ClassicAssert.False(loader.GetStepRegistry().ContainsStep("hola")); + } + + public class LoadImplementationsTest + { + private IConfiguration _config; + private readonly string dummyBuildPath = Path.Combine("foo"); + private readonly Mock> _logger = new(); + + [SetUp] + public void Setup() { - var mockAttributesLoader = new Mock(); - mockAttributesLoader.Setup(x => x.GetRemovedAttributes()).Returns(new List()); - var mockDirectoryWrapper = new Mock(); - mockDirectoryWrapper.Setup(x => x.EnumerateFiles(dummyProjectRoot, "*.cs", SearchOption.AllDirectories)).Returns(Enumerable.Empty); - var loader = new StaticLoader(mockAttributesLoader.Object, mockDirectoryWrapper.Object); - const string text = "using Gauge.CSharp.Lib.Attributes;\n" + - "namespace foobar\n" + - "{\n" + - " public class FooBar\n" + - " {\n" + - " [Step(\"hello\")]\n" + - " public void hello()\n" + - " {\n" + - " }\n" + - " }\n" + - "}\n"; - const string fileName = @"foo.cs"; - loader.LoadStepsFromText(text, fileName); - ClassicAssert.True(loader.GetStepRegistry().ContainsStep("hello")); - - const string newText = "using Gauge.CSharp.Lib.Attributes;\n" + - "namespace foobar\n" + - "{\n" + - " public class FooBar\n" + - " {\n" + - " [Step(\"hello\")]\n" + - " public void hello()\n" + - " {\n" + - " }\n" + - " [Step(\"hola\")]\n" + - " public void hola()\n" + - " {\n" + - " }\n" + - " }\n" + - "}\n"; - - loader.ReloadSteps(newText, fileName); - - ClassicAssert.True(loader.GetStepRegistry().ContainsStep("hola")); + _config = new ConfigurationBuilder() + .AddInMemoryCollection(new Dictionary { { "GAUGE_CUSTOM_BUILD_PATH", dummyBuildPath } }) + .Build(); } [Test] - public void ShouldRemoveSteps() + public void ShouldNotLoadWhenCustomBuildPathIsSet() { var mockAttributesLoader = new Mock(); - mockAttributesLoader.Setup(x => x.GetRemovedAttributes()).Returns(new List()); + mockAttributesLoader.Setup(x => x.GetRemovedAttributes()).Verifiable(); var mockDirectoryWrapper = new Mock(); - mockDirectoryWrapper.Setup(x => x.EnumerateFiles(dummyProjectRoot, "*.cs", SearchOption.AllDirectories)).Returns(Enumerable.Empty); - var loader = new StaticLoader(mockAttributesLoader.Object, mockDirectoryWrapper.Object); - const string file1 = @"Foo.cs"; - - const string text = "using Gauge.CSharp.Lib.Attributes;\n" + - "namespace foobar\n" + - "{\n" + - " public class Foo\n" + - " {\n" + - " [Step(\"hello\")]\n" + - " public void hello()\n" + - " {\n" + - " }\n" + - " }\n" + - "}\n"; - - loader.LoadStepsFromText(text, file1); - - const string file2 = @"Bar.cs"; - const string newText = "using Gauge.CSharp.Lib.Attributes;\n" + - "namespace foobar\n" + - "{\n" + - " public class Bar\n" + - " {\n" + - " [Step(\"hola\")]\n" + - " public void hola()\n" + - " {\n" + - " }\n" + - " }\n" + - "}\n"; - - loader.ReloadSteps(newText, file2); - - ClassicAssert.True(loader.GetStepRegistry().ContainsStep("hello")); - ClassicAssert.True(loader.GetStepRegistry().ContainsStep("hola")); - - loader.RemoveSteps(file2); - - ClassicAssert.False(loader.GetStepRegistry().ContainsStep("hola")); - } + mockDirectoryWrapper.Setup(x => x.EnumerateFiles(It.IsAny(), "*.cs", SearchOption.AllDirectories)); - public class LoadImplementationsTest - { - private const string GaugeCustomBuildPathEnv = "GAUGE_CUSTOM_BUILD_PATH"; - private string old; - - [SetUp] - public void Setup() - { - old = Utils.TryReadEnvValue(GaugeCustomBuildPathEnv); - Environment.SetEnvironmentVariable(GaugeCustomBuildPathEnv, "foo"); - } - - [Test] - public void ShouldNotLoadWhenCustomBuildPathIsSet() - { - var mockAttributesLoader = new Mock(); - mockAttributesLoader.Setup(x => x.GetRemovedAttributes()).Verifiable(); - var mockDirectoryWrapper = new Mock(); - mockDirectoryWrapper.Setup(x => x.EnumerateFiles(It.IsAny(), "*.cs", SearchOption.AllDirectories)); - - var loader = new StaticLoader(mockAttributesLoader.Object, mockDirectoryWrapper.Object); - - mockAttributesLoader.Verify(x => x.GetRemovedAttributes(), Times.Never()); - Environment.SetEnvironmentVariable("GAUGE_CUSTOM_BUILD_PATH", old); - } - - [TearDown] - public void TearDown() - { - Environment.SetEnvironmentVariable(GaugeCustomBuildPathEnv, old); - } + var loader = new StaticLoader(mockAttributesLoader.Object, mockDirectoryWrapper.Object, _config, _logger.Object); + + mockAttributesLoader.Verify(x => x.GetRemovedAttributes(), Times.Never()); } } } \ No newline at end of file diff --git a/test/StepExecutorTests.cs b/test/StepExecutorTests.cs index d3492d9..d12839b 100644 --- a/test/StepExecutorTests.cs +++ b/test/StepExecutorTests.cs @@ -5,129 +5,100 @@ *----------------------------------------------------------------*/ -using System; -using System.Threading; +using Gauge.CSharp.Lib; +using Gauge.Dotnet.Executors; using Gauge.Dotnet.Models; using Gauge.Dotnet.UnitTests.Helpers; -using Gauge.Dotnet.Wrappers; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; +using Microsoft.Extensions.Logging; -namespace Gauge.Dotnet.UnitTests +namespace Gauge.Dotnet.UnitTests; + +[TestFixture] +internal class StepExecutorTests { - [TestFixture] - internal class StepExecutorTests + private readonly Mock> _logger = new(); + + [Test] + public async Task ShoudExecuteStep() { - [Test] - public void ShoudExecuteStep() + var mockClassInstanceManager = new Mock(); + + var mockAssemblyLoader = new Mock(); + var methodInfo = new MockMethodBuilder(mockAssemblyLoader) + .WithName("StepImplementation") + .WithDeclaringTypeName("my.foo.type") + .Build(); + var gaugeMethod = new GaugeMethod { - var mockInstance = new Mock().Object; - var mockClassInstanceManagerType = new Mock().Object; - var mockClassInstanceManager = new ThreadLocal(() => new Mock().Object); - - var mockAssemblyLoader = new Mock(); - var methodInfo = new MockMethodBuilder(mockAssemblyLoader) - .WithName("StepImplementation") - .WithDeclaringTypeName("my.foo.type") - .Build(); - var gaugeMethod = new GaugeMethod - { - Name = "StepImplementation", - MethodInfo = methodInfo - }; - - mockAssemblyLoader.Setup(x => x.ClassInstanceManagerType).Returns(mockClassInstanceManagerType); - - var mockReflectionWrapper = new Mock(); - mockReflectionWrapper - .Setup(x => x.InvokeMethod(mockClassInstanceManagerType, mockClassInstanceManager, "Get", - methodInfo.DeclaringType)) - .Returns(mockInstance); - - var executor = new StepExecutor(mockAssemblyLoader.Object, mockReflectionWrapper.Object, - mockClassInstanceManager); - mockReflectionWrapper.Setup(x => x.Invoke(methodInfo, mockInstance)) - .Returns(null); - - - var result = executor.Execute(gaugeMethod); - ClassicAssert.True(result.Success); - } - - [Test] - public void ShoudExecuteStepAndGetFailure() + Name = "StepImplementation", + MethodInfo = methodInfo + }; + + mockAssemblyLoader.Setup(x => x.ClassInstanceManagerType).Returns(typeof(IClassInstanceManager)); + mockAssemblyLoader.Setup(x => x.GetClassInstanceManager()).Returns(mockClassInstanceManager.Object); + + var executor = new StepExecutor(mockAssemblyLoader.Object, _logger.Object); + + var result = await executor.Execute(gaugeMethod, 1); + ClassicAssert.True(result.Success); + } + + [Test] + public async Task ShoudExecuteStepAndGetFailure() + { + var mockClassInstanceManager = new Mock(); + + var mockAssemblyLoader = new Mock(); + var methodInfo = new MockMethodBuilder(mockAssemblyLoader) + .WithName("StepImplementation") + .WithDeclaringTypeName("my.foo.type") + .Build(); + + var gaugeMethod = new GaugeMethod { - var mockInstance = new Mock().Object; - var mockClassInstanceManagerType = new Mock().Object; - var mockClassInstanceManager = new ThreadLocal(() => new Mock().Object); - - var mockAssemblyLoader = new Mock(); - var methodInfo = new MockMethodBuilder(mockAssemblyLoader) - .WithName("StepImplementation") - .WithDeclaringTypeName("my.foo.type") - .Build(); - - var gaugeMethod = new GaugeMethod - { - Name = "StepImplementation", - MethodInfo = methodInfo - }; - mockAssemblyLoader.Setup(x => x.ClassInstanceManagerType).Returns(mockClassInstanceManagerType); - - var mockReflectionWrapper = new Mock(); - mockReflectionWrapper - .Setup(x => x.InvokeMethod(mockClassInstanceManagerType, mockClassInstanceManager, "Get", - methodInfo.DeclaringType)) - .Returns(mockInstance); - - var executor = new StepExecutor(mockAssemblyLoader.Object, mockReflectionWrapper.Object, - mockClassInstanceManager); - mockReflectionWrapper.Setup(x => x.Invoke(methodInfo, mockInstance)) - .Throws(new Exception("step execution failure")); - - var result = executor.Execute(gaugeMethod); - ClassicAssert.False(result.Success); - ClassicAssert.AreEqual(result.ExceptionMessage, "step execution failure"); - } - - [Test] - public void ShoudExecuteStepAndGetRecoverableError() + Name = "StepImplementation", + MethodInfo = methodInfo + }; + mockAssemblyLoader.Setup(x => x.ClassInstanceManagerType).Returns(typeof(IClassInstanceManager)); + mockAssemblyLoader.Setup(x => x.GetClassInstanceManager()).Returns(mockClassInstanceManager.Object); + + var executor = new StepExecutor(mockAssemblyLoader.Object, _logger.Object); + mockClassInstanceManager.Setup(x => x.InvokeMethod(methodInfo, 1, It.IsAny())) + .Throws(new Exception("step execution failure")); + + var result = await executor.Execute(gaugeMethod, 1); + ClassicAssert.False(result.Success); + ClassicAssert.AreEqual(result.ExceptionMessage, "step execution failure"); + } + + [Test] + public async Task ShoudExecuteStepAndGetRecoverableError() + { + var mockClassInstanceManager = new Mock(); + + var mockAssemblyLoader = new Mock(); + var methodInfo = new MockMethodBuilder(mockAssemblyLoader) + .WithName("StepImplementation") + .WithContinueOnFailure() + .WithDeclaringTypeName("my.foo.type") + .Build(); + + var gaugeMethod = new GaugeMethod { - var mockInstance = new Mock().Object; - var mockClassInstanceManagerType = new Mock().Object; - var mockClassInstanceManager = new ThreadLocal(() => new Mock().Object); - - var mockAssemblyLoader = new Mock(); - var methodInfo = new MockMethodBuilder(mockAssemblyLoader) - .WithName("StepImplementation") - .WithContinueOnFailure() - .WithDeclaringTypeName("my.foo.type") - .Build(); - - var gaugeMethod = new GaugeMethod - { - Name = "StepImplementation", - MethodInfo = methodInfo, - ContinueOnFailure = true - }; - mockAssemblyLoader.Setup(x => x.ClassInstanceManagerType).Returns(mockClassInstanceManagerType); - - var mockReflectionWrapper = new Mock(); - mockReflectionWrapper - .Setup(x => x.InvokeMethod(mockClassInstanceManagerType, mockClassInstanceManager, "Get", - methodInfo.DeclaringType)) - .Returns(mockInstance); - - var executor = new StepExecutor(mockAssemblyLoader.Object, mockReflectionWrapper.Object, - mockClassInstanceManager); - mockReflectionWrapper.Setup(x => x.Invoke(methodInfo, mockInstance)) - .Throws(new Exception("step execution failure")); - - var result = executor.Execute(gaugeMethod); - ClassicAssert.False(result.Success); - ClassicAssert.True(result.Recoverable); - ClassicAssert.AreEqual(result.ExceptionMessage, "step execution failure"); - } + Name = "StepImplementation", + MethodInfo = methodInfo, + ContinueOnFailure = true + }; + mockAssemblyLoader.Setup(x => x.ClassInstanceManagerType).Returns(typeof(IClassInstanceManager)); + mockAssemblyLoader.Setup(x => x.GetClassInstanceManager()).Returns(mockClassInstanceManager.Object); + + var executor = new StepExecutor(mockAssemblyLoader.Object, _logger.Object); + mockClassInstanceManager.Setup(x => x.InvokeMethod(methodInfo, 1, It.IsAny())) + .Throws(new Exception("step execution failure")); + + var result = await executor.Execute(gaugeMethod, 1); + ClassicAssert.False(result.Success); + ClassicAssert.True(result.Recoverable); + ClassicAssert.AreEqual(result.ExceptionMessage, "step execution failure"); } } \ No newline at end of file diff --git a/test/Usings.cs b/test/Usings.cs new file mode 100644 index 0000000..943941e --- /dev/null +++ b/test/Usings.cs @@ -0,0 +1,3 @@ +global using Moq; +global using NUnit.Framework; +global using NUnit.Framework.Legacy; \ No newline at end of file diff --git a/test/UtilsTest.cs b/test/UtilsTest.cs deleted file mode 100644 index 51c4a69..0000000 --- a/test/UtilsTest.cs +++ /dev/null @@ -1,49 +0,0 @@ -/*---------------------------------------------------------------- - * Copyright (c) ThoughtWorks, Inc. - * Licensed under the Apache License, Version 2.0 - * See LICENSE.txt in the project root for license information. - *----------------------------------------------------------------*/ - - -using System; -using System.IO; -using Gauge.CSharp.Core; -using NUnit.Framework; -using NUnit.Framework.Legacy; - -namespace Gauge.Dotnet.UnitTests -{ - [TestFixture] - internal class UtilsTest - { - [Test] - public void ShouldGetCustomBuildPathFromEnvWhenLowerCase() - { - Environment.SetEnvironmentVariable("gauge_project_root", @"C:\Blah"); - - var imaginaryPath = string.Format("Foo{0}Bar", Path.DirectorySeparatorChar); - Environment.SetEnvironmentVariable("gauge_custom_build_path", imaginaryPath); - var gaugeBinDir = Utils.GetGaugeBinDir(); - ClassicAssert.AreEqual(string.Format(@"C:\Blah{0}Foo{0}Bar", Path.DirectorySeparatorChar), gaugeBinDir); - - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", string.Empty); - Environment.SetEnvironmentVariable("GAUGE_CUSTOM_BUILD_PATH", string.Empty); - } - - [Test] - public void ShouldGetCustomBuildPathFromEnvWhenUpperCase() - { - var driveRoot = Path.GetPathRoot(Directory.GetCurrentDirectory()); - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", Path.Combine(driveRoot, "Blah")); - - var imaginaryPath = Path.Combine("Foo", "Bar"); - ; - Environment.SetEnvironmentVariable("gauge_custom_build_path", imaginaryPath); - var gaugeBinDir = Utils.GetGaugeBinDir(); - ClassicAssert.AreEqual(Path.Combine(driveRoot, "Blah", "Foo", "Bar"), gaugeBinDir); - - Environment.SetEnvironmentVariable("GAUGE_PROJECT_ROOT", string.Empty); - Environment.SetEnvironmentVariable("GAUGE_CUSTOM_BUILD_PATH", string.Empty); - } - } -} \ No newline at end of file diff --git a/test/ValidateProcessorTests.cs b/test/ValidateProcessorTests.cs index 7967559..ffb786e 100644 --- a/test/ValidateProcessorTests.cs +++ b/test/ValidateProcessorTests.cs @@ -7,87 +7,83 @@ using Gauge.Dotnet.Models; using Gauge.Dotnet.Processors; using Gauge.Messages; -using Moq; -using NUnit.Framework; -using NUnit.Framework.Legacy; -namespace Gauge.Dotnet.UnitTests +namespace Gauge.Dotnet.UnitTests; + +[TestFixture] +public class ValidateProcessorTests { - [TestFixture] - public class ValidateProcessorTests + [SetUp] + public void Setup() { - [SetUp] - public void Setup() - { - _mockStepRegistry = new Mock(); + _mockStepRegistry = new Mock(); - } + } - private Mock _mockStepRegistry; + private Mock _mockStepRegistry; - [Test] - public void ShouldGetErrorResponseForStepValidateRequestWhenMultipleStepImplFound() + [Test] + public async Task ShouldGetErrorResponseForStepValidateRequestWhenMultipleStepImplFound() + { + var request = new StepValidateRequest { - var request = new StepValidateRequest - { - StepText = "step_text_1", - NumberOfParameters = 0 - }; + StepText = "step_text_1", + NumberOfParameters = 0 + }; - _mockStepRegistry.Setup(registry => registry.ContainsStep("step_text_1")).Returns(true); - _mockStepRegistry.Setup(registry => registry.HasMultipleImplementations("step_text_1")).Returns(true); - var processor = new StepValidationProcessor(_mockStepRegistry.Object); - var response = processor.Process(request); + _mockStepRegistry.Setup(registry => registry.ContainsStep("step_text_1")).Returns(true); + _mockStepRegistry.Setup(registry => registry.HasMultipleImplementations("step_text_1")).Returns(true); + var processor = new StepValidationProcessor(_mockStepRegistry.Object); + var response = await processor.Process(1, request); - ClassicAssert.AreEqual(false, response.IsValid); - ClassicAssert.AreEqual(StepValidateResponse.Types.ErrorType.DuplicateStepImplementation, - response.ErrorType); - ClassicAssert.AreEqual("Multiple step implementations found for : step_text_1", - response.ErrorMessage); - ClassicAssert.IsEmpty(response.Suggestion); - } + ClassicAssert.AreEqual(false, response.IsValid); + ClassicAssert.AreEqual(StepValidateResponse.Types.ErrorType.DuplicateStepImplementation, + response.ErrorType); + ClassicAssert.AreEqual("Multiple step implementations found for : step_text_1", + response.ErrorMessage); + ClassicAssert.IsEmpty(response.Suggestion); + } - [Test] - public void ShouldGetErrorResponseForStepValidateRequestWhennNoImplFound() + [Test] + public async Task ShouldGetErrorResponseForStepValidateRequestWhennNoImplFound() + { + var request = new StepValidateRequest { - var request = new StepValidateRequest + StepText = "step_text_1", + NumberOfParameters = 0, + StepValue = new ProtoStepValue { - StepText = "step_text_1", - NumberOfParameters = 0, - StepValue = new ProtoStepValue - { - ParameterizedStepValue = "step_text_1", - StepValue = "step_text_1" - } - }; - var processor = new StepValidationProcessor(_mockStepRegistry.Object); - var response = processor.Process(request); + ParameterizedStepValue = "step_text_1", + StepValue = "step_text_1" + } + }; + var processor = new StepValidationProcessor(_mockStepRegistry.Object); + var response = await processor.Process(1, request); - ClassicAssert.AreEqual(false, response.IsValid); - ClassicAssert.AreEqual(StepValidateResponse.Types.ErrorType.StepImplementationNotFound, - response.ErrorType); - StringAssert.Contains("No implementation found for : step_text_1.", - response.ErrorMessage); - StringAssert.Contains("[Step(\"step_text_1\")]", response.Suggestion); - } + ClassicAssert.AreEqual(false, response.IsValid); + ClassicAssert.AreEqual(StepValidateResponse.Types.ErrorType.StepImplementationNotFound, + response.ErrorType); + StringAssert.Contains("No implementation found for : step_text_1.", + response.ErrorMessage); + StringAssert.Contains("[Step(\"step_text_1\")]", response.Suggestion); + } - [Test] - public void ShouldGetVaildResponseForStepValidateRequest() + [Test] + public async Task ShouldGetVaildResponseForStepValidateRequest() + { + var request = new StepValidateRequest { - var request = new StepValidateRequest - { - StepText = "step_text_1", - NumberOfParameters = 0 - }; + StepText = "step_text_1", + NumberOfParameters = 0 + }; - _mockStepRegistry.Setup(registry => registry.ContainsStep("step_text_1")).Returns(true); - _mockStepRegistry.Setup(registry => registry.HasMultipleImplementations("step_text_1")).Returns(false); + _mockStepRegistry.Setup(registry => registry.ContainsStep("step_text_1")).Returns(true); + _mockStepRegistry.Setup(registry => registry.HasMultipleImplementations("step_text_1")).Returns(false); - var processor = new StepValidationProcessor(_mockStepRegistry.Object); - var response = processor.Process(request); + var processor = new StepValidationProcessor(_mockStepRegistry.Object); + var response = await processor.Process(1, request); - ClassicAssert.AreEqual(true, response.IsValid); - } + ClassicAssert.AreEqual(true, response.IsValid); } } \ No newline at end of file