/// <summary> /// Determines whether the specified Cell object is equivalent to this /// one based on the given fingerprint. /// </summary> public bool Equivalent(Cell other, Fingerprint fingerprint) { if (!other.IsKindOf(this)) { return false; } if (!fingerprint.Equivalent(other.fingerprint)) { return false; } return IsEquivalent(other, fingerprint); }
/// <summary> /// Determines whether the specified Cell object is equivalent to this /// one. /// </summary> /// A Cell is said to be equivalent to the other if its fingerprint is /// equivalent to the other's, and all the fingerprinted properties of /// the other exactly matches with their counterparts. /// <remarks> /// Given two Cell objects x and y, x.IsEquivalent(y) returns true if: /// <list type="bullet"> /// <item>x.fingerprint.IsEquivalent(y.fingerprint) returns true. /// </item> /// <item>All the fingerprinted properties in x are equal to those /// in y.</item> /// </list> /// </remarks> public virtual bool IsEquivalent(Cell other) { if (!other.IsKindOf(this)) { return false; } if (!fingerprint.IsEquivalent(other.fingerprint)) { return false; } return true; }