Beispiel #1
0
        public void TestUndoAndRedo()
        {
            AuxiliaryController           ac   = Common.GetAuxiliaryControllerImage001RatioTypeW16H9();
            List <AuxiliaryLineParameter> list = new List <AuxiliaryLineParameter>();

            list.Add(ac.CloneParameter());

            ac.SetEvent();
            ac.PublishEvent(Keys.EnableKeys.Down);
            list.Add(ac.CloneParameter());

            ChangeAuxiliaryLineSizeWhereTopRight(ac, -100, -5, true);
            list.Add(ac.CloneParameter());

            ChangeAuxiliaryLineSizeWhereTopRight(ac, -5, -100, false);
            list.Add(ac.CloneParameter());

            ac.CancelEvent();
            AreParameterEqual(list[2], ac);

            ac.CancelEvent();
            AreParameterEqual(list[1], ac);

            ac.RedoEvent();
            AreParameterEqual(list[2], ac);

            ChangeAuxiliaryLineSizeWhereTopRight(ac, 50, 5, true);
            list.Add(ac.CloneParameter());

            ac.CancelEvent();
            AreParameterEqual(list[2], ac);

            ac.RedoEvent();
            AreParameterEqual(list[4], ac);
        }
Beispiel #2
0
        public void TestRedoSizeChangeOperationWhereTopRight()
        {
            AuxiliaryController           ac   = Common.GetAuxiliaryControllerImage001RatioTypeW16H9();
            List <AuxiliaryLineParameter> list = new List <AuxiliaryLineParameter>();

            list.Add(ac.CloneParameter());

            // Width基準でHeightを変更するよう、Width >> height となる値を設定
            ChangeAuxiliaryLineSizeWhereTopRight(ac, -100, -5, true);
            list.Add(ac.CloneParameter());

            // Height基準でWidthを変更するよう、Height >> Width となる値を設定
            ChangeAuxiliaryLineSizeWhereTopRight(ac, -5, -100, false);
            list.Add(ac.CloneParameter());

            ac.CancelEvent();
            AreParameterEqual(list[1], ac);

            ac.CancelEvent();
            AreParameterEqual(list[0], ac);

            ac.RedoEvent();
            AreParameterEqual(list[1], ac);

            ac.RedoEvent();
            AreParameterEqual(list[2], ac);
        }
Beispiel #3
0
        public void TestUndoInputCursorKeyLeft()
        {
            AuxiliaryController ac = Common.GetAuxiliaryControllerImage001RatioTypeW16H9();

            ac.SetEvent();
            ac.PublishEvent(Keys.EnableKeys.Left);
            Assert.AreEqual(0, ac.AuxiliaryTop);
            Assert.AreEqual(0, ac.AuxiliaryLeft);

            ac.CancelEvent();
            Assert.AreEqual(0, ac.AuxiliaryTop);
            Assert.AreEqual(0, ac.AuxiliaryLeft);
        }
Beispiel #4
0
        public void TestUndoNoProcessBeforeAtLeastOneOperation()
        {
            AuxiliaryController ac = Common.GetAuxiliaryControllerImage001RatioTypeW16H9();
            int beforeWidth        = ac.AuxiliaryRight;
            int beforeHeight       = ac.AuxiliaryBottom;

            ac.CancelEvent();

            Assert.AreEqual(beforeWidth, ac.AuxiliaryRight);
            Assert.AreEqual(beforeHeight, ac.AuxiliaryBottom);
            Assert.AreEqual(0, ac.AuxiliaryTop);
            Assert.AreEqual(0, ac.AuxiliaryLeft);
        }
Beispiel #5
0
        public void TestRedoInputCursorKeyDown()
        {
            AuxiliaryController           ac   = Common.GetAuxiliaryControllerImage001RatioTypeW16H9();
            List <AuxiliaryLineParameter> list = new List <AuxiliaryLineParameter>();

            list.Add(ac.CloneParameter());

            ac.SetEvent();
            ac.PublishEvent(Keys.EnableKeys.Down);
            list.Add(ac.CloneParameter());

            ac.CancelEvent();
            AreParameterEqual(list[0], ac);

            ac.RedoEvent();
            AreParameterEqual(list[1], ac);
        }
Beispiel #6
0
        public void TestUndoInputCursorKeyRight()
        {
            AuxiliaryController ac = Common.GetAuxiliaryControllerImage001RatioTypeW16H9();

            // 矩形を小さくして、右キーで矩形を移動できるだけのスペースを作る
            AuxiliaryLineTestData testData
                = new AuxiliaryLineChangeSizeBottomRight(ac).ChangeSize(-100, -5, true);

            ac.SetEvent();
            ac.PublishEvent(Keys.EnableKeys.Right);
            Assert.AreEqual(0, ac.AuxiliaryTop);
            Assert.AreEqual(1, ac.AuxiliaryLeft);

            ac.CancelEvent();
            Assert.AreEqual(0, ac.AuxiliaryTop);
            Assert.AreEqual(0, ac.AuxiliaryLeft);
        }
Beispiel #7
0
        public void TestNoRedoIfNewOperationAfterUndo()
        {
            // 操作 → Undo → 別操作 → Redoしないことを確認する
            AuxiliaryController           ac   = Common.GetAuxiliaryControllerImage001RatioTypeW16H9();
            List <AuxiliaryLineParameter> list = new List <AuxiliaryLineParameter>();

            list.Add(ac.CloneParameter());

            ac.SetEvent();
            ac.PublishEvent(Keys.EnableKeys.Down);
            list.Add(ac.CloneParameter());

            ac.CancelEvent();
            AreParameterEqual(list[0], ac);

            // 適当に別操作
            ChangeAuxiliaryLineSizeWhereTopRight(ac, -100, -5, true);
            list[1] = ac.CloneParameter();

            ac.RedoEvent();
            AreParameterEqual(list[1], ac);
        }