From eb0097782b1a546fc49b6ffa9ddbff686df34f45 Mon Sep 17 00:00:00 2001 From: WandererFan Date: Sun, 3 Jul 2016 11:56:00 -0400 Subject: [PATCH] Add unit tests for TechDraw --- src/Mod/TechDraw/App/CMakeLists.txt | 1 + src/Mod/TechDraw/CMakeLists.txt | 1 + src/Mod/TechDraw/TestTechDrawApp.py | 59 +++++++++++++++++++++++++++++ src/Mod/Test/TestApp.py | 1 + src/Mod/Test/TestGui.py | 8 ++-- 5 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 src/Mod/TechDraw/TestTechDrawApp.py diff --git a/src/Mod/TechDraw/App/CMakeLists.txt b/src/Mod/TechDraw/App/CMakeLists.txt index cc0a024a6..10d07dea4 100644 --- a/src/Mod/TechDraw/App/CMakeLists.txt +++ b/src/Mod/TechDraw/App/CMakeLists.txt @@ -152,6 +152,7 @@ target_link_libraries(TechDraw ${TechDrawLIBS};${QT_QTXML_LIBRARY};${TechDraw}) SET(TechDrawScripts Init.py + TestTechDrawApp.py ) fc_target_copy_resource(TechDraw diff --git a/src/Mod/TechDraw/CMakeLists.txt b/src/Mod/TechDraw/CMakeLists.txt index 3ac912367..8ef334628 100644 --- a/src/Mod/TechDraw/CMakeLists.txt +++ b/src/Mod/TechDraw/CMakeLists.txt @@ -10,6 +10,7 @@ INSTALL( FILES Init.py InitGui.py + TestTechDrawApp.py DESTINATION Mod/TechDraw ) diff --git a/src/Mod/TechDraw/TestTechDrawApp.py b/src/Mod/TechDraw/TestTechDrawApp.py new file mode 100644 index 000000000..bcdce2730 --- /dev/null +++ b/src/Mod/TechDraw/TestTechDrawApp.py @@ -0,0 +1,59 @@ +# Copyright (c) 2015 WandererFan * +# * +# This file is part of the FreeCAD CAx development system. * +# * +# This program is free software; you can redistribute it and/or modify * +# it under the terms of the GNU Lesser General Public License (LGPL) * +# as published by the Free Software Foundation; either version 2 of * +# the License, or (at your option) any later version. * +# for detail see the LICENCE text file. * +# * +# FreeCAD is distributed in the hope that it will be useful, * +# but WITHOUT ANY WARRANTY; without even the implied warranty of * +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# GNU Library General Public License for more details. * +# * +# You should have received a copy of the GNU Library General Public * +# License along with FreeCAD; if not, write to the Free Software * +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# USA * +#************************************************************************** + +import FreeCAD, os, sys, unittest, Part +import Measure +import TechDraw +import time +App = FreeCAD + +#--------------------------------------------------------------------------- +# define the test cases to test the FreeCAD TechDraw module +#--------------------------------------------------------------------------- + + +class TechDrawTestCases(unittest.TestCase): + def setUp(self): + self.Doc = FreeCAD.newDocument("TechDrawTest") + + def testPageCase(self): + self.templateFileSpec = App.getResourceDir() + 'Mod/TechDraw/Templates/A4_LandscapeTD.svg' + self.Box = self.Doc.addObject("Part::Box","Box") + self.Page = self.Doc.addObject('TechDraw::DrawPage','Page') + self.Template = self.Doc.addObject('TechDraw::DrawSVGTemplate','Template') + self.Template.Template = self.templateFileSpec + self.Page.Template = self.Template + self.View = self.Doc.addObject('TechDraw::DrawViewPart','View') + rc = self.Page.addView(self.View) + self.View.Source = self.Box + self.Anno = self.Doc.addObject('TechDraw::DrawViewAnnotation','TestAnno') + rc = self.Page.addView(self.Anno) + self.Sect = self.Doc.addObject('TechDraw::DrawViewSection','Section') + rc = self.Page.addView(self.Sect) + self.Sect.SectionOrigin = (1.0,1.0,1.0) + self.Sect.Source = self.Box + self.Doc.recompute() + self.failUnless(len(self.Page.Views) == 3) + + def tearDown(self): + #closing doc + FreeCAD.closeDocument("TechDrawTest") + #print ("omit clos document for debuging") diff --git a/src/Mod/Test/TestApp.py b/src/Mod/Test/TestApp.py index ca23c56a8..3fb16e51f 100644 --- a/src/Mod/Test/TestApp.py +++ b/src/Mod/Test/TestApp.py @@ -50,6 +50,7 @@ def All(): suite.addTest(unittest.defaultTestLoader.loadTestsFromName("TestPartApp")) suite.addTest(unittest.defaultTestLoader.loadTestsFromName("TestPartDesignApp")) suite.addTest(unittest.defaultTestLoader.loadTestsFromName("TestSpreadsheet")) + suite.addTest(unittest.defaultTestLoader.loadTestsFromName("TestTechDrawApp")) # gui tests of modules if (FreeCAD.GuiUp == 1): suite.addTest(unittest.defaultTestLoader.loadTestsFromName("TestSketcherGui")) diff --git a/src/Mod/Test/TestGui.py b/src/Mod/Test/TestGui.py index e95ed4d62..e0bcdce3d 100644 --- a/src/Mod/Test/TestGui.py +++ b/src/Mod/Test/TestGui.py @@ -1,4 +1,4 @@ -# FreeCAD Part module +# FreeCAD Part module # (c) 2001 Juergen Riegel # # Part design module @@ -54,6 +54,7 @@ class TestCmd: QtUnitGui.addTest("TestSpreadsheet") QtUnitGui.addTest("TestDraft") QtUnitGui.addTest("TestArch") + QtUnitGui.addTest("TestTechDrawApp") QtUnitGui.addTest("Workbench") QtUnitGui.addTest("Menu") QtUnitGui.addTest("Menu.MenuDeleteCases") @@ -105,8 +106,8 @@ class TestAllTextCmd: unittest.TextTestRunner(stream=sys.stdout,verbosity=2).run(unittest.defaultTestLoader.loadTestsFromName("TestApp.All")) def GetResources(self): - return {'Pixmap' : 'Std_Tool1', - 'MenuText': 'Test all', + return {'Pixmap' : 'Std_Tool1', + 'MenuText': 'Test all', 'ToolTip' : 'Runs all tests at once (can take very long!)' } @@ -197,4 +198,3 @@ FreeCADGui.addCommand('Test_TestWork' ,TestWorkbenchCmd()) FreeCADGui.addCommand('Test_TestCreateMenu' ,TestCreateMenuCmd()) FreeCADGui.addCommand('Test_TestDeleteMenu' ,TestDeleteMenuCmd()) FreeCADGui.addCommand('Test_InsertFeature' ,TestInsertFeatureCmd()) -