Ejemplo n.º 1
0
        public void IsCrossedTest()
        {
            SegmentRoot          root   = null;                               // TODO: 適切な値に初期化してください
            PathSegment_Accessor target = new PathSegment_Accessor("", root); // TODO: 適切な値に初期化してください

            Assert.AreEqual(target.IsCrossed(null), false);

            List <PointF> path = new List <PointF>();

            Assert.AreEqual(target.IsCrossed(path.ToArray()), false);

            path.Add(new PointF(0, 0));
            path.Add(new PointF(1, 0));
            path.Add(new PointF(1, 1));
            path.Add(new PointF(0, 1));
            path.Add(new PointF(0, 0));
            Assert.AreEqual(target.IsCrossed(path.ToArray()), true);

            path[path.Count - 1] = new PointF(0.1f, 0.1f);
            Assert.AreEqual(target.IsCrossed(path.ToArray()), false);

            path[path.Count - 1] = new PointF(0, -1);
            Assert.AreEqual(target.IsCrossed(path.ToArray()), true);

            path[path.Count - 1] = new PointF(1, -1);
            Assert.AreEqual(target.IsCrossed(path.ToArray()), true);
        }
Ejemplo n.º 2
0
        public void OnMouseDownTest()
        {
            SegmentRoot          root   = null;                               // TODO: 適切な値に初期化してください
            PathSegment_Accessor target = new PathSegment_Accessor("", root); // TODO: 適切な値に初期化してください

            for (int i = 0; i < 10; i++)
            {
                target.OnMouseDown(MouseButtons.Left, new PointF(0, 100 * i), new Matrix(), SegmentOperation.Segment);
                Assert.AreEqual(target.path.Count, i + 1);
            }
            target.OnMouseDown(MouseButtons.Right, new Point(1, 0), new Matrix(), SegmentOperation.Segment);
            Assert.AreEqual(target.path.Count, 10);
        }
Ejemplo n.º 3
0
        PathSegment_Accessor GetPathSegment_Accessor()
        {
            Matrix transform = new Matrix();

            transform.Translate(100, 100, MatrixOrder.Append);
            transform.Scale(0.5f, 0.5f, MatrixOrder.Append);

            // (50, 50), (150, 50), 150, 150), (50, 150) =>
            // (150, 150), (250, 150), (250, 250), (150, 250) =>
            // (75, 75), (125, 75), (125, 125), (75, 125)
            PathSegment_Accessor seg = new PathSegment_Accessor("", null);

            seg.OnMouseDown(System.Windows.Forms.MouseButtons.Left, new Point(75, 75), transform, SegmentOperation.Segment);
            seg.OnMouseDown(System.Windows.Forms.MouseButtons.Left, new Point(125, 75), transform, SegmentOperation.Segment);
            seg.OnMouseDown(System.Windows.Forms.MouseButtons.Left, new Point(125, 125), transform, SegmentOperation.Segment);
            seg.OnMouseDown(System.Windows.Forms.MouseButtons.Left, new Point(75, 125), transform, SegmentOperation.Segment);
            seg.OnMouseDown(System.Windows.Forms.MouseButtons.Left, new Point(75, 75), transform, SegmentOperation.Segment);
            return(seg);
        }
Ejemplo n.º 4
0
        public void AssignDeletePathPointTest()
        {
            SegmentRoot          root   = null;                               // TODO: 適切な値に初期化してください
            PathSegment_Accessor target = new PathSegment_Accessor("", root); // TODO: 適切な値に初期化してください

            target.AssignPathPoint(new PointF(0, 0), new Matrix());
            Assert.AreEqual(target.path.Count, 1);
            Assert.AreEqual(target.Closed, false);

            target.AssignPathPoint(new PointF(100, 0), new Matrix());
            Assert.AreEqual(target.path.Count, 2);
            Assert.AreEqual(target.Closed, false);

            target.AssignPathPoint(new PointF(100, 100), new Matrix());
            Assert.AreEqual(target.path.Count, 3);
            Assert.AreEqual(target.Closed, false);

            target.AssignPathPoint(new PointF(0, 0), new Matrix());
            Assert.AreEqual(target.path.Count, 4);
            Assert.AreEqual(target.Closed, true);

            target.DeletePathPoint(new PointF(0, 0), new Matrix());
            Assert.AreEqual(target.path.Count, 3);
            Assert.AreEqual(target.Closed, false);

            target.AssignPathPoint(new PointF(1, 1), new Matrix());
            Assert.AreEqual(target.path.Count, 4);
            Assert.AreEqual(target.Closed, true);

            var transform = new Matrix();

            target.DeletePathPoint(new PointF(0, 0), transform);
            Assert.AreEqual(target.path.Count, 3);
            Assert.AreEqual(target.Closed, false);

            transform.Scale(10, 10);
            target.AssignPathPoint(new PointF(1f, 1f), transform);
            Assert.AreEqual(target.path.Count, 4);
            Assert.AreEqual(target.Closed, false);
        }