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