Exemple #1
0
 public void TestInvalidShapesIntersects()
 {
     try
     {
         Line line1 = new Line(new Vector2(0, 0), new Vector2(0, 0));
         Line line2 = new Line(new Vector2(0, 0), new Vector2(100, 100));
         var  res   = line1 & line2;
         Assert.Fail();
     }
     catch (InvalidShapeException) { }
     try
     {
         Circle circle = new Circle(new Vector2(42, 42), new Vector2(42, 42));
         Line   line   = new Line(new Vector2(0, 0), new Vector2(100, 100));
         var    res    = circle & line;
         Assert.Fail();
     }
     catch (InvalidShapeException) { }
     try
     {
         Line line1 = new Line(new Vector2(0, 0), new Vector2(10, 10));
         Line line2 = new Line(new Vector2(0, 0), new Vector2(100, 100));
         var  res   = line1 & line2;
         Assert.Fail();
     }
     catch (SameShapeException) { }
     try
     {
         Line line1 = new Line(new Vector2(3, 7), new Vector2(7, 1));
         Line line2 = new Line(new Vector2(4, 5.5), new Vector2(6, 2.5));
         var  res   = line1 & line2;
         Assert.Fail();
     }
     catch (SameShapeException) { }
 }
Exemple #2
0
 public void TestLinelikeIntersects()
 {
     {
         Line line1 = new Line(new Vector2(-10, -10), new Vector2(10, 10));
         Line line2 = new Line(new Vector2(10, -10), new Vector2(-10, 10));
         CollectionAssert.AreEqual(line1 & line2,
                                   new[] { new Vector2(0, 0) });
     }
     {
         Line line1 = new Line(new Vector2(-10, -10), new Vector2(10, 10));
         Line line2 = new Line(new Vector2(10, 10), new Vector2(20, 10));
         CollectionAssert.AreEqual(line1 & line2,
                                   new[] { new Vector2(10, 10) });
     }
     {
         Segment seg1 = new Segment(new Vector2(0, 0), new Vector2(3, -0.5));
         Segment seg2 = new Segment(new Vector2(4, 1), new Vector2(1, -3));
         CollectionAssert.AreEqual(seg1 & seg2,
                                   new[] { new Vector2(2.89, -0.48) }, pointComparer);
     }
 }