mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-07-21 14:19:41 +02:00
update NLP for ingredients
This commit is contained in:
parent
086098899d
commit
2e6352cfbd
7 changed files with 164 additions and 22 deletions
35
tests/unit_tests/test_nlp_parser.py
Normal file
35
tests/unit_tests/test_nlp_parser.py
Normal file
|
@ -0,0 +1,35 @@
|
|||
from dataclasses import dataclass
|
||||
from fractions import Fraction
|
||||
|
||||
from mealie.services.scraper.ingredient_nlp.processor import CRFIngredient, convert_list_to_crf_model
|
||||
|
||||
|
||||
@dataclass
|
||||
class TestIngredient:
|
||||
input: str
|
||||
quantity: float
|
||||
|
||||
|
||||
test_ingredients = [
|
||||
TestIngredient("½ cup all-purpose flour", 0.5),
|
||||
TestIngredient("1 ½ teaspoons ground black pepper", 1.5),
|
||||
TestIngredient("⅔ cup unsweetened flaked coconut", 0.7),
|
||||
TestIngredient("⅓ cup panko bread crumbs", 0.3),
|
||||
]
|
||||
|
||||
|
||||
def test_nlp_parser():
|
||||
models: list[CRFIngredient] = convert_list_to_crf_model([x.input for x in test_ingredients])
|
||||
|
||||
# Itterate over mdoels and test_ingreidnets to gether
|
||||
print()
|
||||
for model, test_ingredient in zip(models, test_ingredients):
|
||||
print("Testing:", test_ingredient.input, end="")
|
||||
|
||||
assert float(sum(Fraction(s) for s in model.qty.split())) == test_ingredient.quantity
|
||||
|
||||
print(" ✅ Passed")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_nlp_parser()
|
Loading…
Add table
Add a link
Reference in a new issue