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); }