Esempio n. 1
0
 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
 }
Esempio n. 2
0
 public override int GetHashCode()
 {
     return(OneBasedBeginPosition.GetHashCode()
            ^ OneBasedEndPosition.GetHashCode()
            ^ OriginalSequence.GetHashCode()
            ^ VariantSequence.GetHashCode()
            ^ Description.GetHashCode());
 }
Esempio n. 3
0
        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())));
        }