Prism WPF:如何最小化 return IDialogResult.Result == Buttonresult.ok 的回调
Prism WPF: How to moq the callback to return IDialogResult.Result == Buttonresult.ok
我要最小起订量以下接口:
public interface IDialogService
{
void ShowDialog(string name, IDialogParameters parameters, Action<IDialogResult> callback);
}
我将它与以下代码一起使用:
protected bool AbortDeleteDialog()
{
bool abort= true;
DialogService.ShowDialog("Should xy be deleted?", [some parameters...],
r => abort = r.Result != ButtonResult.OK);
return abort;
}
出于测试目的,我想 r.Result 有时匹配 ButtonResult.OK 有时不匹配。最小起订量有什么办法吗?
您可以使用 callbacks:
var mock = new Mock<IDialogService>();
mock.Setup(x => x.ShowDialog(It.IsAny<string>(), It.IsAny<IDialogParameters>(), It.IsAny<Action<IDialogResult>>())
.Callback((string name, IDialogParameters parameters, Action<IDialogResult> callback) =>
callback(new DialogResult(ButtonResult.Ok)));
...
thing.AbortDeleteDialog();
我要最小起订量以下接口:
public interface IDialogService
{
void ShowDialog(string name, IDialogParameters parameters, Action<IDialogResult> callback);
}
我将它与以下代码一起使用:
protected bool AbortDeleteDialog()
{
bool abort= true;
DialogService.ShowDialog("Should xy be deleted?", [some parameters...],
r => abort = r.Result != ButtonResult.OK);
return abort;
}
出于测试目的,我想 r.Result 有时匹配 ButtonResult.OK 有时不匹配。最小起订量有什么办法吗?
您可以使用 callbacks:
var mock = new Mock<IDialogService>();
mock.Setup(x => x.ShowDialog(It.IsAny<string>(), It.IsAny<IDialogParameters>(), It.IsAny<Action<IDialogResult>>())
.Callback((string name, IDialogParameters parameters, Action<IDialogResult> callback) =>
callback(new DialogResult(ButtonResult.Ok)));
...
thing.AbortDeleteDialog();