コード例 #1
0
 def testLockSanity(self):
     """test lock sanity CompositeGF"""
     leafGFs = [
         Graphics.TextGF(1.0, 12.0, "text", "blue", 1, 0, self.canvas, 1.0,
                         None),
         Graphics.ConnectorGF(10.0, 20.0, "black", "blue", 1, 0,
                              self.canvas, 1.0, None),
         Graphics.PolygonGF([-2.0, 3.0, -66.0, 32.3], "black", "blue", 0, 1,
                            0, self.canvas, 1.0, None),
         Graphics.OvalGF(-12.0, 12.23, 65.8, -33.0, "black", "blue", 0, 1,
                         0, self.canvas, 1.0, None),
         Graphics.RectangleGF(1.0, 1.0, 12.0, 12.0, "black", "blue", 0, 1,
                              0, self.canvas, 1.0, None),
         Graphics.PolylineGF([2.0, 6.0, 4.8, 6.4], "black", 0, 1, 0,
                             self.canvas, 1.0, None)
     ]
     compositeGFs = [
         Graphics.CompositeGF([leafGFs[0], leafGFs[1]], 1, 0, 1.0, None),
         Graphics.CompositeGF([leafGFs[1], leafGFs[3]], 1, 0, 1.0, None),
         Graphics.CompositeGF([leafGFs[1], leafGFs[4]], 1, 0, 1.0, None),
         Graphics.CompositeGF([leafGFs[3], leafGFs[5]], 1, 0, 1.0, None)
     ]
     for gf in compositeGFs:
         gf.setLock(1)
         self.assertEqual(gf.getLock(), 1)
         gf.setLock(0)
         self.assertEqual(gf.getLock(), 0)
コード例 #2
0
 def testRotateCompositeGF(self):
     """test CompositeGF rotate"""
     leafGFs = [
         Graphics.PolygonGF([-2.0, 3.0, -66.0, 32.3, 2.3, 12], "black",
                            "blue", 0, 1, 0, self.canvas, 1.0, None),
         Graphics.OvalGF(-12.0, 12.23, 65.8, -33.0, "black", "blue", 0, 1,
                         0, self.canvas, 1.0, None),
         Graphics.RectangleGF(1.0, 1.0, 12.0, 12.0, "black", "blue", 0, 1,
                              0, self.canvas, 1.0, None),
         Graphics.PolylineGF([2.0, 6.0, 4.8, 6.4], "black", 0, 1, 0,
                             self.canvas, 1.0, None)
     ]
     compositeGF = Graphics.CompositeGF(leafGFs, 1, 0, 1.0, None)
     components = compositeGF.getComponents()
     oldCoordLists = []
     for c in components:
         oldCoordLists.append(c.xy[:])
     compositeGF.rotate(0, 0, 180)
     newCoordLists = []
     for c in components:
         newCoordLists.append(c.xy[:])
     listPairs = map(None, oldCoordLists, newCoordLists)
     for p in listPairs:
         coordPair = map(None, p[0], p[1])
         for c in coordPair:
             self.assertEqual(-c[0], c[1])
コード例 #3
0
 def testLock(self):
     """test lock sanity CompositeGF"""
     leafGFs = [
         Graphics.TextGF(1.0, 12.0, "text", "blue", 1, 0, self.canvas, 1.0,
                         None),
         Graphics.ConnectorGF(10.0, 20.0, "black", "blue", 1, 0,
                              self.canvas, 1.0, None),
         Graphics.PolygonGF([-2.0, 3.0, -66.0, 32.3], "black", "blue", 0, 1,
                            0, self.canvas, 1.0, None),
         Graphics.OvalGF(-12.0, 12.23, 65.8, -33.0, "black", "blue", 0, 1,
                         0, self.canvas, 1.0, None),
         Graphics.RectangleGF(1.0, 1.0, 12.0, 12.0, "black", "blue", 0, 1,
                              0, self.canvas, 1.0, None),
         Graphics.PolylineGF([2.0, 6.0, 4.8, 6.4], "black", 0, 1, 0,
                             self.canvas, 1.0, None)
     ]
     compositeGFs = [
         Graphics.CompositeGF([leafGFs[0], leafGFs[1]], 1, 0, 1.0, None),
         Graphics.CompositeGF([leafGFs[1], leafGFs[3]], 1, 0, 1.0, None),
         Graphics.CompositeGF([leafGFs[1], leafGFs[4]], 1, 0, 1.0, None),
         Graphics.CompositeGF([leafGFs[3], leafGFs[5]], 1, 0, 1.0, None)
     ]
     for gf in compositeGFs:
         components = gf.getComponents()
         oldCoordList = []
         for c in components:
             oldCoordList.append(c.xy[:])
         #lock
         gf.setLock(1)
         gf.translate(2, 2)
         newCoordList = []
         for c in components:
             newCoordList.append(c.xy[:])
         tuples = map(None, oldCoordList, newCoordList)
         for t in tuples:
             self.assertEqual(t[0], t[1])
         #now unlock
         gf.setLock(0)
         gf.translate(2, 2)
         newCoordList = []
         for c in components:
             newCoordList.append(c.xy[:])
         tuples = map(None, oldCoordList, newCoordList)
         for t in tuples:
             self.assertNotEqual(t[0], t[1])
