コード例 #1
0
        public void Ctor(double roiX, double roiY, double roiWidth, double roiHeight, double borderWidth, double borderHeight)
        {
            var point  = new RoixPoint(roiX, roiY);
            var size   = new RoixSize(roiWidth, roiHeight);
            var rect   = new RoixRect(point, size);
            var border = new RoixSize(borderWidth, borderHeight);

            var br1 = new RoixBorderRect(rect, border);

            br1.Roi.Is(rect);
            br1.Border.Is(border);
            new RoixBorderRect(rect, RoixSize.Zero);     //OK
            Assert.Throws <ArgumentException>(() => new RoixBorderRect(rect, RoixSize.Empty));

            var gpoint1 = new RoixBorderPoint(point, border);
            var gsize   = new RoixBorderSize(size, border);
            var br2     = new RoixBorderRect(gpoint1, gsize);

            br2.Roi.Is(rect);
            br2.Border.Is(border);
            Assert.Throws <ArgumentException>(() => new RoixBorderRect(gpoint1, RoixBorderSize.Zero));

            var gpoint2 = new RoixBorderPoint(point + (RoixVector)size, border);
            var br3     = new RoixBorderRect(gpoint1, gpoint2);

            br3.Roi.Is(rect);
            br3.Border.Is(border);
            Assert.Throws <ArgumentException>(() => new RoixBorderRect(gpoint1, RoixBorderPoint.Zero));

            var gvector = new RoixBorderVector((RoixVector)size, border);
            var br4     = new RoixBorderRect(gpoint1, gvector);

            br4.Roi.Is(rect);
            br4.Border.Is(border);
        }
コード例 #2
0
        public void IsInside(double width1, double height1, double width2, double height2, bool isInside)
        {
            var size1 = new RoixSize(width1, height1);
            var size2 = new RoixSize(width2, height2);
            var bs1   = new RoixBorderSize(size1, size2);

            bs1.IsInsideBorder.Is(isInside);
            bs1.IsOutsideBorder.Is(!isInside);
        }
コード例 #3
0
        public void Deconstruct()
        {
            var size1 = new RoixSize(1, 2);
            var size2 = new RoixSize(11, 22);
            var bs1   = new RoixBorderSize(size1, size2);

            var(size, border) = bs1;
            size.Is(size1);
            border.Is(size2);
        }
コード例 #4
0
        public void Ctor(double width1, double height1, double width2, double height2)
        {
            var size1 = new RoixSize(width1, height1);
            var size2 = new RoixSize(width2, height2);
            var bs1   = new RoixBorderSize(size1, size2);

            bs1.Size.Width.Is(width1);
            bs1.Size.Height.Is(height1);
            bs1.Border.Width.Is(width2);
            bs1.Border.Height.Is(height2);

            new RoixBorderSize(size1, RoixSize.Zero);     //OK
        }
コード例 #5
0
        public void ConvertToNewBorder(double ratio)
        {
            var size   = new RoixSize(10, 20);
            var border = new RoixSize(100, 100);
            var bs1    = new RoixBorderSize(size, border);

            var newBorder = new RoixSize(border.Width * ratio, border.Height * ratio);
            var bs2       = bs1.ConvertToNewBorder(newBorder);

            bs2.Size.Is(new RoixSize(size.Width * ratio, size.Height * ratio));

            Assert.Throws <ArgumentException>(() => bs1.ConvertToNewBorder(RoixSize.Empty));
            Assert.Throws <ArgumentException>(() => bs1.ConvertToNewBorder(new RoixSize(0, 0)));
        }
コード例 #6
0
        public void Equal()
        {
            var size1 = new RoixSize(1, 2);
            var size2 = new RoixSize(11, 22);
            var bs1   = new RoixBorderSize(size1, size2);
            var bs2   = new RoixBorderSize(size1, size2);

            bs1.Equals(bs2).IsTrue();
            (bs1 == bs2).IsTrue();
            (bs1 != bs2).IsFalse();

            var obj2 = (object)bs2;

            bs1.Equals(obj2).IsTrue();
        }