Metadata-Version: 2.1
Name: ARS_Test_Runner
Version: 0.0.9
Summary: Python package for ARS pass/fail test
Home-page: https://github.com/NCATSTranslator/ARS_Test_Runner
Author: Shervin Abdollahi, Mark Williams
Author-email: shervin.abdollahi@Nih.gov, mark.williams5@nih.gov
License: Public Domain
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: requests
Requires-Dist: httpx
Requires-Dist: reasoner-validator
Requires-Dist: numpy
Requires-Dist: attrs>=20.3.0
Requires-Dist: click
Requires-Dist: twine


Translator ARS Pass/Fail Testing 
==========================================================

This testing framework performs single level pass/Fail analysis on queries it receives from the Test Runner. 

### ARS_Test Implementation
```bash
pip install ARS_Test_Runner 
```

### CLI
The command-line interface is the easiest way to run the ARS_Test_Runner
After installation, simply type ARS_Test_Runner --help to see required input arguments & options
- `ARS_Test_Runner`
    - env : the environment to run the queries against (dev|ci|test|prod)
    - predicate: treats
    - runner_setting: creative mode inidicator (inferred)
    - expected_output: TopAnswer|Acceptable|BadButForgivable|NeverShow
    - input_curie: normalized curie taken from assest.csv
    - output_curie: target output curie to do analysis on

- example:
  - for single output
    - ARS_Test_Runner --env 'test' --predicate 'treats' --runner_setting '["inferred"]'  --expected_output '["TopAnswer"]' --input_curie 'MONDO:0015564' --output_curie '["PUBCHEM.COMPOUND:5284616"]'
  - for multi outputs
    - ARS_Test_Runner --env 'ci' --predicate 'treats' --runner_setting '["inferred"]' --expected_output '["TopAnswer","TopAnswer"]' --input_curie 'MONDO:0005301' --output_curie '["PUBCHEM.COMPOUND:107970","UNII:3JB47N2Q2P"]'


### python
``` python 
import asyncio
from ARS_Test_Runner.semantic_test import run_semantic_test
asyncio.run(run_semantic_test('ci','treats',['inferred'], ['TopAnswer','TopAnswer'],'MONDO:0005301',['PUBCHEM.COMPOUND:107970','UNII:3JB47N2Q2P']))
```
OR
``` python 
python semantic_test.py --env 'ci' --predicate 'treats' --runner_setting 'inferred'  --expected_output 'TopAnswer' 'TopAnswer' --input_curie 'MONDO:0005301' --output_curie 'PUBCHEM.COMPOUND:107970' 'UNI:3JB47N2Q2P'
```






