Skip to content

Commit

Permalink
Add unit tests for TechDraw
Browse files Browse the repository at this point in the history
  • Loading branch information
WandererFan authored and wwmayer committed Jul 11, 2016
1 parent f613a91 commit eb00977
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 4 deletions.
1 change: 1 addition & 0 deletions src/Mod/TechDraw/App/CMakeLists.txt
Expand Up @@ -152,6 +152,7 @@ target_link_libraries(TechDraw ${TechDrawLIBS};${QT_QTXML_LIBRARY};${TechDraw})

SET(TechDrawScripts
Init.py
TestTechDrawApp.py
)

fc_target_copy_resource(TechDraw
Expand Down
1 change: 1 addition & 0 deletions src/Mod/TechDraw/CMakeLists.txt
Expand Up @@ -10,6 +10,7 @@ INSTALL(
FILES
Init.py
InitGui.py
TestTechDrawApp.py
DESTINATION
Mod/TechDraw
)
Expand Down
59 changes: 59 additions & 0 deletions src/Mod/TechDraw/TestTechDrawApp.py
@@ -0,0 +1,59 @@
# Copyright (c) 2015 WandererFan <wandererfan@gmail.com> *
# *
# 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")
1 change: 1 addition & 0 deletions src/Mod/Test/TestApp.py
Expand Up @@ -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"))
Expand Down
8 changes: 4 additions & 4 deletions src/Mod/Test/TestGui.py
@@ -1,4 +1,4 @@
# FreeCAD Part module
# FreeCAD Part module
# (c) 2001 Juergen Riegel
#
# Part design module
Expand Down Expand Up @@ -54,6 +54,7 @@ def Activated(self):
QtUnitGui.addTest("TestSpreadsheet")
QtUnitGui.addTest("TestDraft")
QtUnitGui.addTest("TestArch")
QtUnitGui.addTest("TestTechDrawApp")
QtUnitGui.addTest("Workbench")
QtUnitGui.addTest("Menu")
QtUnitGui.addTest("Menu.MenuDeleteCases")
Expand Down Expand Up @@ -105,8 +106,8 @@ def Activated(self):
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!)'
}

Expand Down Expand Up @@ -197,4 +198,3 @@ def GetResources(self):
FreeCADGui.addCommand('Test_TestCreateMenu' ,TestCreateMenuCmd())
FreeCADGui.addCommand('Test_TestDeleteMenu' ,TestDeleteMenuCmd())
FreeCADGui.addCommand('Test_InsertFeature' ,TestInsertFeatureCmd())

0 comments on commit eb00977

Please sign in to comment.