private void AssertDictionaryNoException(DictionaryCaller callMe) { try { callMe.Invoke(_testOld); } catch (Exception e) { Assert.Fail("Original dictionary threw an exception: " + e); } try { callMe.Invoke(_testChecked); } catch (Exception e) { Assert.Fail("Checked dictionary threw an exception: " + e); } }
private void AssertDictionaryException(DictionaryCaller callMe, IEnumerable<string> messageComponents) { Exception oldEx = null; try { callMe.Invoke(_testOld); } catch(Exception e) { oldEx = e; } Assert.IsNotNull(oldEx, "Original dictionary didn't throw exception."); Exception newEx = null; try { callMe.Invoke(_testChecked); } catch (Exception e) { newEx = e; } Assert.IsNotNull(newEx, "Checked dictionary didn't throw exception."); Assert.AreEqual(oldEx.GetType(), newEx.GetType(), "Threw wrong type of exception: " + newEx); foreach (string component in messageComponents) { Assert.Greater(newEx.Message.IndexOf(component), -1, "Message did not contain '" + component + "'. Exception: " + newEx); } Console.WriteLine("Threw correct exception: " + newEx); }