import autograd.numpy as np
from autograd import grad
from autograd.builtins import isinstance
def test_isinstance():
def checker(ex, type_, truthval):
assert isinstance(ex, type_) == truthval
return 1.
examples = [
[list, [[]], [()]],
[np.ndarray, [np.zeros(1)], [[]]],
[(tuple, list), [[], ()], [np.zeros(1)]],
]
for type_, positive_examples, negative_examples in examples:
for ex in positive_examples:
checker(ex, type_, True)
grad(checker)(ex, type_, True)
for ex in negative_examples:
checker(ex, type_, False)
grad(checker)(ex, type_, False)