# Hypothesis testing
https://hypothesis.readthedocs.io/en/latest/data.html
`hypothesis.strategies.one_of(*args)`
This is how we can pass in a variety of different data types. An example of doing so is shown below:
```
@given(strategies.one_of(strategies.integers(max_value=0), strategies.characters(), strategies.decimals(), strategies.dates()))
def test_error(num):
with pytest.raises(ValueError):
divisors(num)
```
These tests run more than once because they are decorators
### Useful strategies:
```
stratagies.integers()
strategies.characters() [for character inputs and strings]
strategies.text() [if you explicitly want just strings]
strategies.date() [to test datetime functions]
strategies.list()
strategies.dictionary()
```