public void CreateConversation()
        {
            moq::Mock <Conversations.ConversationsClient> mockGrpcClient = new moq::Mock <Conversations.ConversationsClient>(moq::MockBehavior.Strict);
            CreateConversationRequest request = new CreateConversationRequest
            {
                ParentAsProjectName = gagr::ProjectName.FromProject("[PROJECT]"),
                Conversation        = new Conversation(),
            };
            Conversation expectedResponse = new Conversation
            {
                ConversationName = ConversationName.FromProjectConversation("[PROJECT]", "[CONVERSATION]"),
                LifecycleState   = Conversation.Types.LifecycleState.Unspecified,
                ConversationProfileAsConversationProfileName = ConversationProfileName.FromProjectConversationProfile("[PROJECT]", "[CONVERSATION_PROFILE]"),
                PhoneNumber       = new ConversationPhoneNumber(),
                StartTime         = new wkt::Timestamp(),
                EndTime           = new wkt::Timestamp(),
                ConversationStage = Conversation.Types.ConversationStage.HumanAssistStage,
            };

            mockGrpcClient.Setup(x => x.CreateConversation(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse);
            ConversationsClient client   = new ConversationsClientImpl(mockGrpcClient.Object, null);
            Conversation        response = client.CreateConversation(request.Parent, request.Conversation);

            xunit::Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
        public async stt::Task CreateConversationRequestObjectAsync()
        {
            moq::Mock <Conversations.ConversationsClient> mockGrpcClient = new moq::Mock <Conversations.ConversationsClient>(moq::MockBehavior.Strict);
            CreateConversationRequest request = new CreateConversationRequest
            {
                ParentAsProjectName = gagr::ProjectName.FromProject("[PROJECT]"),
                Conversation        = new Conversation(),
                ConversationId      = "conversation_id32c22ad5",
            };
            Conversation expectedResponse = new Conversation
            {
                ConversationName = ConversationName.FromProjectConversation("[PROJECT]", "[CONVERSATION]"),
                LifecycleState   = Conversation.Types.LifecycleState.Unspecified,
                ConversationProfileAsConversationProfileName = ConversationProfileName.FromProjectConversationProfile("[PROJECT]", "[CONVERSATION_PROFILE]"),
                PhoneNumber       = new ConversationPhoneNumber(),
                StartTime         = new wkt::Timestamp(),
                EndTime           = new wkt::Timestamp(),
                ConversationStage = Conversation.Types.ConversationStage.HumanAssistStage,
            };

            mockGrpcClient.Setup(x => x.CreateConversationAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <Conversation>(stt::Task.FromResult(expectedResponse), null, null, null, null));
            ConversationsClient client = new ConversationsClientImpl(mockGrpcClient.Object, null);
            Conversation        responseCallSettings = await client.CreateConversationAsync(request, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None));

            xunit::Assert.Same(expectedResponse, responseCallSettings);
            Conversation responseCancellationToken = await client.CreateConversationAsync(request, st::CancellationToken.None);

            xunit::Assert.Same(expectedResponse, responseCancellationToken);
            mockGrpcClient.VerifyAll();
        }