private static bool EqualContent()

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);
    }