File size: 4,300 Bytes
7b715bc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/*
Copyright 2017 Google Inc

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using Google.Apis.Translate.v2;
using Google.Apis.Translate.v2.Data;
using IntegrationTests.Utils;
using System.Collections.Generic;
using Xunit;

namespace IntegrationTests
{
    public class DataWrapperTests
    {
        [Fact]
        public void Translate()
        {
            GoogleCredential credential = Helper.GetServiceCredential().CreateScoped(TranslateService.Scope.CloudTranslation);
            TranslateService client = new TranslateService(new BaseClientService.Initializer
            {
                HttpClientInitializer = credential,
                ApplicationName = "IntegrationTest"
            });

            var translateRequest = client.Translations.Translate(new TranslateTextRequest
            {
                Format = "text",
                Q = new List<string> { "The cold weather will soon be over" },
                Source = "en",
                Target = "fr",
            });
            var response = translateRequest.Execute();

            Assert.Single(response.Translations);
            // We sometimes get:
            // Le temps froid sera bientôt fini
            // Le froid sera bientôt terminé
            Assert.Contains("froid sera bientôt", response.Translations[0].TranslatedText);
        }

        [Fact]
        public void TranslateList()
        {
            GoogleCredential credential = Helper.GetServiceCredential().CreateScoped(TranslateService.Scope.CloudTranslation);
            TranslateService client = new TranslateService(new BaseClientService.Initializer
            {
                HttpClientInitializer = credential,
                ApplicationName = "IntegrationTest"
            });

            var listRequest = client.Translations.List("The cold weather will soon be over", "fr");
            var response = listRequest.Execute();

            Assert.Single(response.Translations);
            // We sometimes get:
            // Le temps froid sera bientôt fini
            // Le froid sera bientôt terminé
            Assert.Contains("froid sera bientôt", response.Translations[0].TranslatedText);
        }

        [Fact]
        public void Detect()
        {
            GoogleCredential credential = Helper.GetServiceCredential().CreateScoped(TranslateService.Scope.CloudTranslation);
            TranslateService client = new TranslateService(new BaseClientService.Initializer
            {
                HttpClientInitializer = credential,
                ApplicationName = "IntegrationTest"
            });

            var listRequest = client.Detections.Detect(new DetectLanguageRequest
            {
                Q = new List<string> { "The cold weather will soon be over" },
            });
            var response = listRequest.Execute();

            Assert.Single(response.Detections);
            Assert.Single(response.Detections[0]);
            Assert.Equal("en", response.Detections[0][0].Language);
        }

        [Fact]
        public void DetectList()
        {
            GoogleCredential credential = Helper.GetServiceCredential().CreateScoped(TranslateService.Scope.CloudTranslation);
            TranslateService client = new TranslateService(new BaseClientService.Initializer
            {
                HttpClientInitializer = credential,
                ApplicationName = "IntegrationTest"
            });

            var listRequest = client.Detections.List("The cold weather will soon be over");
            var response = listRequest.Execute();

            Assert.Single(response.Detections);
            Assert.Single(response.Detections[0]);
            Assert.Equal("en", response.Detections[0][0].Language);
        }
    }
}