test_size.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import os
  2. import pytest
  3. import numpy as np
  4. from . import util
  5. class TestSizeSumExample(util.F2PyTest):
  6. sources = [util.getpath("tests", "src", "size", "foo.f90")]
  7. @pytest.mark.slow
  8. def test_all(self):
  9. r = self.module.foo([[]])
  10. assert r == [0]
  11. r = self.module.foo([[1, 2]])
  12. assert r == [3]
  13. r = self.module.foo([[1, 2], [3, 4]])
  14. assert np.allclose(r, [3, 7])
  15. r = self.module.foo([[1, 2], [3, 4], [5, 6]])
  16. assert np.allclose(r, [3, 7, 11])
  17. @pytest.mark.slow
  18. def test_transpose(self):
  19. r = self.module.trans([[]])
  20. assert np.allclose(r.T, np.array([[]]))
  21. r = self.module.trans([[1, 2]])
  22. assert np.allclose(r, [[1.], [2.]])
  23. r = self.module.trans([[1, 2, 3], [4, 5, 6]])
  24. assert np.allclose(r, [[1, 4], [2, 5], [3, 6]])
  25. @pytest.mark.slow
  26. def test_flatten(self):
  27. r = self.module.flatten([[]])
  28. assert np.allclose(r, [])
  29. r = self.module.flatten([[1, 2]])
  30. assert np.allclose(r, [1, 2])
  31. r = self.module.flatten([[1, 2, 3], [4, 5, 6]])
  32. assert np.allclose(r, [1, 2, 3, 4, 5, 6])