public async Task ConcordanceSearchWithCustomSettings()
        {
            var groupShareClient = await Helper.GetGroupShareClient();

            // the score for this search is 85
            var concordanceSearchSettings = new ConcordanceSearchSettings
            {
                MinScore = 90
            };
            var concordanceSearchRequest = new ConcordanceSearchRequest(new Guid("773bbfe4-fd97-4a70-85e3-8b301e58064b"), "blu", "en-us", "ca-es", concordanceSearchSettings);

            var searchResponse = await groupShareClient.TranslationMemories.ConcordanceSearchAsPlainText(concordanceSearchRequest);

            Assert.True(searchResponse.Count == 0);

            var concordanceSearchMaxResults = new ConcordanceSearchSettings
            {
                MaxResults = 3
            };
            var concordanceSearchMaxRequest = new ConcordanceSearchRequest(new Guid("773bbfe4-fd97-4a70-85e3-8b301e58064b"), "blue", "en-us", "ca-es", concordanceSearchMaxResults);

            var concordanceMaxRequest = await groupShareClient.TranslationMemories.ConcordanceSearchAsPlainText(concordanceSearchMaxRequest);

            Assert.True(concordanceMaxRequest.Count == 3);
        }
        public async Task TargetConcordanceSearch()
        {
            var groupShareClient = await Helper.GetGroupShareClient();

            var concordanceSearchSettings = new ConcordanceSearchSettings();
            var concordanceSearchRequest  = new ConcordanceSearchRequest(new Guid("773bbfe4-fd97-4a70-85e3-8b301e58064b"), "blue", "en-us", "ca-es", concordanceSearchSettings);
            var searchResponse            = await groupShareClient.TranslationMemories.ConcordanceSearchAsPlainText(concordanceSearchRequest);

            Assert.True(searchResponse.Count > 0);
        }
        public async Task ConcordanceSimpleSearch()
        {
            var groupShareClient = await Helper.GetGroupShareClient();

            var concordanceSearchRequest = new ConcordanceSearchRequest(new Guid("773bbfe4-fd97-4a70-85e3-8b301e58064b"), "blue", "en-us", "ca-es");

            var searchResponse = await groupShareClient.TranslationMemories.ConcordanceSearchAsPlainText(concordanceSearchRequest);

            foreach (var response in searchResponse)
            {
                Assert.Contains("blue", response.Source.ToLower());
            }
        }
        public async Task ConcordanceSearchWithPenalties(string tmId, string expression, string filterName)
        {
            var groupShareClient = await Helper.GetGroupShareClient();

            var fieldFilter = new List <FieldFilter>
            {
                new FieldFilter
                {
                    //filed name
                    Name   = "Andrea",
                    Type   = FieldFilter.TypeEnum.MultipleString,
                    Values = null
                }
            };

            var concordanceSearchSettings = new ConcordanceSearchSettings
            {
                Filters = new List <ConcordanceSearchFilter>
                {
                    new ConcordanceSearchFilter
                    {
                        Expression = new FieldFilterRequest(fieldFilter, expression),
                        Penalty    = 10,
                        Name       = filterName
                    },
                },
                Penalties = new List <Penalty>
                {
                    new Penalty
                    {
                        Malus       = 1,
                        PenaltyType = Penalty.PenaltyTypeEnum.AutoLocalization
                    }
                },
                IncludeTokens = true
            };

            var concordanceSearchRequest = new ConcordanceSearchRequest(new Guid(tmId),
                                                                        "blue",
                                                                        "en-us",
                                                                        "ca-es",
                                                                        concordanceSearchSettings);

            var searchResponse = await groupShareClient.TranslationMemories.ConcordanceSearchAsPlainText(concordanceSearchRequest);

            foreach (var response in searchResponse)
            {
                Assert.Contains("blue", response.Source.ToLower());
            }
        }