C# MockDispatcher与FlowDocument一起使用时算术运算中的溢出或下溢 我正在测试单元测试中的函数SaveToFile
不幸的是,我得到了与dispated相关的错误。因此,我隔离了我的C# MockDispatcher与FlowDocument一起使用时算术运算中的溢出或下溢 我正在测试单元测试中的函数SaveToFile,c#,wpf,C#,Wpf,不幸的是,我得到了与dispated相关的错误。因此,我隔离了我的Dispatcher,并准备了在单元测试中注入的MockDispatcher 这是我注入的模拟调度程序: public class MockDispatcher : IDispatcher { public void BeginInvoke(Action method, params object[] args) { method.DynamicInvoke(args); } p
Dispatcher
,并准备了在单元测试中注入的MockDispatcher
public class MockDispatcher : IDispatcher
{
public void BeginInvoke(Action method, params object[] args)
{
method.DynamicInvoke(args);
}
public void Invoke(Action method, params object[] args)
{
method.Invoke();
}
}
public bool SaveToFile(string filePath)
{
bool result = false;
Dispatcher.BeginInvoke(() =>
{
var document = GetFlowDocument(new List<Log>(Logs));
result = _fileService.SaveTextRangeToRtf(new TextRange(document.ContentStart, document.ContentEnd), filePath);
});
return result;
}
private FlowDocument GetFlowDocument(IEnumerable<Log> Logs)
{
var document = new FlowDocument();
var paragraph = new Paragraph();
foreach (var item in Logs)
{
paragraph.Inlines.AddRange(_converter.ConvertToInlines(item));
}
document.Blocks.Add(paragraph);
return document;
}
public bool SaveToFile(字符串文件路径)
{
布尔结果=假;
Dispatcher.BeginInvoke(()=>
{
var文件=GetFlowDocument(新列表(日志));
结果=_fileService.SaveTextRangeToRtf(新的TextRange(document.ContentStart,document.ContentEnd),filePath);
});
返回结果;
}
私有FlowDocument GetFlowDocument(IEnumerable日志)
{
var document=新流程文档();
var段落=新段落();
foreach(日志中的var项)
{
段落.Inlines.AddRange(_converter.converttoinline(项));
}
文件。块。添加(段落);
归还文件;
}
算术运算中的溢出或下溢。