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)
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])
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])
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))
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])
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))
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])
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])