Processing test
All tests follow the same structure. There is one test set per language. For each process adjective there is a separate test. And a test consists of a string and the required results (ingredient and process).
Template
The template for processing adjectives tests:
[ {
Define the language for which the tests are applicable.
lc => "en",
Define in the ingredients_text the original ingredients that must be tested. These should have the format process ingredient, ingredient process, or whatever is applicable for that language.
ingredients_text => "raw milk, sliced tomatoes, garlic powder, powdered eggplant, courgette powder" },
The ingredients_text raw milk, should result in the ingredient with id en: raw milk. The adjective is ignored.
[ { 'id' => 'en:raw-milk', 'text' => 'raw milk' },
The ingredients_text sliced tomatoes, should result in the ingredient with id en:tomato and processing en:sliced.
{ 'id' => 'en:tomato',
The id represents the parent key of sliced tomatoes in the ingredients taxonomy.
'processing' => 'en:sliced',
The processing is the key of sliced in the processing taxonomy.
'text' => 'tomatoes'
The text is parent key of the entry sliced tomatoes in the ingredients taxonomy ????
},
{ 'id' => 'en:garlic-powder', 'text' => 'garlic powder' },
{ 'id' => 'en:aubergine', 'processing' => 'en:powdered', 'text' => 'eggplant' },
{ 'id' => 'en:courgette', 'processing' => 'en:powdered', 'text' => 'courgette' } ] ]
Error message
An error message for the text field might be:
# Failed test at t/ingredients_processing.t line 143. # Structures begin differing at: # $got->[3]{text} = 'gehakte tomaten' # $expected->[3]{text} = 'tomaten'
This should be read as: replace gehakte tomaten with tomaten in the test