title: How can I display more info in an error message when using NUnit Assert in a loop?
body: <p>Consider the following code:</p>
  
  <pre><code>[Test]
  public void WidgetTest()
  {
      foreach (Widget widget in widgets)
      {
          Assert.AreEqual(0, widget.SomeValue);
      }
  }
  </code></pre>
  
  <p>If one of the asserts fails, I will get a very unhelpful error message like the one below:</p>
  
  <pre><code>1) Test Failure : WidgetTest.TestSomeValue
    Expected: 0
    But was:  1
  
  at WidgetTest.TestSomeValue()
  </code></pre>
  
  <p>So, the question is, how can I get NUnit to display more useful info, such as the name of the widget, or the iteration of the loop, etc? Even a line number would be more helpful, since this is run in automated manner and I'd like to be able to spot the failing assert without debugging into the code.</p>