예제 #1
0
        private void DisplaySuggestionInfo(DataGridViewCell cell)
        {
            if (cell == null || cell.ReadOnly)
            {
                return;
            }
            Resource resource = GetResourceFrom(cell);

            _resourceSuggester.MinimumTextSimilarity = 0;
            IList <ResourceSuggestion> suggestions = _resourceSuggester.GetSuggestionsFor(resource);
            var text = new StringBuilder();

            text.AppendLine(string.Format("Search name: {0}", resource.Name));
            text.AppendLine(string.Format("Search text: {0}", resource.Text));
            text.AppendLine();
            text.AppendLine(string.Format("Number of suggestions: {0}", suggestions.Count));
            text.AppendLine();
            int count = 0;

            foreach (ResourceSuggestion resourceSuggestion in suggestions)
            {
                text.AppendLine(string.Format("{0}: {1}", count, resourceSuggestion));
                if (count++ > 20)
                {
                    break;
                }
            }
            Clipboard.SetText(text.ToString());
            MessageBox.Show(text.ToString(), "Suggestion info");
        }
        public void NoExactTextMatch_ShouldOnlyReturnResourcesWhereMatchingLeafIsNotInInvalidLeafNames()
        {
            var resources = new[]
            {
                CreateTranslatedResource("A.B.C", AnotherText),
                CreateTranslatedResource("A.X.B.C", AnotherText),
                CreateTranslatedResource("A.B.X.C", AnotherText),
                CreateTranslatedResource("A.B.C.X", AnotherText),
            };
            var searchResource = CreateTranslatedResource("A.B.C", SearchText);
            var expectedResult = new[]
            {
                resources[0],
                resources[1],
            };

            var suggester = new ResourceSuggester();

            suggester.AddResources(resources);
            suggester.AddInvalidLeafNames(new [] { "C" });

            var suggestions = suggester.GetSuggestionsFor(searchResource);

            suggestions.Select(o => o.Resource).Should().BeEquivalentTo(expectedResult);
        }
        private IList <ResourceSuggestion> AddResourcesAndGetSuggestions(IEnumerable <TranslatedResource> resources, TranslatedResource resource)
        {
            _suggester.AddResources(resources);

            var suggestions = _suggester.GetSuggestionsFor(resource);

            return(suggestions);
        }