test_gerber_buffer.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import unittest
  2. import camlib
  3. from flatcamParsers.ParseGerber import Gerber
  4. class GerberBuffer(unittest.TestCase):
  5. def setUp(self):
  6. self.gerber1 = Gerber()
  7. self.gerber1.use_buffer_for_union = True
  8. self.gerber1.parse_file("tests/gerber_files/STM32F4-spindle.cmp")
  9. geometry1 = self.gerber1.solid_geometry
  10. self.geometry1_area = self.compute_area(geometry1)
  11. self.gerber2 = Gerber()
  12. self.gerber2.use_buffer_for_union = False
  13. self.gerber2.parse_file("tests/gerber_files/STM32F4-spindle.cmp")
  14. geometry2 = self.gerber2.solid_geometry
  15. self.geometry2_area = self.compute_area (geometry2)
  16. def compute_area(self, geometry):
  17. area = 0
  18. try:
  19. for geo in geometry:
  20. area += geo.area
  21. # Not iterable, do the actual indexing and add.
  22. except TypeError:
  23. area = geometry.area
  24. return area
  25. def test_buffer(self):
  26. self.assertLessEqual(abs(self.geometry2_area - self.geometry1_area), 0.000001)
  27. if __name__ == '__main__':
  28. unittest.main()