Changeset 3196 for inundation/utilities


Ignore:
Timestamp:
Jun 21, 2006, 4:45:37 PM (19 years ago)
Author:
duncan
Message:

adding tests and comments

File:
1 edited

Legend:

Unmodified
Added
Removed
  • inundation/utilities/test_polygon.py

    r3054 r3196  
    444444            assert not is_inside_polygon(point, ex_poly1)
    445445            assert not is_inside_polygon(point, ex_poly2)                               
     446       
     447
     448        #Very convoluted polygon
     449        polygon = [[0,0], [10,10], [15,5], [20, 10], [25,0], [30,10], [40,-10]]
     450        ex_poly = [[-1,-1], [5,0], [5, 5], [-1,5]]
     451        points = populate_polygon(polygon, 20, exclude = [ex_poly])
     452       
     453        assert len(points) == 20
     454        for point in points:
     455            assert is_inside_polygon(point, polygon)
     456            assert not is_inside_polygon(point, ex_poly), '%s' %str(point)                       
     457
     458
     459    def test_populate_polygon_with_exclude2(self):
     460       
     461
     462        min_outer = 0
     463        max_outer = 1000
     464        polygon_outer = [[min_outer,min_outer],[max_outer,min_outer],
     465                   [max_outer,max_outer],[min_outer,max_outer]]
     466
     467        delta = 10
     468        min_inner1 = min_outer + delta
     469        max_inner1 = max_outer - delta
     470        inner1_polygon = [[min_inner1,min_inner1],[max_inner1,min_inner1],
     471                   [max_inner1,max_inner1],[min_inner1,max_inner1]]
     472     
     473       
     474        density_inner2 = 1000
     475        min_inner2 = min_outer +  2*delta
     476        max_inner2 = max_outer -  2*delta
     477        inner2_polygon = [[min_inner2,min_inner2],[max_inner2,min_inner2],
     478                   [max_inner2,max_inner2],[min_inner2,max_inner2]]     
     479       
     480        points = populate_polygon(polygon_outer, 20, exclude = [inner1_polygon, inner2_polygon])
     481
     482        assert len(points) == 20
     483        for point in points:
     484            assert is_inside_polygon(point, polygon_outer)
     485            assert not is_inside_polygon(point, inner1_polygon)
     486            assert not is_inside_polygon(point, inner2_polygon)                               
    446487       
    447488
Note: See TracChangeset for help on using the changeset viewer.