public void TestForEachException() { // Define variables and constants IList <string> iteratedExceptionMessages = new List <string>(); Exception testException = new ApplicationException("0", new ApplicationException("1", new ApplicationException("2", new ApplicationException("3", new ApplicationException("4"))))); // Set up context // Execute testException.ForEachException(e => iteratedExceptionMessages.Add(e.Message)); // Assert outcome for (int i = 0; i < 5; ++i) { Assert.AreEqual(i.ToString(), iteratedExceptionMessages[i]); } }