@@ -39,6 +39,32 @@ def test_plane(xsize, ysize):
3939 assert plane .frame == other .frame
4040
4141
42+ @pytest .mark .parametrize (
43+ "xsize,ysize" ,
44+ [
45+ (0 , 0 ),
46+ (1 , 0 ),
47+ (0 , 1 ),
48+ (1 , 1 ),
49+ (10 , 1 ),
50+ (1 , 10 ),
51+ (2 , 3 ),
52+ (3 , 2 ),
53+ (random (), random ()),
54+ ],
55+ )
56+ def test_plane_size (xsize , ysize ):
57+ plane = PlanarSurface (xsize = xsize , ysize = ysize )
58+
59+ assert plane .point_at (1 , 0 ) == Point (xsize , 0 , 0 )
60+ assert plane .point_at (0 , 1 ) == Point (0 , ysize , 0 )
61+ assert plane .point_at (1 , 1 ) == Point (xsize , ysize , 0 )
62+
63+ assert plane .point_at (0.5 , 0 ) == Point (0.5 * xsize , 0 , 0 )
64+ assert plane .point_at (0 , 0.5 ) == Point (0 , 0.5 * ysize , 0 )
65+ assert plane .point_at (0.5 , 0.5 ) == Point (0.5 * xsize , 0.5 * ysize , 0 )
66+
67+
4268@pytest .mark .parametrize (
4369 "frame" ,
4470 [
@@ -107,3 +133,37 @@ def test_plane_data():
107133# =============================================================================
108134# Other Methods
109135# =============================================================================
136+
137+ # =============================================================================
138+ # Conversions
139+ # =============================================================================
140+
141+
142+ @pytest .mark .parametrize (
143+ "xsize,ysize" ,
144+ [
145+ (0 , 0 ),
146+ (1 , 0 ),
147+ (0 , 1 ),
148+ (1 , 1 ),
149+ (10 , 1 ),
150+ (1 , 10 ),
151+ (2 , 3 ),
152+ (3 , 2 ),
153+ (random (), random ()),
154+ ],
155+ )
156+ def test_plane_conversion_to_mesh (xsize , ysize ):
157+ plane = PlanarSurface (xsize = xsize , ysize = ysize )
158+
159+ area = plane .xsize * plane .ysize
160+
161+ mesh = plane .to_mesh (1 , 1 )
162+ assert mesh .number_of_vertices () == 4
163+ assert mesh .number_of_faces () == 1
164+ assert TOL .is_close (mesh .area (), area )
165+
166+ mesh = plane .to_mesh (10 , 10 )
167+ assert mesh .number_of_vertices () == 121
168+ assert mesh .number_of_faces () == 100
169+ assert TOL .is_close (mesh .area (), area )
0 commit comments