** Changed in: nunit-3.0
Milestone: None => 2.9.6
--
You received this bug notification because you are a member of NUnit
Core Developers, which is the registrant for NUnit Framework.
https://bugs.launchpad.net/bugs/890129
Title:
DelayedConstraint doesn't appear to poll properties of objects
Status in NUnit Test Framework:
Triaged
Status in NUnit V2 Test Framework:
Fix Committed
Bug description:
Using 2.5.10.11092.
I've just been exploring the new (to me) fluent/constraints syntax,
specifically the After() constraint and am very impressed.
I've already learnt not to pass by value (!), however, I thought that a
pass-by-reference should be ok.
For example:
var worker = new BackgroundWorker();
var list = new List<int>();
worker.RunWorkerCompleted += delegate { list.Add(1); };
worker.DoWork += delegate { Thread.Sleep(1); };
worker.RunWorkerAsync();
Assert.That(list, Has.Count.EqualTo(1).After(5000, 100));
The documentation states that its "intended use is with delegates and
references", so I'd expect the 'list' object reference to be polled, and after
about 1 second, for the constraint to pass.
However, I have to wait for the full 5 seconds before the test succeeds.
The obvious work around is to convert the 'list' object to a delegate:
Assert.That(() => list, Has.Count.EqualTo(1).After(5000, 100));
This works fine, and still look ok (to me).
However, I wondered if this is deliberate or unavoidable behaviour or
just a bug...
To manage notifications about this bug go to:
https://bugs.launchpad.net/nunit-3.0/+bug/890129/+subscriptions
_______________________________________________
Mailing list: https://launchpad.net/~nunit-core
Post to : [email protected]
Unsubscribe : https://launchpad.net/~nunit-core
More help : https://help.launchpad.net/ListHelp