def test_rotate(self): """Paths can be rotated""" ret = Path( "M 0.24999949,0.24999949 H 12.979167 V 12.979167 H 0.24999949 Z") ret = ret.rotate(35, (0, 0)) self._assertPath( ret, "M 0.0613938 0.348181 L 10.4885 7.64933 L 3.18737 18.0765 L -7.23976 10.7753 Z" ) ret = Path( "M 0.24999949,0.24999949 H 12.979167 V 12.979167 H 0.24999949 Z") ret = ret.rotate(-35, (0, 0)) self._assertPath( ret, "M 0.348181 0.0613938 L 10.7753 -7.23976 L 18.0765 3.18737 L 7.64933 10.4885 Z" ) ret = Path( "M 0.24999949,0.24999949 H 12.979167 V 12.979167 H 0.24999949 Z") ret = ret.rotate(90, (10, -10)) self._assertPath( ret, "M -0.249999 -19.75 L -0.249999 -7.02083 L -12.9792 -7.02083 L -12.9792 -19.75 Z" ) ret = Path( "M 0.24999949,0.24999949 H 12.979167 V 12.979167 H 0.24999949 Z") ret = ret.rotate(90) self._assertPath( ret, "M 12.9792 0.249999 L 12.9792 12.9792 L 0.249999 12.9792 L 0.249999 0.249999 Z" )
def test_inline_transformations(self): path = Path() self.assertTrue(path is not path.translate(10, 20)) self.assertTrue(path is not path.transform(Transform(scale=10))) self.assertTrue(path is not path.rotate(10)) self.assertTrue(path is not path.scale(10, 20)) self.assertTrue(path is path.translate(10, 20, inplace=True)) self.assertTrue( path is path.transform(Transform(scale=10), inplace=True)) self.assertTrue(path is path.rotate(10, inplace=True)) self.assertTrue(path is path.scale(10, 20, inplace=True))