source: inundation/pmesh/test_mesh_interface.py @ 2282

Last change on this file since 2282 was 2282, checked in by duncan, 18 years ago

making imports more robust

File size: 2.5 KB
Line 
1#!/usr/bin/env python
2#
3import tempfile
4import unittest
5from mesh_interface import *
6from load_mesh.loadASCII import *
7from coordinate_transforms.geo_reference import Geo_reference
8from utilities.polygon import inside_polygon
9
10class TestCase(unittest.TestCase):
11    def setUp(self):
12        pass
13   
14    def tearDown(self):
15        pass
16
17    def test_create_mesh_from_regions(self):
18        x=-500
19        y=-1000
20        mesh_geo = geo_reference=Geo_reference(56,x,y)
21
22        # These are the absolute values
23        polygon_absolute = [[0,0],[100,0],[100,100],[0,100]]
24       
25        x_p = -10
26        y_p = -40
27        geo_ref_poly = Geo_reference(56, x_p, y_p)
28        polygon = geo_ref_poly.change_points_geo_ref(polygon_absolute)
29
30        boundary_tags = {'walls':[0,1],'bom':[2]}
31       
32        inner1_polygon_absolute = [[10,10],[20,10],[20,20],[10,20]]
33        inner1_polygon = geo_ref_poly. \
34                         change_points_geo_ref(inner1_polygon_absolute)
35
36        inner2_polygon_absolute = [[30,30],[40,30],[40,40],[30,40]]
37        inner2_polygon = geo_ref_poly. \
38                         change_points_geo_ref(inner2_polygon_absolute)
39       
40        interior_regions = [(inner1_polygon, 5),(inner2_polygon, 0.2)]
41        m = create_mesh_from_regions(polygon,
42                                     boundary_tags,
43                                     10000000,
44                                     interior_regions=interior_regions,
45                                     poly_geo_reference=geo_ref_poly)
46
47        # Test the mesh instance
48       
49        self.failUnless(len(m.regions)==3,
50                        'FAILED!')
51        segs = m.getUserSegments()
52        self.failUnless(len(segs)==12,
53                        'FAILED!')
54        self.failUnless(len(m.userVertices)==12,
55                        'FAILED!') 
56        self.failUnless(segs[0].tag=='walls',
57                        'FAILED!') 
58        self.failUnless(segs[1].tag=='walls',
59                        'FAILED!') 
60         
61        self.failUnless(segs[2].tag=='bom',
62                        'FAILED!') 
63        self.failUnless(segs[3].tag=='',
64                        'FAILED!')
65
66#-------------------------------------------------------------
67if __name__ == "__main__":
68    suite = unittest.makeSuite(TestCase,'test')
69    #suite = unittest.makeSuite(meshTestCase,'test_asciiFile')
70    runner = unittest.TextTestRunner() #verbosity=2)
71    runner.run(suite)
72   
Note: See TracBrowser for help on using the repository browser.