Coverage for tests/test_base.py: 29%

28 statements  

« prev     ^ index     » next       coverage.py v7.4.3, created at 2024-02-27 12:05 +0000

1import unittest 

2 

3import numpy as np 

4from numpy.testing import assert_equal 

5 

6import astshim as ast 

7from astshim.test import ObjectTestCase 

8 

9 

10class TestBase(ObjectTestCase): 

11 

12 def test_arrayFromVector(self): 

13 nAxes = 3 

14 nValues = 5 

15 np.random.seed(1) 

16 dataVec = np.random.rand(nAxes * nValues) 

17 desiredDataArr = dataVec.copy() 

18 desiredDataArr.shape = (nAxes, nValues) 

19 dataArr = ast.arrayFromVector(vec=dataVec, nAxes=nAxes) 

20 assert_equal(dataArr, desiredDataArr) 

21 

22 dataArr2 = ast.arrayFromVector(vec=list(dataVec), nAxes=nAxes) 

23 assert_equal(dataArr2, desiredDataArr) 

24 

25 # make sure dataArr is a deep copy; changing dataVec should 

26 # not change dataArr 

27 dataVec[0] += 10 

28 assert_equal(dataArr, desiredDataArr) 

29 

30 for delta in (-1, 1): 

31 badDataVec = np.random.rand(nAxes * nValues + delta) 

32 with self.assertRaises(RuntimeError): 

33 ast.arrayFromVector(vec=badDataVec, nAxes=nAxes) 

34 

35 def testVersion(self): 

36 version = ast.astVersion() 

37 self.assertGreaterEqual(version, 9001000) 

38 

39 

40if __name__ == "__main__": 40 ↛ 41line 40 didn't jump to line 41, because the condition on line 40 was never true

41 unittest.main()