public void SimpleSearchCriteria_BasicQueryWeightsInFinnish() { SimpleSearchCriteria simpleSearchCriteria = new SimpleSearchCriteria(); simpleSearchCriteria.SearchTerms.Add("hi"); string queryString = simpleSearchCriteria.ToQueryString(); Assert.IsTrue(queryString.Contains("ImplementedInterfaces:hi^0.2 "), "Created query string is invalid!"); Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("fi-FI"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("fi-FI"); queryString = simpleSearchCriteria.ToQueryString(); Assert.IsTrue((0.2).ToString().Equals("0,2")); Assert.IsTrue(queryString.Contains("ImplementedInterfaces:hi^0.2 "), "Created query string is invalid!"); }
public void SimpleSearchCriteria_ToQueryStringCreatesValidQueryString_SpecialCharacters() { SearchCriteria simpleSearchCriteria = new SimpleSearchCriteria() { SearchByUsageType = true, UsageTypes = new SortedSet <UsageType>() { UsageType.Bodies }, SearchTerms = new SortedSet <string>() { "\"+ - && || ! ( ) { } [ ] ^ ~ : \"" } }; string queryString = simpleSearchCriteria.ToQueryString(); Assert.AreEqual("(Body:*\\+?\\-?\\&\\&?\\|\\|?\\!?\\(?\\)?\\{?\\}?\\[?\\]?\\^?\\~?\\:?*^4)", queryString, "Created query string is invalid!"); try { var parser = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, SandoField.Name.ToString(), new SimpleAnalyzer()); parser.SetAllowLeadingWildcard(true); Query query = parser.Parse(queryString); Assert.NotNull(query, "Generated query object is null!"); } catch (Exception ex) { Assert.Fail(ex.Message); } }
public void SimpleSearchCriteria_ToQueryStringCreatesValidQueryString_QuotedSearchTerm() { SearchCriteria simpleSearchCriteria = new SimpleSearchCriteria() { SearchByUsageType = true, UsageTypes = new SortedSet <UsageType>() { UsageType.Definitions }, SearchTerms = new SortedSet <string>(WordSplitter.ExtractSearchTerms("\"Class Simple\"")) }; string queryString = simpleSearchCriteria.ToQueryString(); Assert.AreEqual(queryString, "(" + SandoField.Name.ToString() + ":*Class?Simple*^3)", "Created query string is invalid!"); try { var parser = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, SandoField.Name.ToString(), new SimpleAnalyzer()); parser.SetAllowLeadingWildcard(true); Query query = parser.Parse(queryString); Assert.NotNull(query, "Generated query object is null!"); } catch (Exception ex) { Assert.Fail(ex.Message); } }
public void SimpleSearchCriteria_ToQueryStringCreatesValidUsageTypesQueryString_MultipleConditions() { SearchCriteria simpleSearchCriteria = new SimpleSearchCriteria() { SearchByUsageType = true, UsageTypes = new SortedSet <UsageType>() { UsageType.ExtendedClasses, UsageType.Definitions, UsageType.NamespaceNames }, SearchTerms = new SortedSet <string>() { "SimpleClass" } }; string queryString = simpleSearchCriteria.ToQueryString(); Assert.AreEqual(queryString, "(" + SandoField.Name.ToString() + ":SimpleClass^3 OR " + SandoField.ExtendedClasses.ToString() + ":SimpleClass^0.2 OR " + SandoField.Namespace.ToString() + ":SimpleClass^0.05)", "Created query string is invalid!"); try { Query query = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, SandoField.Name.ToString(), new SimpleAnalyzer()).Parse(queryString); Assert.NotNull(query, "Generated query object is null!"); } catch (Exception ex) { Assert.Fail(ex.Message); } }
public void SimpleSearchCriteria_ToQueryStringCreatesValidUsageTypesQueryString_NoCondition() { SearchCriteria simpleSearchCriteria = new SimpleSearchCriteria() { SearchByUsageType = false, SearchTerms = new SortedSet <string>() { "SimpleClass" } }; string queryString = simpleSearchCriteria.ToQueryString(); string actual = "(" + SandoField.Body.ToString() + ":SimpleClass^4 OR " + SandoField.Name.ToString() + ":SimpleClass^3 OR " + SandoField.ExtendedClasses.ToString() + ":SimpleClass^0.2 OR " + SandoField.ImplementedInterfaces.ToString() + ":SimpleClass^0.2 OR " + SandoField.Arguments.ToString() + ":SimpleClass^0.1 OR " + SandoField.ReturnType.ToString() + ":SimpleClass^0.2 OR " + SandoField.Namespace.ToString() + ":SimpleClass^0.05 OR " + SandoField.DataType.ToString() + ":SimpleClass OR " + SandoField.Source.ToString() + ":SimpleClass OR " + SandoField.ClassName.ToString() + ":SimpleClass)"; Assert.AreEqual(queryString, actual, "Created query string is invalid!"); try { Query query = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, SandoField.Name.ToString(), new SimpleAnalyzer()).Parse(queryString); Assert.NotNull(query, "Generated query object is null!"); } catch (Exception ex) { Assert.Fail(ex.Message); } }
public void SimpleSearchCriteria_ToQueryStringCreatesValidQueryStringForEmptySearchCriteria() { SearchCriteria simpleSearchCriteria = new SimpleSearchCriteria(); string queryString = simpleSearchCriteria.ToQueryString(); Assert.AreEqual(queryString, String.Empty, "Created query string is invalid!"); }
public void SimpleSearchCriteria_ToQueryStringCreatesValidProgramElementTypesQueryString_MultipleConditions() { SearchCriteria simpleSearchCriteria = new SimpleSearchCriteria() { SearchByProgramElementType = true, ProgramElementTypes = new SortedSet <ProgramElementType>() { ProgramElementType.Property, ProgramElementType.Class, ProgramElementType.Enum } }; string queryString = simpleSearchCriteria.ToQueryString(); Assert.AreEqual(queryString, "(" + SandoField.ProgramElementType.ToString() + ":property OR " + SandoField.ProgramElementType.ToString() + ":enum OR " + SandoField.ProgramElementType.ToString() + ":class)", "Created query string is invalid!"); try { Query query = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, SandoField.ProgramElementType.ToString(), new SimpleAnalyzer()).Parse(queryString); Assert.NotNull(query, "Generated query object is null!"); } catch (Exception ex) { Assert.Fail(ex.Message); } }
public void SimpleSearchCriteria_QuotedWithSpaces() { SimpleSearchCriteria simpleSearchCriteria = new SimpleSearchCriteria(); simpleSearchCriteria.SearchTerms.Add("\"foreach(var term in SearchTerms)\""); string queryString = simpleSearchCriteria.ToQueryString(); Assert.IsTrue(queryString.Contains("Source:*foreach\\(var?term?in?SearchTerms\\)*"), "Created query string is invalid!"); }
public void SimpleSearchCriteria_QuotedNoWeirdCharsToQueryString() { SimpleSearchCriteria simpleSearchCriteria = new SimpleSearchCriteria(); simpleSearchCriteria.SearchTerms.Add("\"ServiceLocatorResolve\""); string queryString = simpleSearchCriteria.ToQueryString(); Assert.IsTrue(queryString.Contains("Source:*ServiceLocatorResolve*"), "Created query string is invalid!"); }
public void SimpleSearchCriteria_ExactMatchToQueryString() { SimpleSearchCriteria simpleSearchCriteria = new SimpleSearchCriteria(); simpleSearchCriteria.SearchTerms.Add("\"ServiceLocator.Resolve<DTE2>();\""); string queryString = simpleSearchCriteria.ToQueryString(); // Source:*ServiceLocator.Resolve<DTE2>\(\);* Assert.IsTrue(queryString.Contains("Source:*ServiceLocator.Resolve<DTE2>\\(\\);*"), "Created query string is invalid!"); }
public void SimpleSearchCriteria_ToQueryStringThrowsWhenSearchingByAccessLevelWithNoAccessLevelCriteria() { SearchCriteria simpleSearchCriteria = new SimpleSearchCriteria() { SearchByAccessLevel = true }; try { string queryString = simpleSearchCriteria.ToQueryString(); } catch { } Assert.True(contractFailed, "Contract should fail!"); }
public void SimpleSearchCriteria_ToQueryStringThrowsWhenSearchingByProgramElementTypeWithNoProgramElementTypeCriteria() { SearchCriteria simpleSearchCriteria = new SimpleSearchCriteria() { SearchByProgramElementType = true }; try { string queryString = simpleSearchCriteria.ToQueryString(); } catch { } Assert.True(contractFailed, "Contract should fail!"); }
public void SimpleSearchCriteria_ToQueryStringCreatesValidLocationsQueryString_SingleCondition() { SearchCriteria simpleSearchCriteria = new SimpleSearchCriteria() { SearchByLocation = true, Locations = new SortedSet <string>() { "C:/Project/*.cs" } }; string queryString = simpleSearchCriteria.ToQueryString(); Assert.AreEqual(queryString, "(" + SandoField.FullFilePath.ToString() + ":\"C:/Project/*.cs\")", "Created query string is invalid!"); try { Query query = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, SandoField.FullFilePath.ToString(), new SimpleAnalyzer()).Parse(queryString); Assert.NotNull(query, "Generated query object is null!"); } catch (Exception ex) { Assert.Fail(ex.Message); } }
public void SimpleSearchCriteria_ToQueryStringCreatesValidAccessLevelsQueryString_SingleCondition() { SearchCriteria simpleSearchCriteria = new SimpleSearchCriteria() { SearchByAccessLevel = true, AccessLevels = new SortedSet <AccessLevel>() { AccessLevel.Private } }; string queryString = simpleSearchCriteria.ToQueryString(); Assert.AreEqual(queryString, "(" + SandoField.AccessLevel.ToString() + ":private)", "Created query string is invalid!"); try { Query query = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, SandoField.AccessLevel.ToString(), new SimpleAnalyzer()).Parse(queryString); Assert.NotNull(query, "Generated query object is null!"); } catch (Exception ex) { Assert.Fail(ex.Message); } }
public void SimpleSearchCriteria_ToQueryStringCreatesFileExtensionsQueryString_MultipleConditions() { SearchCriteria simpleSearchCriteria = new SimpleSearchCriteria() { SearchByFileExtension = true, FileExtensions = new SortedSet <string>() { ".cs", ".h" } }; var queryString = simpleSearchCriteria.ToQueryString(); Assert.AreEqual(queryString, "(" + SandoField.FileExtension.ToString() + ":\".cs\" OR " + SandoField.FileExtension.ToString() + ":\".h\")", "Created query string is invalid!"); try { var query = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, SandoField.FullFilePath.ToString(), new SimpleAnalyzer()).Parse(queryString); Assert.NotNull(query, "Generated query object is null!"); } catch (Exception ex) { Assert.Fail(ex.Message); } }
public void SimpleSearchCriteria_ToQueryStringCreatesValidQueryString_AllConditions() { SearchCriteria simpleSearchCriteria = new SimpleSearchCriteria() { SearchByAccessLevel = true, AccessLevels = new SortedSet <AccessLevel>() { AccessLevel.Public, AccessLevel.Protected }, SearchByFileExtension = true, FileExtensions = new SortedSet <string>() { ".cs", ".h" }, SearchByLocation = true, Locations = new SortedSet <string>() { "C:/Project/*.cs", "C:/Project2/*.cs" }, SearchByProgramElementType = true, ProgramElementTypes = new SortedSet <ProgramElementType>() { ProgramElementType.Property, ProgramElementType.Class, ProgramElementType.Enum }, SearchByUsageType = true, UsageTypes = new SortedSet <UsageType>() { UsageType.ExtendedClasses, UsageType.Definitions, UsageType.NamespaceNames }, SearchTerms = new SortedSet <string>() { "SimpleClass" } }; string queryString = simpleSearchCriteria.ToQueryString(); Assert.AreEqual(queryString, "(" + SandoField.AccessLevel.ToString() + ":protected OR " + SandoField.AccessLevel.ToString() + ":public) AND " + "(" + SandoField.ProgramElementType.ToString() + ":property OR " + SandoField.ProgramElementType.ToString() + ":enum OR " + SandoField.ProgramElementType.ToString() + ":class) AND " + "(" + SandoField.FileExtension.ToString() + ":\".cs\" OR " + SandoField.FileExtension.ToString() + ":\".h\") AND " + "(" + SandoField.FullFilePath.ToString() + ":\"C:/Project/*.cs\" OR " + SandoField.FullFilePath.ToString() + ":\"C:/Project2/*.cs\") AND " + "(" + SandoField.Name.ToString() + ":SimpleClass^3 OR " + SandoField.ExtendedClasses.ToString() + ":SimpleClass^0.2 OR " + SandoField.Namespace.ToString() + ":SimpleClass^0.05)", "Created query string is invalid!"); try { Query query = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, SandoField.Name.ToString(), new SimpleAnalyzer()).Parse(queryString); Assert.NotNull(query, "Generated query object is null!"); } catch (Exception ex) { Assert.Fail(ex.Message); } }