separate tcl tests into smaller chunks
implement collection of tcl command tests
This commit is contained in:
17
tests/tclCommands/__init__.py
Normal file
17
tests/tclCommands/__init__.py
Normal file
@@ -0,0 +1,17 @@
|
||||
import pkgutil
|
||||
import sys
|
||||
|
||||
# allowed command tests (please append them alphabetically ordered)
|
||||
from test_TclCommandAddPolygon import *
|
||||
from test_TclCommandAddPolyline import *
|
||||
# from test_TclCommandCncjob import *
|
||||
# from test_TclCommandDrillcncjob import *
|
||||
# from test_TclCommandExportGcode import *
|
||||
# from test_TclCommandExteriors import *
|
||||
from test_TclCommandImportSvg import *
|
||||
# from test_TclCommandInteriors import *
|
||||
# from test_TclCommandIsolate import *
|
||||
from test_TclCommandNew import *
|
||||
from test_TclCommandNewGeometry import *
|
||||
# from test_TclCommandOpenGerber import *
|
||||
from test_TclCommandPaintPolygon import *
|
||||
18
tests/tclCommands/test_TclCommandAddPolygon.py
Normal file
18
tests/tclCommands/test_TclCommandAddPolygon.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from FlatCAMObj import FlatCAMGeometry
|
||||
|
||||
|
||||
def test_add_polygon(self):
|
||||
"""
|
||||
Test add polygon into geometry
|
||||
:param self:
|
||||
:return:
|
||||
"""
|
||||
|
||||
self.fc.exec_command_test('new_geometry "%s"' % self.geometry_name)
|
||||
geometry_obj = self.fc.collection.get_by_name(self.geometry_name)
|
||||
self.assertTrue(isinstance(geometry_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s"
|
||||
% (self.geometry_name, type(geometry_obj)))
|
||||
|
||||
points = '0 0 20 0 10 10 0 10'
|
||||
|
||||
self.fc.exec_command_test('add_polygon "%s" %s' % (self.geometry_name, points))
|
||||
18
tests/tclCommands/test_TclCommandAddPolyline.py
Normal file
18
tests/tclCommands/test_TclCommandAddPolyline.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from FlatCAMObj import FlatCAMGeometry
|
||||
|
||||
|
||||
def test_add_polyline(self):
|
||||
"""
|
||||
Test add polyline into geometry
|
||||
:param self:
|
||||
:return:
|
||||
"""
|
||||
|
||||
self.fc.exec_command_test('new_geometry "%s"' % self.geometry_name)
|
||||
geometry_obj = self.fc.collection.get_by_name(self.geometry_name)
|
||||
self.assertTrue(isinstance(geometry_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s"
|
||||
% (self.geometry_name, type(geometry_obj)))
|
||||
|
||||
points = '0 0 20 0 10 10 0 10 33 33'
|
||||
|
||||
self.fc.exec_command_test('add_polyline "%s" %s' % (self.geometry_name, points))
|
||||
60
tests/tclCommands/test_TclCommandImportSvg.py
Normal file
60
tests/tclCommands/test_TclCommandImportSvg.py
Normal file
@@ -0,0 +1,60 @@
|
||||
from os import listdir
|
||||
|
||||
from FlatCAMObj import FlatCAMGerber, FlatCAMGeometry
|
||||
|
||||
|
||||
def test_import_svg(self):
|
||||
"""
|
||||
Test all SVG files inside svg directory.
|
||||
Problematic SVG files shold be put there as test reference.
|
||||
:param self:
|
||||
:return:
|
||||
"""
|
||||
|
||||
file_list = listdir(self.svg_files)
|
||||
|
||||
for svg_file in file_list:
|
||||
|
||||
# import without outname
|
||||
self.fc.exec_command_test('import_svg "%s/%s"' % (self.svg_files, svg_file))
|
||||
|
||||
obj = self.fc.collection.get_by_name(svg_file)
|
||||
self.assertTrue(isinstance(obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s"
|
||||
% (svg_file, type(obj)))
|
||||
|
||||
# import with outname
|
||||
outname = '%s-%s' % (self.geometry_name, svg_file)
|
||||
self.fc.exec_command_test('import_svg "%s/%s" -outname "%s"' % (self.svg_files, svg_file, outname))
|
||||
|
||||
obj = self.fc.collection.get_by_name(outname)
|
||||
self.assertTrue(isinstance(obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s"
|
||||
% (outname, type(obj)))
|
||||
|
||||
names = self.fc.collection.get_names()
|
||||
self.assertEqual(len(names), len(file_list)*2,
|
||||
"Expected %d objects, found %d" % (len(file_list)*2, len(file_list)))
|
||||
|
||||
|
||||
def test_import_svg_as_geometry(self):
|
||||
|
||||
self.fc.exec_command_test('import_svg "%s/%s" -type geometry -outname "%s"'
|
||||
% (self.svg_files, self.svg_filename, self.geometry_name))
|
||||
|
||||
obj = self.fc.collection.get_by_name(self.geometry_name)
|
||||
self.assertTrue(isinstance(obj, FlatCAMGeometry) and not isinstance(obj, FlatCAMGerber),
|
||||
"Expected FlatCAMGeometry, instead, %s is %s" % (self.geometry_name, type(obj)))
|
||||
|
||||
|
||||
def test_import_svg_as_gerber(self):
|
||||
|
||||
self.fc.exec_command_test('import_svg "%s/%s" -type gerber -outname "%s"'
|
||||
% (self.svg_files, self.svg_filename, self.gerber_name))
|
||||
|
||||
obj = self.fc.collection.get_by_name(self.gerber_name)
|
||||
self.assertTrue(isinstance(obj, FlatCAMGerber),
|
||||
"Expected FlatCAMGerber, instead, %s is %s" % (self.gerber_name, type(obj)))
|
||||
|
||||
self.fc.exec_command_test('isolate "%s"' % self.gerber_name)
|
||||
obj = self.fc.collection.get_by_name(self.gerber_name+'_iso')
|
||||
self.assertTrue(isinstance(obj, FlatCAMGeometry),
|
||||
"Expected FlatCAMGeometry, instead, %s is %s" % (self.gerber_name+'_iso', type(obj)))
|
||||
48
tests/tclCommands/test_TclCommandNew.py
Normal file
48
tests/tclCommands/test_TclCommandNew.py
Normal file
@@ -0,0 +1,48 @@
|
||||
from FlatCAMObj import FlatCAMGeometry
|
||||
|
||||
|
||||
def test_new(self):
|
||||
"""
|
||||
Test new project
|
||||
:param self:
|
||||
:return:
|
||||
"""
|
||||
|
||||
self.fc.exec_command_test('new_geometry "%s"' % self.geometry_name)
|
||||
geometry_obj = self.fc.collection.get_by_name(self.geometry_name)
|
||||
self.assertTrue(isinstance(geometry_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s"
|
||||
% (self.geometry_name, type(geometry_obj)))
|
||||
|
||||
self.fc.exec_command_test('proc testproc {} { puts "testresult" }')
|
||||
|
||||
result = self.fc.exec_command_test('testproc')
|
||||
|
||||
self.assertEqual(result, "testresult",'testproc should return "testresult"')
|
||||
|
||||
self.fc.exec_command_test('set_sys units MM')
|
||||
self.fc.exec_command_test('new')
|
||||
|
||||
# object should not exists anymore
|
||||
geometry_obj = self.fc.collection.get_by_name(self.geometry_name)
|
||||
self.assertIsNone(geometry_obj, "Expected object to be None, instead, %s is %s"
|
||||
% (self.geometry_name, type(geometry_obj)))
|
||||
|
||||
# TODO after new it should delete all procedures and variables, we need to make sure "testproc" does not exists
|
||||
|
||||
# Test it again with same names
|
||||
|
||||
self.fc.exec_command_test('set_sys units MM')
|
||||
self.fc.exec_command_test('new')
|
||||
|
||||
self.fc.exec_command_test('new_geometry "%s"' % self.geometry_name)
|
||||
geometry_obj = self.fc.collection.get_by_name(self.geometry_name)
|
||||
self.assertTrue(isinstance(geometry_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s"
|
||||
% (self.geometry_name, type(geometry_obj)))
|
||||
|
||||
self.fc.exec_command_test('set_sys units MM')
|
||||
self.fc.exec_command_test('new')
|
||||
|
||||
# object should not exists anymore
|
||||
geometry_obj = self.fc.collection.get_by_name(self.geometry_name)
|
||||
self.assertIsNone(geometry_obj, "Expected object to be None, instead, %s is %s"
|
||||
% (self.geometry_name, type(geometry_obj)))
|
||||
14
tests/tclCommands/test_TclCommandNewGeometry.py
Normal file
14
tests/tclCommands/test_TclCommandNewGeometry.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from FlatCAMObj import FlatCAMGeometry
|
||||
|
||||
|
||||
def test_new_geometry(self):
|
||||
"""
|
||||
Test create new geometry
|
||||
:param self:
|
||||
:return:
|
||||
"""
|
||||
|
||||
self.fc.exec_command_test('new_geometry "%s"' % self.geometry_name)
|
||||
geometry_obj = self.fc.collection.get_by_name(self.geometry_name)
|
||||
self.assertTrue(isinstance(geometry_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s"
|
||||
% (self.geometry_name, type(geometry_obj)))
|
||||
25
tests/tclCommands/test_TclCommandPaintPolygon.py
Normal file
25
tests/tclCommands/test_TclCommandPaintPolygon.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from FlatCAMObj import FlatCAMGeometry
|
||||
|
||||
|
||||
def test_paint_polygon(self):
|
||||
"""
|
||||
Test create paint polygon geometry
|
||||
:param self:
|
||||
:return:
|
||||
"""
|
||||
|
||||
self.fc.exec_command_test('new_geometry "%s"' % self.geometry_name)
|
||||
geometry_obj = self.fc.collection.get_by_name(self.geometry_name)
|
||||
self.assertTrue(isinstance(geometry_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s"
|
||||
% (self.geometry_name, type(geometry_obj)))
|
||||
|
||||
points = '0 0 20 0 10 10 0 10'
|
||||
|
||||
self.fc.exec_command_test('add_polygon "%s" %s' % (self.geometry_name, points))
|
||||
|
||||
# TODO rename to paint_polygon in future oop command implementation
|
||||
self.fc.exec_command_test('paint_poly "%s" 5 5 2 0.5' % (self.geometry_name))
|
||||
geometry_obj = self.fc.collection.get_by_name(self.geometry_name+'_paint')
|
||||
# TODO uncoment check after oop implementation, because of threading inside paint poly
|
||||
#self.assertTrue(isinstance(geometry_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s"
|
||||
# % (self.geometry_name+'_paint', type(geometry_obj)))
|
||||
Reference in New Issue
Block a user