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