Hello society,
Bad news to begin with - sorry.
Something like this will deadlock (pseudo language):
class ListProcessor : IValueProcessor<List<TIn>, List<TOut>>
{
IValueProcessor<TIn, TOut> _itemProcessor;
ILog _unsuccesfulEnd;
public List<TOut> Process(List<TIn> input)
{
return input.AsParallel().Select(TryExecute)
}
<enumerable of TOut> TryExecute<TIn>(input)
{
try
{
return new[]{_itemProcessor.Process(input)}
}
catch{return new[]}
}
}
class Test:
expected:
itemProcessor.Expect(Process(1)).Return("1")
itemProcessor.Expect(Process(2)).Throw(ex)
_unsuccesfulEnd.Error(ex)
itemProcessor.Expect(Process(3)).Throw()
_unsuccesfulEnd.Error(ex)
itemProcessor.Expect(Process(4)).Return("4")
repository.Reply()
var result = [1,2,3,4].Select(sut.Process)
expected: ["1", "4"]
Actual result is the infinitely hanging test.
Will give it another try try to debug tomorrow, but it doesn't look like a
simple one.
Any help appreciated.
Regards,
Igor
--
You received this message because you are subscribed to the Google Groups
"Rhino.Mocks" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/rhinomocks.
For more options, visit https://groups.google.com/d/optout.