Exemple #1
0
        public void GetHashCode_MinimalContributions_ReturnsSameHashCodeMultipleTimes()
        {
            IFingerprint fingerprint = new ScanResultFingerprint(new A11yElement(), DefaultRule, DefaultScanStatus);

            int hash1 = fingerprint.GetHashCode();

            Assert.AreEqual(hash1, fingerprint.GetHashCode());
            Assert.AreEqual(hash1, fingerprint.GetHashCode());
            Assert.AreEqual(hash1, fingerprint.GetHashCode());
        }
Exemple #2
0
        public void GetHashCode_DifferentInLevelOnly_ReturnsDifferentHashCode()
        {
            IFingerprint fingerprint1 = new ScanResultFingerprint(new A11yElement(), DefaultRule, ScanStatus.Fail);
            IFingerprint fingerprint2 = new ScanResultFingerprint(new A11yElement(), DefaultRule, ScanStatus.Uncertain);

            Assert.AreNotEqual(fingerprint1.GetHashCode(), fingerprint2.GetHashCode());
        }
Exemple #3
0
        public void GetHashCode_DifferentInRuleOnly_ReturnsDifferentHashCode()
        {
            IFingerprint fingerprint1 = new ScanResultFingerprint(new A11yElement(), RuleId.BoundingRectangleExists, DefaultScanStatus);
            IFingerprint fingerprint2 = new ScanResultFingerprint(new A11yElement(), RuleId.BoundingRectangleNotNull, DefaultScanStatus);

            Assert.AreNotEqual(fingerprint1.GetHashCode(), fingerprint2.GetHashCode());
        }
Exemple #4
0
        public void GetHashCode_EquivalentMinimalContributions_ReturnsSameHashCode()
        {
            IFingerprint fingerprint1 = new ScanResultFingerprint(new A11yElement(), DefaultRule, DefaultScanStatus);
            IFingerprint fingerprint2 = new ScanResultFingerprint(new A11yElement(), DefaultRule, DefaultScanStatus);

            Assert.AreEqual(fingerprint1.GetHashCode(), fingerprint2.GetHashCode());
        }
        public void Equals_OtherHasSameContributionCountAndHashButDifferentContent_ReturnsFalse()
        {
            using (ShimsContext.Create())
            {
                FingerprintContribution fc1 = new FingerprintContribution("Name", _specialNameValue1);
                FingerprintContribution fc2 = new FingerprintContribution("Name", _specialNameValue2);

                Assert.AreEqual(fc1.GetHashCode(), fc2.GetHashCode());

                A11yElement element1 = new ShimA11yElement {
                    NameGet = () => _specialNameValue1
                };
                A11yElement element2 = new ShimA11yElement {
                    NameGet = () => _specialNameValue2
                };
                IFingerprint fingerprint1 = new ScanResultFingerprint(element1, DefaultRule, DefaultScanStatus);
                IFingerprint fingerprint2 = new ScanResultFingerprint(element2, DefaultRule, DefaultScanStatus);

                Assert.AreEqual(fingerprint1.GetHashCode(), fingerprint2.GetHashCode());

                // Ensure that these differ only in specific content
                Assert.AreEqual(0, fingerprint1.CompareTo(fingerprint2));
                Assert.AreEqual(0, fingerprint2.CompareTo(fingerprint1));

                Assert.IsFalse(fingerprint1.Equals(fingerprint2));
                Assert.IsFalse(fingerprint2.Equals(fingerprint1));
            }
        }
Exemple #6
0
        public void GetHashCode_DifferentComplexContributions_ReturnsDifferentHashCode()
        {
            const string name    = "ElementName";
            const string culture = "ElementCulture";

            IA11yElement element1 = BuildTestElement(name: name, culture: culture, automationId: "id1");
            IA11yElement element2 = BuildTestElement(name: name, culture: culture, automationId: "id2");

            IFingerprint fingerprint1 = new ScanResultFingerprint(element1, DefaultRule, DefaultScanStatus);
            IFingerprint fingerprint2 = new ScanResultFingerprint(element2, DefaultRule, DefaultScanStatus);

            Assert.AreNotEqual(fingerprint1.GetHashCode(), fingerprint2.GetHashCode());
        }
        public void GetHashCode_DifferentComplexContributions_ReturnsSameHashCode()
        {
            using (ShimsContext.Create())
            {
                A11yElement element1 = new ShimA11yElement
                {
                    NameGet         = () => "ElementName",
                    CultureGet      = () => "ElementCulture",
                    AutomationIdGet = () => "ElementAutomationId",
                };
                A11yElement element2 = new ShimA11yElement
                {
                    NameGet         = () => " ElementName",
                    CultureGet      = () => "ElementCulture",
                    AutomationIdGet = () => "ElementAutomationId",
                };

                IFingerprint fingerprint1 = new ScanResultFingerprint(element1, DefaultRule, DefaultScanStatus);
                IFingerprint fingerprint2 = new ScanResultFingerprint(element2, DefaultRule, DefaultScanStatus);

                Assert.AreNotEqual(fingerprint1.GetHashCode(), fingerprint2.GetHashCode());
            }
        }