public override int GetHashCode() { return(OneBasedBeginPosition.GetHashCode() ^ OneBasedEndPosition.GetHashCode() ^ OriginalSequence.GetHashCode() // null handled in constructor ^ VariantSequence.GetHashCode() // null handled in constructor ^ Description.GetHashCode()); // always constructed in constructor }
public override int GetHashCode() { return(OneBasedBeginPosition.GetHashCode() ^ OneBasedEndPosition.GetHashCode() ^ OriginalSequence.GetHashCode() ^ VariantSequence.GetHashCode() ^ Description.GetHashCode()); }
public override bool Equals(object obj) { SequenceVariation s = obj as SequenceVariation; return(s != null && OneBasedBeginPosition == s.OneBasedBeginPosition && OneBasedEndPosition == s.OneBasedEndPosition && (s.OriginalSequence == null && OriginalSequence == null || OriginalSequence.Equals(s.OriginalSequence)) && (s.VariantSequence == null && VariantSequence == null || VariantSequence.Equals(s.VariantSequence)) && (s.Description == null && Description == null || Description.Equals(s.Description)) && (s.OneBasedModifications == null && OneBasedModifications == null || s.OneBasedModifications.Keys.ToList().SequenceEqual(OneBasedModifications.Keys.ToList()) && s.OneBasedModifications.Values.SelectMany(m => m).ToList().SequenceEqual(OneBasedModifications.Values.SelectMany(m => m).ToList()))); }