public void TsQueryOr() { using (var context = new BloggingContext(ConnectionString)) { context.Database.Log = Console.Out.WriteLine; context.Blogs.Add(new Blog { Name = "_" }); context.SaveChanges(); var result = context.Blogs.Select( x => NpgsqlTextFunctions.QueryOr( NpgsqlTextFunctions.AsTsQuery("fat | rat"), NpgsqlTextFunctions.AsTsQuery("cat"))).First(); Assert.That( NpgsqlTsQuery.Parse(result).ToString(), Is.EqualTo(NpgsqlTsQuery.Parse("( 'fat' | 'rat' ) | 'cat'").ToString())); result = context.Blogs.Select( x => NpgsqlTextFunctions.AsTsQuery("fat | rat") + NpgsqlTextFunctions.AsTsQuery("cat")).First(); Assert.That( NpgsqlTsQuery.Parse(result).ToString(), Is.EqualTo(NpgsqlTsQuery.Parse("( 'fat' | 'rat' ) | 'cat'").ToString())); } }
public void TsIsContained() { using (var context = new BloggingContext(ConnectionString)) { context.Database.Log = Console.Out.WriteLine; context.Blogs.Add(new Blog { Name = "_" }); context.SaveChanges(); var result = context.Blogs.Select( x => NpgsqlTextFunctions.QueryIsContained( NpgsqlTextFunctions.AsTsQuery("cat"), NpgsqlTextFunctions.AsTsQuery("cat & rat"))).First(); Assert.That(result, Is.True); } }
public void ConversionToTsQuery() { using (var context = new BloggingContext(ConnectionString)) { context.Database.Log = Console.Out.WriteLine; context.Blogs.Add(new Blog { Name = "_" }); context.SaveChanges(); const string expected = "'b' & 'c'"; var casted = context.Blogs.Select(x => NpgsqlTextFunctions.AsTsQuery(expected)).First(); Assert.That( NpgsqlTsQuery.Parse(casted).ToString(), Is.EqualTo(NpgsqlTsQuery.Parse(expected).ToString())); var converted = context.Blogs.Select(x => NpgsqlTextFunctions.ToTsQuery("b & c")).First(); Assert.That( NpgsqlTsQuery.Parse(converted).ToString(), Is.EqualTo(NpgsqlTsQuery.Parse(expected).ToString())); converted = context.Blogs.Select(x => NpgsqlTextFunctions.ToTsQuery("english", "b & c")).First(); Assert.That( NpgsqlTsQuery.Parse(converted).ToString(), Is.EqualTo(NpgsqlTsQuery.Parse(expected).ToString())); converted = context.Blogs.Select(x => NpgsqlTextFunctions.PlainToTsQuery("b & c")).First(); Assert.That( NpgsqlTsQuery.Parse(converted).ToString(), Is.EqualTo(NpgsqlTsQuery.Parse(expected).ToString())); converted = context.Blogs.Select(x => NpgsqlTextFunctions.PlainToTsQuery("english", "b & c")).First(); Assert.That( NpgsqlTsQuery.Parse(converted).ToString(), Is.EqualTo(NpgsqlTsQuery.Parse(expected).ToString())); } }