diff options
author | bsimon <bsimon@stsci.edu> | 2015-04-03 16:08:07 -0400 |
---|---|---|
committer | bsimon <bsimon@stsci.edu> | 2015-04-03 16:08:07 -0400 |
commit | 457db3570a50cf2d88fa5ac00d1ba1d5b119ea7a (patch) | |
tree | 38f64ab12082bd02976eb288c7650b33312dd304 /stsci/sphere/test/test.py | |
parent | 761ea7356c47cefe8b6f7afb2433dc74ec370837 (diff) | |
download | stsci.sphere-457db3570a50cf2d88fa5ac00d1ba1d5b119ea7a.tar.gz |
Back ported changes from astropy and made python 2 to 3 modifications
git-svn-id: http://svn.stsci.edu/svn/ssb/stsci_python/stsci.sphere/trunk@38800 fe389314-cf27-0410-b35b-8c050e845b92
Former-commit-id: c12c8fef5503caab2e2e57caac8f040597326589
Diffstat (limited to 'stsci/sphere/test/test.py')
-rw-r--r-- | stsci/sphere/test/test.py | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/stsci/sphere/test/test.py b/stsci/sphere/test/test.py index 567ec1d..5b2d47e 100644 --- a/stsci/sphere/test/test.py +++ b/stsci/sphere/test/test.py @@ -24,6 +24,13 @@ def test_normalize_vector(): l = np.sqrt(np.sum(xyzn * xyzn, axis=-1)) assert_almost_equal(l, 1.0) +def test_normalize_unit_vector(): + for i in range(3): + xyz = [0.0, 0.0, 0.0] + xyz[i] = 1.0 + xyzn = vector.normalize_vector(xyz) + l = np.sqrt(np.sum(xyzn * xyzn, axis=-1)) + assert_almost_equal(l, 1.0) def test_radec_to_vector(): npx, npy, npz = vector.radec_to_vector(np.arange(-360, 360, 1), 90) @@ -250,7 +257,7 @@ def test_great_circle_arc_angle(): A = [1, 0, 0] B = [0, 1, 0] C = [0, 0, 1] - assert great_circle_arc.angle(A, B, C) == 90.0 + assert great_circle_arc.angle(A, B, C) == 270.0 # TODO: More angle tests @@ -260,8 +267,7 @@ def test_cone(): for i in range(50): ra = random.randrange(-180, 180) dec = random.randrange(20, 90) - cone = polygon.SphericalPolygon.from_cone(ra, dec, 8, steps=64) - + polygon.SphericalPolygon.from_cone(ra, dec, 8, steps=64) def test_area(): triangles = [ @@ -277,6 +283,13 @@ def test_area(): poly = polygon.SphericalPolygon(points) calc_area = poly.area() +def test_cone_area(): + saved_area = None + for ra in (0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330): + for dec in (0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330): + area = polygon.SphericalPolygon.from_cone(ra, dec, 30, steps=64).area() + if saved_area is None: saved_area = area + assert_almost_equal(area, saved_area) def test_fast_area(): a = np.array( # Clockwise @@ -304,6 +317,14 @@ def test_fast_area(): [ 0.3536442 , 0.63515101, -0.68667239], [ 0.35331737, 0.6351013 , -0.68688658]]) - assert graph.Graph._fast_area(a) > 0 - assert graph.Graph._fast_area(b) > 0 - assert graph.Graph._fast_area(c) < 0 + apoly = polygon._SingleSphericalPolygon(a) + bpoly = polygon._SingleSphericalPolygon(b) + cpoly = polygon._SingleSphericalPolygon(c) + + aarea = apoly.area() + barea = bpoly.area() + carea = cpoly.area() + + assert aarea > 0 and aarea < np.pi * 2.0 + assert barea > 0 and barea < np.pi * 2.0 + assert carea > np.pi * 2.0 and carea < np.pi * 4.0 |