私は最近 Model-View-Presenter を使用していますが、やり方を理解したような気がすると、よくわからない新しいことに出くわします。
私の現在のケースでは、PictureEdit
(基本的にPictureBox
は DevExpress の WinForms コントロールの一部として称賛されている)を使用しPictureEdit
ています。
マウス ホイールでスクロールすると、画像が上下にパンします。代わりに、これを特定の量だけズームインおよびズームアウトしたい。だから私は次のことを試しました:
public class AlteredPictureEdit : PictureEdit
{
protected override void OnMouseWheel(MouseEventArgs e)
{
if (e.Delta > 0)
this.Properties.ZoomPercent += 10;
else
this.Properties.ZoomPercent -= 10;
}
}
そのため、これにより の動作が、PictureEdit
パンではなくマウス スクロールでズームするように変更されます。しかし、私は単体テストを行う気があるので、そうしたいのですが、方法がわかりません。
動作的には、独自のプレゼンター (テスト対象のユニット) を設計し、依存関係が挿入されたビューをモックとしてフィードします。次に、モックを使用してイベントを発生させ、値が増加または減少したことMouseWheel
をアサートできます。ZoomPercent
を継承することPictureEdit
で、単体テストするプレゼンターやモックするビューがありません。OnMouseWheel
変更されたイベントをテストするために発生させることはできませんZoomPercent
。
上記のように、これを行う適切な方法を継承してPictureEdit
いますか? また、クラスに加えた変更を単体テストするにはどうすればよいですか?