public async Task ChangeLldbEvalFlagInRuntimeAsync() { _optionPageGrid.ExpressionEvaluationEngine = ExpressionEvaluationEngineFlag.LLDB; RemoteValue mockVariable = CreateMockVariable(); var natvisScope = new NatvisScope(); await _evaluator.EvaluateExpressionAsync("2 + 2", _varInfoFactory.Create(mockVariable), natvisScope, "result"); await mockVariable.DidNotReceiveWithAnyArgs().EvaluateExpressionLldbEvalAsync( Arg.Any <string>()); await mockVariable.Received(1).EvaluateExpressionAsync(Arg.Is("2 + 2")); mockVariable.ClearReceivedCalls(); // Change the configuration flag _optionPageGrid.ExpressionEvaluationEngine = ExpressionEvaluationEngineFlag.LLDB_EVAL; await _evaluator.EvaluateExpressionAsync("3 + 3", _varInfoFactory.Create(mockVariable), natvisScope, "result"); await mockVariable.Received(1).EvaluateExpressionLldbEvalAsync( Arg.Is("3 + 3"), Arg.Is(natvisScope.ContextVariables)); mockVariable.ClearReceivedCalls(); // Change the configuration flag back to LLDB _optionPageGrid.ExpressionEvaluationEngine = ExpressionEvaluationEngineFlag.LLDB; await _evaluator.EvaluateExpressionAsync("4 + 4", _varInfoFactory.Create(mockVariable), natvisScope, "result"); await mockVariable.DidNotReceiveWithAnyArgs().EvaluateExpressionLldbEvalAsync( Arg.Any <string>()); await mockVariable.Received(1).EvaluateExpressionAsync(Arg.Is("4 + 4")); }