public void Equals_ReturnsFalse_ForReferencesWithDifferentLineNumbers()
        {
            var ref1 = new SourceReference
            {
                File       = "File1",
                LineNumber = 12
            };

            var ref2 = new SourceReference
            {
                File       = "File1",
                LineNumber = 82
            };

            var comparer = new SourceReferenceEqualityComparer();

            Assert.That(comparer.Equals(ref1, ref2), Is.False);
        }
        public void GetHashCode_ReturnsSameHashCodes_ForInstancesWithSameLineNumberAndFile()
        {
            var ref1 = new SourceReference
            {
                File       = "File1",
                LineNumber = 12
            };

            var ref2 = new SourceReference
            {
                File       = "File1",
                LineNumber = 12
            };

            var comparer = new SourceReferenceEqualityComparer();

            Assert.That(comparer.GetHashCode(ref1), Is.EqualTo(comparer.GetHashCode(ref2)));
        }
        public void Equals_ReturnsTrue_ForEquivalentInstances()
        {
            var ref1 = new SourceReference
            {
                File       = "File1",
                LineNumber = 12
            };

            var ref2 = new SourceReference
            {
                File       = "File1",
                LineNumber = 12
            };

            var comparer = new SourceReferenceEqualityComparer();

            Assert.That(comparer.Equals(ref1, ref2));
        }