Пример #1
0
        public override bool Equals(object obj)
        {
            ProteolysisProduct pp = obj as ProteolysisProduct;

            return(pp != null &&
                   pp.OneBasedBeginPosition.Equals(OneBasedBeginPosition) &&
                   pp.OneBasedEndPosition.Equals(OneBasedEndPosition) &&
                   (pp.Type == null && Type == null || pp.Type.Equals(Type)));
        }
Пример #2
0
        public void TestHashAndEqualsProteolysis()
        {
            ProteolysisProduct pp1  = new ProteolysisProduct(1, 2, "type");
            ProteolysisProduct pp11 = new ProteolysisProduct(1, 2, "type");
            ProteolysisProduct pp2  = new ProteolysisProduct(1, 2, null);
            ProteolysisProduct pp3  = new ProteolysisProduct(1, null, "type");
            ProteolysisProduct pp4  = new ProteolysisProduct(null, 2, "type");
            ProteolysisProduct pp5  = new ProteolysisProduct(1, 1, "type");
            ProteolysisProduct pp6  = new ProteolysisProduct(2, 2, "type");

            Assert.AreEqual(pp1, pp11);
            Assert.AreNotEqual(pp1, pp2);
            Assert.AreNotEqual(pp1, pp3);
            Assert.AreNotEqual(pp1, pp4);
            Assert.AreNotEqual(pp1, pp5);
            Assert.AreNotEqual(pp1, pp6);
        }
Пример #3
0
        public static void CompareProteinProperties()
        {
            DatabaseReference d = new DatabaseReference("asdf", "asdfg", new List <Tuple <string, string> > {
                new Tuple <string, string>("bbb", "ccc")
            });
            DatabaseReference dd = new DatabaseReference("asdf", "asdfg", new List <Tuple <string, string> > {
                new Tuple <string, string>("bbb", "ccc")
            });
            DatabaseReference de = new DatabaseReference("asdf", "asdefg", new List <Tuple <string, string> > {
                new Tuple <string, string>("bbb", "ccc")
            });
            DatabaseReference df = new DatabaseReference("asddf", "asdfg", new List <Tuple <string, string> > {
                new Tuple <string, string>("bbb", "ccc")
            });
            DatabaseReference dg = new DatabaseReference("asdf", "asdfg", new List <Tuple <string, string> > {
                new Tuple <string, string>("babb", "ccc")
            });
            DatabaseReference dh = new DatabaseReference("asdf", "asdfg", new List <Tuple <string, string> > {
                new Tuple <string, string>("bbb", "cccf")
            });

            Assert.True(dd.Equals(d));
            Assert.False(de.Equals(d));
            Assert.False(df.Equals(d));
            Assert.False(dg.Equals(d));
            Assert.False(dh.Equals(d));
            Assert.AreEqual(5, new HashSet <DatabaseReference> {
                d, dd, de, df, dg, dh
            }.Count);

            SequenceVariation s     = new SequenceVariation(1, "hello", "hey", "hi");
            SequenceVariation sv    = new SequenceVariation(1, "hello", "hey", "hi");
            SequenceVariation sss   = new SequenceVariation(2, "hallo", "hey", "hi");
            SequenceVariation ssss  = new SequenceVariation(1, "hello", "heyy", "hi");
            SequenceVariation sssss = new SequenceVariation(1, "hello", "hey", "hii");

            Assert.True(s.Equals(sv));
            Assert.False(s.Equals(sss));
            Assert.False(s.Equals(ssss));
            Assert.False(s.Equals(sssss));
            Assert.AreEqual(4, new HashSet <SequenceVariation> {
                s, sv, sss, ssss, sssss
            }.Count);

            DisulfideBond b    = new DisulfideBond(1, "hello");
            DisulfideBond bb   = new DisulfideBond(1, "hello");
            DisulfideBond bbb  = new DisulfideBond(1, 2, "hello");
            DisulfideBond bbbb = new DisulfideBond(1, 2, "hello");
            DisulfideBond ba   = new DisulfideBond(1, 3, "hello");
            DisulfideBond baa  = new DisulfideBond(2, 2, "hello");
            DisulfideBond baaa = new DisulfideBond(1, 2, "hallo");

            Assert.AreEqual(b, bb);
            Assert.AreEqual(bbb, bbbb);
            Assert.AreNotEqual(b, bbb);
            Assert.AreNotEqual(ba, bbb);
            Assert.AreNotEqual(baa, bbb);
            Assert.AreNotEqual(baaa, bbb);
            Assert.AreEqual(5, new HashSet <DisulfideBond> {
                b, bb, bbb, bbbb, ba, baa, baaa
            }.Count);

            ProteolysisProduct pp   = new ProteolysisProduct(1, 1, "hello");
            ProteolysisProduct paaa = new ProteolysisProduct(1, 1, "hello");
            ProteolysisProduct p    = new ProteolysisProduct(null, null, "hello");
            ProteolysisProduct ppp  = new ProteolysisProduct(1, 2, "hello");
            ProteolysisProduct pa   = new ProteolysisProduct(2, 1, "hello");
            ProteolysisProduct paa  = new ProteolysisProduct(1, 1, "hallo");

            Assert.AreEqual(pp, paaa);
            Assert.AreNotEqual(p, pp);
            Assert.AreNotEqual(pp, ppp);
            Assert.AreNotEqual(pp, pa);
            Assert.AreNotEqual(pp, paa);
            Assert.AreEqual(5, new HashSet <ProteolysisProduct> {
                p, pp, ppp, pa, paa, paaa
            }.Count);
        }
Пример #4
0
 /// <summary>
 /// Determines whether this interval includes the queried interval
 /// </summary>
 /// <param name="segment"></param>
 /// <returns></returns>
 internal bool Includes(ProteolysisProduct segment)
 {
     return(OneBasedBeginPosition <= segment.OneBasedBeginPosition && OneBasedEndPosition >= segment.OneBasedEndPosition);
 }
Пример #5
0
 /// <summary>
 /// Determines whether this interval overlaps the queried interval
 /// </summary>
 /// <param name="segment"></param>
 /// <returns></returns>
 internal bool Intersects(ProteolysisProduct segment)
 {
     return(segment.OneBasedEndPosition >= OneBasedBeginPosition && segment.OneBasedBeginPosition <= OneBasedEndPosition);
 }