public void ExtractTextShouldReturnExpectedValue() { var analyzer = new DefaultAnalyzer(); var entity = new Product(); var result = analyzer.AnalyzeEntity(entity).ToArray(); string[] expected = new string[] { }; Assert.Equal(expected, result); }
public void ExtractTextShouldExcludeNotSearchable() { var analyzer = new DefaultAnalyzer(); var entity = new Product { Title = "TestTitle", Description = "TestDescription" }; var result = analyzer.AnalyzeEntity(entity).ToArray(); string[] expected = new string[] { "testdescription" }; Assert.Equal(expected, result); }
public void ExtractTextShouldIncludeSearchable() { var analyzer = new DefaultAnalyzer(); var entity = new Product { Price = 10, Stock = 5, }; var result = analyzer.AnalyzeEntity(entity).ToArray(); string[] expected = new string[] { "5" }; Assert.Equal(expected, result); }
public void ExtractTextShouldIncludePrimitivesWithSearchableInNestedObjects() { var analyzer = new DefaultAnalyzer(); var entity = new Product { Stock = 3, RelatedProduct = new Product { Stock = 4 } }; var result = analyzer.AnalyzeEntity(entity).ToArray(); string[] expected = new string[] { "3", "4" }; Assert.Equal(expected, result); }
public void ExtractTextShouldIncludeStringsInNestedObjects() { var analyzer = new DefaultAnalyzer(); var entity = new Product { Description = "Test1", SimilarProducts = new[] { new Product { Description = "Test2" } } }; var result = analyzer.AnalyzeEntity(entity).ToArray(); string[] expected = new string[] { "test1", "test2" }; Assert.Equal(expected, result); }
public void ExtractTextShouldIncludePrimitivesWithSearchable() { var analyzer = new DefaultAnalyzer(); var entity = new Product2 { Test1 = 1, Test1a = 10, Test2 = 2, Test2a = 20, Test3 = 3, Test3a = 30, Test4 = 4, Test4a = 40, Test5 = 5, Test5a = 50, Test6 = true, Test6a = false }; var result = analyzer.AnalyzeEntity(entity).ToArray(); string[] expected = new string[] { "1", "10", "2", "20", "3", "30", "4", "40", "5", "50", "true", "false" }; Assert.Equal(expected, result); }
public void TestIndex() { string utf8Test = @" いろはにほへど ちりぬるを わがよたれぞ つねならむ うゐのおくやま けふこえて あさきゆめみじ ゑひもせず (4) "; var guid = Guid.NewGuid(); using (var tixS = new MemoryStream()) using (var tdtS = new MemoryStream()) using (var dixS = new MemoryStream()) using (var ddtS = new MemoryStream()) { using (var writer = new IndexWriter(tixS, tdtS, dixS, ddtS)) { var document = new bsharptree.example.simpleindex.Document(guid, new MemoryStream(Encoding.UTF8.GetBytes(utf8Test))); writer.AddDocument(document, new DefaultAnalyzer()); writer.TermStorage.Index.Commit(); } //tixS.Flush(); //tdtS.Flush(); //dixS.Flush(); //ddtS.Flush(); // reset tixS.Seek(0, SeekOrigin.Begin); tdtS.Seek(0, SeekOrigin.Begin); dixS.Seek(0, SeekOrigin.Begin); ddtS.Seek(0, SeekOrigin.Begin); using (var termStorage = new TermStorage(tixS, tdtS)) { var analyzer = new DefaultAnalyzer(); var stream = new MemoryStream(Encoding.UTF8.GetBytes(utf8Test)); foreach (var tp in analyzer.GetTermPositions(stream)) { var positions = termStorage.Get(tp.Term); var found = false; foreach (var pos in positions.Value) { Assert.IsTrue(pos.Document.Equals(guid)); if (pos.Span.Start == tp.Span.Start && pos.Span.End == tp.Span.End) found = true; } Assert.IsTrue(found); } } //var foo = new IndexQueryProvider(); //var docStorage = new DocumentStorage(dixS, ddtS); //var results = from term in foo.Terms // from location in term.Value // where term.Key == "foo" || term.Key == "bar" // select location; //foreach (var result in results.Distinct()) //{ // Console.Out.WriteLine(result.Document); // var document = docStorage.Get(result.Document); // var context = docStorage.GetContext(result); // Console.Out.WriteLine(context); // Console.Out.WriteLine(); //} } }
void _programFileProvider_ImportModuleLocationChanged(object sender, ImportModuleLocationChangedEventArgs e) { DefaultAnalyzer.UpdateImportedProject(e.ImportModule, e.NewLocation); }
void _programFileProvider_IncludeFileLocationChanged(object sender, IncludeFileLocationChangedEventArgs e) { DefaultAnalyzer.UpdateIncludedFile(e.NewLocation); }