Example #1
0
        public void TestRectangleWithLongsIntersection()
        {
            Size testSize = new Size(100, 100);

            Assert.AreEqual(new Rectangle(0, 0, 100, 100),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(0, 0, 100, 100)));
            Assert.AreEqual(new Rectangle(0, 0, 100, 100),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(0, 0, 200, 200)));
            Assert.AreEqual(new Rectangle(0, 0, 100, 100),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(0, 0, 200, 100)));
            Assert.AreEqual(new Rectangle(0, 0, 100, 100),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(0, 0, 100, 200)));
            Assert.AreEqual(new Rectangle(0, 0, 30, 40),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(0, 0, 30, 40)));
            Assert.AreEqual(new Rectangle(30, 40, 10, 10),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(30, 40, 10, 10)));

            Assert.AreEqual(new Rectangle(0, 0, 30, 40),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(-5, 0, 35, 40)));
            Assert.AreEqual(new Rectangle(0, 0, 30, 40),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(0, -5, 30, 45)));
            Assert.AreEqual(new Rectangle(0, 0, 100, 20),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(-5, -30, 200, 50)));

            Assert.AreEqual(new Rectangle(30, 0, 20, 80),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(50, 80, -20, -150)));
            Assert.AreEqual(new Rectangle(0, 0, 100, 100),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(100, 100, -100, -100)));

            Assert.AreEqual(new Rectangle(0, 0, 0, 0),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(0, 0, 0, 0)));
            Assert.AreEqual(new Rectangle(0, 0, 0, 0),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(0, 0, 0, 100)));
            Assert.AreEqual(new Rectangle(0, 0, 0, 0),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(0, 0, 100, 0)));
            Assert.AreEqual(new Rectangle(0, 0, 0, 0),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(0, 0, 0, -100)));
            Assert.AreEqual(new Rectangle(0, 0, 0, 0),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(0, 0, -100, 0)));
            Assert.AreEqual(new Rectangle(0, 0, 0, 0),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(100, 100, 0, 0)));
            Assert.AreEqual(new Rectangle(0, 0, 0, 0),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(100, 100, 100, 100)));
            Assert.AreEqual(new Rectangle(0, 0, 0, 0),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(-5, -30, 4, 29)));
            Assert.AreEqual(new Rectangle(0, 0, 0, 0),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(-5, -30, 5, 30)));
            Assert.AreEqual(new Rectangle(0, 0, 0, 0),
                            RectangleWithLongs.Intersect(testSize, new RectangleWithLongs(-5, -30, -100, -100)));
        }