Resolve issue 144

Added a test for the new mechanism
Added a gerber test file
This commit is contained in:
phdussud
2015-06-26 13:42:55 -07:00
parent 2a411cef14
commit 0bf21458c6
4 changed files with 6417 additions and 3 deletions

View File

@@ -0,0 +1,44 @@
import unittest
import camlib
from shapely.geometry import Polygon, LineString, Point, LinearRing
from shapely.geometry import MultiPoint, MultiPolygon
from shapely.geometry import box as shply_box
from shapely.ops import cascaded_union
import shapely.affinity as affinity
from shapely.wkt import loads as sloads
from shapely.wkt import dumps as sdumps
from shapely.geometry.base import BaseGeometry
class GerberBuffer(unittest.TestCase):
def setUp(self):
self.gerber1 = camlib.Gerber()
self.gerber1.use_buffer_for_union = True
self.gerber1.parse_file ("./gerber_files/STM32F4-spindle.cmp")
geometry1 = self.gerber1.solid_geometry
self.geometry1_area = self.compute_area (geometry1)
self.gerber2 = camlib.Gerber()
self.gerber2.use_buffer_for_union = False
self.gerber2.parse_file ("./gerber_files/STM32F4-spindle.cmp")
geometry2 = self.gerber2.solid_geometry
self.geometry2_area = self.compute_area (geometry2)
def compute_area (self, geometry):
area = 0
try:
for geo in geometry:
area += geo.area
## Not iterable, do the actual indexing and add.
except TypeError:
area = geometry.area
return area
def test_buffer(self):
self.assertLessEqual (abs(self.geometry2_area - self.geometry1_area), 0.000001)
if __name__ == '__main__':
unittest.main()