Esempio n. 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) { }
 }
Esempio n. 2
0
 public void TestCirclentersects()
 {
     {
         Circle cir1 = new Circle(new Vector2(0, 0), new Vector2(2.5, 0));
         Circle cir2 = new Circle(new Vector2(3.5, 0), new Vector2(1, 0));
         // CollectionAssert.AreEquivalent 를 써야 할텐데 comparer을 못써서 일단은 ㅇㅅㅇ;;
         CollectionAssert.AreEqual(cir1 & cir2,
                                   new[] { new Vector2(1.75, 1.79), new Vector2(1.75, -1.79) }, pointComparer);
     }
     {
         Circle cir1 = new Circle(new Vector2(1, 2), new Vector2(3, 4));
         Circle cir2 = new Circle(new Vector2(3.5, 1.5), new Vector2(4.5, 2.5));
         CollectionAssert.AreEqual(cir1 & cir2,
                                   new[] { new Vector2(3.68, 2.9), new Vector2(3.13, 0.14) }, pointComparer);
     }
     {
         Circle cir1 = new Circle(new Vector2(0, 0), new Vector2(2, 1.5));
         Circle cir2 = new Circle(new Vector2(0, 1.5), new Vector2(0, 2.5));
         CollectionAssert.AreEqual(cir1 & cir2,
                                   new[] { new Vector2(0, 2.5) }, pointComparer);
     }
     {
         Circle cir1 = new Circle(new Vector2(2, 4), new Vector2(4, 2));
         Circle cir2 = new Circle(new Vector2(3, 2.5), new Vector2(4, 2.5));
         CollectionAssert.AreEqual(cir1 & cir2,
                                   new Vector2[] { }, pointComparer);
     }
     {
         Circle cir1 = new Circle(new Vector2(2, 4), new Vector2(4, 2));
         Circle cir2 = new Circle(new Vector2(6, 4), new Vector2(6.5, 4));
         CollectionAssert.AreEqual(cir1 & cir2,
                                   new Vector2[] { }, pointComparer);
     }
     {
         Circle cir1 = new Circle(new Vector2(2, 4), new Vector2(4, 2));
         Circle cir2 = new Circle(new Vector2(3, 2.5), new Vector2(3.5, 3.5));
         CollectionAssert.AreEqual(cir1 & cir2,
                                   new [] { new Vector2(4, 2), new Vector2(3.08, 1.38) }, pointComparer);
     }
 }