MCPcopy Index your code
hub / github.com/OmkarPathak/pygorithm / _find_intr_fuzzer

Method _find_intr_fuzzer

tests/test_geometry.py:343–375  ·  view source on GitHub ↗
(self, v1, v2, v3, v4, exp_touching, exp_overlap, exp_intr, number_fuzzes = 3)

Source from the content-addressed store, hash-verified

341 self.assertTrue(line2.Line2.are_parallel(self.line_1_1_3_4, _line))
342
343 def _find_intr_fuzzer(self, v1, v2, v3, v4, exp_touching, exp_overlap, exp_intr, number_fuzzes = 3):
344 for i in range(number_fuzzes):
345 offset1 = vector2.Vector2(random.uniform(-1000, 1000), random.uniform(-1000, 1000))
346 offset2 = vector2.Vector2(random.uniform(-1000, 1000), random.uniform(-1000, 1000))
347
348 _line1 = line2.Line2(v1 - offset1, v2 - offset1)
349 _line2 = line2.Line2(v3 - offset2, v4 - offset2)
350
351 help_msg = 'v1={}, v2={}, offset1={}\n_line1={}\nv3={}, v4={}, offset2={}\n_line2={}'.format(repr(v1), \
352 repr(v2), repr(offset1), repr(_line1), repr(v3), repr(v4), repr(offset2), repr(_line2))
353
354 touching, overlap, intr = line2.Line2.find_intersection(_line1, _line2, offset1, offset2)
355 self.assertEqual(exp_touching, touching, help_msg)
356 self.assertEqual(exp_overlap, overlap, help_msg)
357
358 if exp_intr is None:
359 self.assertIsNone(intr, help_msg)
360 else:
361 self.assertIsNotNone(intr, help_msg)
362
363 if isinstance(exp_intr, vector2.Vector2):
364 self.assertIsInstance(intr, vector2.Vector2, help_msg)
365
366 self.assertAlmostEqual(exp_intr.x, intr.x)
367 self.assertAlmostEqual(exp_intr.y, intr.y)
368 else:
369 self.assertIsInstance(exp_intr, line2.Line2, help_msg)
370 self.assertIsInstance(intr, line2.Line2, help_msg)
371
372 self.assertAlmostEqual(exp_intr.start.x, intr.start.x)
373 self.assertAlmostEqual(exp_intr.start.y, intr.start.y)
374 self.assertAlmostEqual(exp_intr.end.x, intr.end.x)
375 self.assertAlmostEqual(exp_intr.end.y, intr.end.y)
376
377
378 def test_find_intersection_non_parallel_no_intersection(self):

Calls 1

find_intersectionMethod · 0.45

Tested by

no test coverage detected