private void AssertDictionariesAreEqual(IDictionary expected, IDictionary actual)
{
Assert.AreEqual(expected.Keys.Count, actual.Keys.Count, _fieldPath.Peek() + ".Count");
foreach (object key in expected.Keys)
{
if (!actual.Contains(key))
Assert.AreEqual(key, null, _fieldPath.Peek() + "[" + key + "]");
AssertObjectsAreEqual(expected[key], actual[key], "[" + key + "]");
}
}