in database/testapp/Assets/Firebase/Sample/Database/UIHandlerAutomated.cs [253:291]
private static bool EqualContent(object a, object b) {
if (a == null || b == null) {
return a == null && b == null;
} else if (a.GetType() != b.GetType()) {
return false;
} else if (a is IList) {
IList aa = (IList)a;
IList bb = (IList)b;
if (aa.Count != bb.Count) {
return false;
}
var aaa = aa.GetEnumerator();
var bbb = bb.GetEnumerator();
while (aaa.MoveNext() && bbb.MoveNext()) {
if (!EqualContent(aaa.Current, bbb.Current)) {
return false;
}
}
return true;
} else if (a is IDictionary) {
IDictionary aa = (IDictionary)a;
IDictionary bb = (IDictionary)b;
if (aa.Count != bb.Count) {
return false;
}
foreach (DictionaryEntry entry in aa) {
if (bb.Contains(entry.Key)) {
object x = bb[entry.Key];
if (!EqualContent(entry.Value, x)) {
return false;
}
} else {
return false;
}
}
return true;
}
return object.Equals(a, b);
}