Example #1
0
 def testConstruct(self):
     segment = QgsLineSegment2D(QgsPointXY(1, 2), QgsPointXY(3, 4))
     self.assertEqual(segment.start(), QgsPointXY(1, 2))
     self.assertEqual(segment.end(), QgsPointXY(3, 4))
     segment = QgsLineSegment2D(1, 2, 3, 4)
     self.assertEqual(segment.start(), QgsPointXY(1, 2))
     self.assertEqual(segment.end(), QgsPointXY(3, 4))
 def testPointLeftOfLine(self):
     segment = QgsLineSegment2D(QgsPointXY(1, 2), QgsPointXY(3, 5))
     self.assertEqual(segment.pointLeftOfLine(QgsPointXY(1.5, 6)), -1)
     self.assertEqual(segment.pointLeftOfLine(QgsPointXY(1.5, -6)), 1)
     self.assertEqual(segment.pointLeftOfLine(QgsPointXY(5, 8)), 0)
     segment = QgsLineSegment2D(QgsPointXY(3, 5), QgsPointXY(1, 2))
     self.assertEqual(segment.pointLeftOfLine(QgsPointXY(1.5, 6)), 1)
     self.assertEqual(segment.pointLeftOfLine(QgsPointXY(1.5, -6)), -1)
     self.assertEqual(segment.pointLeftOfLine(QgsPointXY(5, 8)), 0)
 def testGettersSetters(self):
     segment = QgsLineSegment2D(QgsPointXY(1, 2), QgsPointXY(3, 4))
     self.assertEqual(segment.start(), QgsPointXY(1, 2))
     self.assertEqual(segment.end(), QgsPointXY(3, 4))
     self.assertEqual(segment.startX(), 1)
     self.assertEqual(segment.startY(), 2)
     self.assertEqual(segment.endX(), 3)
     self.assertEqual(segment.endY(), 4)
     segment.setStartX(5)
     self.assertEqual(segment.start(), QgsPointXY(5, 2))
     self.assertEqual(segment.end(), QgsPointXY(3, 4))
     self.assertEqual(segment.startX(), 5)
     self.assertEqual(segment.startY(), 2)
     self.assertEqual(segment.endX(), 3)
     self.assertEqual(segment.endY(), 4)
     segment.setStartY(6)
     self.assertEqual(segment.start(), QgsPointXY(5, 6))
     self.assertEqual(segment.end(), QgsPointXY(3, 4))
     self.assertEqual(segment.startX(), 5)
     self.assertEqual(segment.startY(), 6)
     self.assertEqual(segment.endX(), 3)
     self.assertEqual(segment.endY(), 4)
     segment.setEndX(7)
     self.assertEqual(segment.start(), QgsPointXY(5, 6))
     self.assertEqual(segment.end(), QgsPointXY(7, 4))
     self.assertEqual(segment.startX(), 5)
     self.assertEqual(segment.startY(), 6)
     self.assertEqual(segment.endX(), 7)
     self.assertEqual(segment.endY(), 4)
     segment.setEndY(8)
     self.assertEqual(segment.start(), QgsPointXY(5, 6))
     self.assertEqual(segment.end(), QgsPointXY(7, 8))
     self.assertEqual(segment.startX(), 5)
     self.assertEqual(segment.startY(), 6)
     self.assertEqual(segment.endX(), 7)
     self.assertEqual(segment.endY(), 8)
     segment.setStart(QgsPointXY(1, 2))
     self.assertEqual(segment.start(), QgsPointXY(1, 2))
     self.assertEqual(segment.end(), QgsPointXY(7, 8))
     self.assertEqual(segment.startX(), 1)
     self.assertEqual(segment.startY(), 2)
     self.assertEqual(segment.endX(), 7)
     self.assertEqual(segment.endY(), 8)
     segment.setEnd(QgsPointXY(3, 4))
     self.assertEqual(segment.start(), QgsPointXY(1, 2))
     self.assertEqual(segment.end(), QgsPointXY(3, 4))
     self.assertEqual(segment.startX(), 1)
     self.assertEqual(segment.startY(), 2)
     self.assertEqual(segment.endX(), 3)
     self.assertEqual(segment.endY(), 4)
 def testEquality(self):
     segment1 = QgsLineSegment2D(QgsPointXY(1, 2), QgsPointXY(3, 4))
     segment2 = QgsLineSegment2D(QgsPointXY(1, 2), QgsPointXY(3, 4))
     self.assertEqual(segment1, segment2)
     self.assertFalse(segment1 != segment2)
     segment2 = QgsLineSegment2D(QgsPointXY(1, 2), QgsPointXY(3, 5))
     self.assertNotEqual(segment1, segment2)
     self.assertTrue(segment1 != segment2)
     segment2 = QgsLineSegment2D(QgsPointXY(1, 2), QgsPointXY(5, 4))
     self.assertNotEqual(segment1, segment2)
     self.assertTrue(segment1 != segment2)
     segment2 = QgsLineSegment2D(QgsPointXY(1, 5), QgsPointXY(3, 4))
     self.assertNotEqual(segment1, segment2)
     self.assertTrue(segment1 != segment2)
     segment2 = QgsLineSegment2D(QgsPointXY(5, 2), QgsPointXY(3, 4))
     self.assertNotEqual(segment1, segment2)
     self.assertTrue(segment1 != segment2)
 def testReverse(self):
     segment = QgsLineSegment2D(QgsPointXY(1, 2), QgsPointXY(3, 4))
     segment.reverse()
     self.assertEqual(segment.start(), QgsPointXY(3, 4))
     self.assertEqual(segment.end(), QgsPointXY(1, 2))
 def testLength(self):
     segment = QgsLineSegment2D(QgsPointXY(1, 2), QgsPointXY(3, 5))
     self.assertAlmostEqual(segment.length(), 3.60555127546, 5)
     self.assertEqual(segment.lengthSquared(), 13)