コード例 #4
0
 def testCopyTypeCompositeGF(self):
     """test CompositeGF copy return type"""
     leafGFs = [
         Graphics.RectangleGF(1.0, 1.0, 12.0, 12.0, "black", "blue", 0, 1,
                              0, self.canvas, 1.0, None),
         Graphics.PolylineGF([2.0, 6.0, 4.8, 6.4], "black", 0, 1, 0,
                             self.canvas, 1.0, None)
     ]
     compositeGF = Graphics.CompositeGF(leafGFs, 1, 0, 1.0, None)
     self.failIf(not isinstance(compositeGF.copy(), Graphics.CompositeGF))
コード例 #5
0
 def testGetComponentsCompositeGF(self):
     """test CompositeGF getComponents"""
     leafGFs = [
         Graphics.RectangleGF(1.0, 1.0, 12.0, 12.0, "black", "blue", 0, 1,
                              0, self.canvas, 1.0, None),
         Graphics.PolylineGF([2.0, 6.0, 4.8, 6.4], "black", 0, 1, 0,
                             self.canvas, 1.0, None)
     ]
     compositeGF = Graphics.CompositeGF(leafGFs, 1, 0, 1.0, None)
     components = compositeGF.getComponents()
     self.failIf(not components[0] is leafGFs[0])
     self.failIf(not components[1] is leafGFs[1])
コード例 #6
0
 def testAcceptCompositeGF(self):
     """test accept visitor CompositeGF"""
     leafGFs = [
         Graphics.TextGF(1.0, 12.0, "text", "blue", 1, 0, self.canvas, 1.0,
                         None),
         Graphics.ConnectorGF(10.0, 20.0, "black", "blue", 1, 0,
                              self.canvas, 1.0, None)
     ]
     visitor = UselessVisitor()
     compositeGF = Graphics.CompositeGF([leafGFs[0], leafGFs[1]], 1, 0, 1.0,
                                        None)
     compositeGF.accept(visitor)
     self.assertEqual(visitor.visited, "CompositeGF")
     self.failIf(not (visitor.ref is compositeGF))
コード例 #7
0
 def testBoundingBoxCompositeGF(self):
     """test CompositeGF getApproxBoundingBox"""
     #Leaf GFs
     leafGFs = [
         Graphics.TextGF(1.0, 12.0, "text", "blue", 1, 0, self.canvas, 1.0,
                         None),
         Graphics.ConnectorGF(10.0, 20.0, "black", "blue", 1, 0,
                              self.canvas, 1.0, None)
     ]
     compositeGF = Graphics.CompositeGF(leafGFs, 1, 0, 1.0, None)
     box = compositeGF.getApproxBoundingBox()
     for gf in leafGFs:
         leafBox = gf.getApproxBoundingBox()
         self.failIf(box[0] > leafBox[0])
         self.failIf(box[2] < leafBox[2])
         self.failIf(box[1] > leafBox[1])
         self.failIf(box[3] < leafBox[3])
コード例 #8
0
 def testScaleCompositeGF(self):
     """test CompositeGF scale"""
     leafGFs = [
         Graphics.RectangleGF(1.0, 1.0, 12.0, 12.0, "black", "blue", 0, 1,
                              0, self.canvas, 1.0, None),
         Graphics.PolylineGF([2.0, 6.0, 4.8, 6.4], "black", 0, 1, 0,
                             self.canvas, 1.0, None)
     ]
     compositeGF = Graphics.CompositeGF(leafGFs, 1, 0, 1.0, None)
     components = compositeGF.getComponents()
     oldCoordLists = []
     for c in components:
         oldCoordLists.append(c.xy[:])
     compositeGF.scale(0, 0, 2, 2)
     newCoordLists = []
     for c in components:
         newCoordLists.append(c.xy[:])
     listPairs = map(None, oldCoordLists, newCoordLists)
     for p in listPairs:
         coordPair = map(None, p[0], p[1])
         for c in coordPair:
             self.assertEqual(2 * c[0], c[1])