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); }
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); }
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); }
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); }
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); }
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); }
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); }