Coverage for Adifpy/test/test_evaluator.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v6.5.0, created at 2022-11-22 19:44 -0500

1import pytest 

2 

3from Adifpy.differentiate.evaluator import Evaluator 

4from Adifpy.differentiate.forward_mode import forward_mode 

5# from Adifpy.differentiate.reverse_mode import reverse_mode 

6 

7class TestEvaluator: 

8 """Test class for evaluator""" 

9 

10 def test_eval(self): 

11 """Tests basic functionality of Evaluator""" 

12 e = Evaluator(fn=lambda x: x*x) 

13 

14 with pytest.raises(TypeError): 

15 e.eval(1, 1, 'bingbong') 

16 

17 with pytest.raises(TypeError): 

18 e.eval(1, 'ff', 'bingbong') 

19 

20 assert e.eval(1, force_mode='forward') == forward_mode(lambda x: x*x, 1, seed_vector=[1]) 

21 # assert e.eval(1, force_mode='reverse') == reverse_mode(lambda x: x*x, 1) 

22 # assert e.eval(1) == reverse_mode(lambda x: x*x, 1, seed_vector=[1]) 

23 assert e.eval(5, force_mode='forward') == forward_mode(lambda x: x*x, 5, seed_vector=[1])