Exemplo n.º 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);
        }
Exemplo n.º 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);
        }
Exemplo n.º 3
0
        public void TestRedoNoProcessBeforeAtLeastOneOperation()
        {
            AuxiliaryController ac = Common.GetAuxiliaryControllerImage001RatioTypeW16H9();
            int beforeRight        = ac.AuxiliaryRight;
            int beforeBottom       = ac.AuxiliaryBottom;

            ac.RedoEvent();

            Assert.AreEqual(beforeRight, ac.AuxiliaryRight);
            Assert.AreEqual(beforeBottom, ac.AuxiliaryBottom);
            Assert.AreEqual(0, ac.AuxiliaryTop);
            Assert.AreEqual(0, ac.AuxiliaryLeft);
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
0
        public void TestRedoNoProcessBeforeAtLeastOneOperationCanceled()
        {
            AuxiliaryController ac = Common.GetAuxiliaryControllerImage001RatioTypeW16H9();
            int beforeRight        = ac.AuxiliaryRight;
            int beforeBottom       = ac.AuxiliaryBottom;
            int beforeTop          = ac.AuxiliaryTop;
            int beforeLeft         = ac.AuxiliaryLeft;

            // CancelせずにRedoを実行する
            ac.SetEvent();
            ac.PublishEvent(Keys.EnableKeys.Left);
            ac.RedoEvent();

            Assert.AreEqual(beforeRight, ac.AuxiliaryRight);
            Assert.AreEqual(beforeBottom, ac.AuxiliaryBottom);
            Assert.AreEqual(beforeTop, ac.AuxiliaryTop);
            Assert.AreEqual(beforeLeft, ac.AuxiliaryLeft);
        }
Exemplo n.º 6
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);
        }