public void Extract() { var result = instance.Extract(new InvoiceField { Key = "Price", Values = new[] { @"price:\s(\d+)", @"^price:\s(\d+)" } }, new Document("price: 20 and price: 30")) .ToArray(); Assert.AreEqual(3, result.Length); Assert.AreEqual("20", result[0].Value); Assert.AreEqual("30", result[1].Value); Assert.AreEqual("20", result[2].Value); }
private Recipe UpdateRecipe(Recipe recipe) { var row = recipe.ToRecipeRow(); var fields = FieldExtractor.Extract(recipe); var searchFields = fields .Where(x => x.IsSearchable) .Select(x => new RecipeTextSearchRow { Id = x.Id, Value = _queryParser.Parse(x.Value) }) .ToList(); using (_connection.Lock()) { //Remove all fields var mapping = _connection.GetMapping <RecipeTextFieldRow>(); _connection.Execute($"DELETE FROM {mapping.TableName} WHERE RecipeId = ?", recipe.Id); //Recreate recipe and indices _connection.Update(row); _connection.InsertAll(fields); _connection.InsertAll(searchFields); } return(recipe); }
private Recipe CreateRecipe(Recipe recipe) { var row = recipe.ToRecipeRow(); using (_connection.Lock()) { _connection.RunInTransaction(() => { _connection.Insert(row); recipe.Id = row.Id; var fields = FieldExtractor.Extract(recipe); _connection.InsertAll(fields); var searchFields = fields .Where(x => x.IsSearchable) .Select(x => new RecipeTextSearchRow { Id = x.Id, Value = _queryParser.Parse(x.Value) }) .ToList(); _connection.InsertAll(searchFields); }); } return(recipe); }
public void AssertFieldDataInicioPrecoProduto() { target = new FieldExtractor(typeof(PrecoProduto)); Dictionary <string, Field> fields = target.Extract(); Assert.That(fields["data_inicio"].Name, Is.EqualTo("DataInicio")); Assert.That(fields["data_inicio"].Type.Name, Is.EqualTo("DateTime")); Assert.That(fields["data_inicio"].IsProperty, Is.EqualTo(false)); }
public void AssertFieldIdPrecoProduto() { target = new FieldExtractor(typeof(PrecoProduto)); Dictionary <string, Field> fields = target.Extract(); Assert.That(fields["id"].Name, Is.EqualTo("Id")); Assert.That(fields["id"].Type.Name, Is.EqualTo("Int32")); Assert.That(fields["id"].IsProperty, Is.EqualTo(true)); }
public void AssertFieldPrecoPrecoProduto() { target = new FieldExtractor(typeof(PrecoProduto)); Dictionary <string, Field> fields = target.Extract(); Assert.That(fields["preco"].Name, Is.EqualTo("Preco")); Assert.That(fields["preco"].Type.Name, Is.EqualTo("Double")); Assert.That(fields["preco"].IsProperty, Is.EqualTo(true)); Assert.That(fields["preco"].IsEntity, Is.EqualTo(false)); }
public void AcertaQuantidadeDeFields() { Dictionary <string, Field> fields = target.Extract(); Assert.That(fields.Count, Is.EqualTo(5)); }