Пример #1
0
        public void Hashcode()
        {
            var tag = new TestObject(1);

            var edge1 = new SEquatableTaggedEdge <int, TestObject>(1, 2, null);
            var edge2 = new SEquatableTaggedEdge <int, TestObject>(1, 2, null);
            var edge3 = new SEquatableTaggedEdge <int, TestObject>(2, 1, null);
            var edge4 = new SEquatableTaggedEdge <int, TestObject>(1, 2, tag);

            Assert.AreEqual(edge1.GetHashCode(), edge2.GetHashCode());
            Assert.AreNotEqual(edge1.GetHashCode(), edge3.GetHashCode());
            Assert.AreEqual(edge1.GetHashCode(), edge4.GetHashCode());  // Tag is not taken into account for hashcode
        }
Пример #2
0
        public void HashcodeDefaultEdge_ReferenceTypeExtremities()
        {
            var edge1 = default(SEquatableTaggedEdge <TestVertex, TestObject>);
            var edge2 = new SEquatableTaggedEdge <TestVertex, TestObject>();

            Assert.AreEqual(edge1.GetHashCode(), edge2.GetHashCode());
        }