public void TestResourceIdentifierGetHashCodeMethod() { // Arrange var resourceIdentifier0 = new ResourceIdentifier(); var resourceIdentifier1 = new ResourceIdentifier(ApiSampleData.PersonType); var resourceIdentifier2 = ApiSampleData.PersonResourceIdentifier1; var resourceIdentifier3 = ApiSampleData.PersonResourceIdentifier2; var resourceIdentifier4 = ApiSampleData.PersonResourceIdentifier1; var resourceIdentifier5 = ApiSampleData.CommentResourceIdentifier1; // Act // Assert // ReSharper disable ExpressionIsAlwaysNull // ReSharper disable EqualExpressionComparison // ReSharper disable HeuristicUnreachableCode Assert.False(resourceIdentifier1.GetHashCode() == resourceIdentifier0.GetHashCode()); Assert.True(resourceIdentifier1.GetHashCode() == resourceIdentifier1.GetHashCode()); Assert.False(resourceIdentifier1.GetHashCode() == resourceIdentifier2.GetHashCode()); Assert.False(resourceIdentifier1.GetHashCode() == resourceIdentifier3.GetHashCode()); Assert.False(resourceIdentifier1.GetHashCode() == resourceIdentifier4.GetHashCode()); Assert.False(resourceIdentifier1.GetHashCode() == resourceIdentifier5.GetHashCode()); Assert.False(resourceIdentifier2.GetHashCode() == resourceIdentifier0.GetHashCode()); Assert.False(resourceIdentifier2.GetHashCode() == resourceIdentifier1.GetHashCode()); Assert.True(resourceIdentifier2.GetHashCode() == resourceIdentifier2.GetHashCode()); Assert.False(resourceIdentifier2.GetHashCode() == resourceIdentifier3.GetHashCode()); Assert.True(resourceIdentifier2.GetHashCode() == resourceIdentifier4.GetHashCode()); Assert.False(resourceIdentifier2.GetHashCode() == resourceIdentifier5.GetHashCode()); Assert.False(resourceIdentifier3.GetHashCode() == resourceIdentifier0.GetHashCode()); Assert.False(resourceIdentifier3.GetHashCode() == resourceIdentifier1.GetHashCode()); Assert.False(resourceIdentifier3.GetHashCode() == resourceIdentifier2.GetHashCode()); Assert.True(resourceIdentifier3.GetHashCode() == resourceIdentifier3.GetHashCode()); Assert.False(resourceIdentifier3.GetHashCode() == resourceIdentifier4.GetHashCode()); Assert.False(resourceIdentifier3.GetHashCode() == resourceIdentifier5.GetHashCode()); Assert.False(resourceIdentifier4.GetHashCode() == resourceIdentifier0.GetHashCode()); Assert.False(resourceIdentifier4.GetHashCode() == resourceIdentifier1.GetHashCode()); Assert.True(resourceIdentifier4.GetHashCode() == resourceIdentifier2.GetHashCode()); Assert.False(resourceIdentifier4.GetHashCode() == resourceIdentifier3.GetHashCode()); Assert.True(resourceIdentifier4.GetHashCode() == resourceIdentifier4.GetHashCode()); Assert.False(resourceIdentifier4.GetHashCode() == resourceIdentifier5.GetHashCode()); Assert.False(resourceIdentifier5.GetHashCode() == resourceIdentifier0.GetHashCode()); Assert.False(resourceIdentifier5.GetHashCode() == resourceIdentifier1.GetHashCode()); Assert.False(resourceIdentifier5.GetHashCode() == resourceIdentifier2.GetHashCode()); Assert.False(resourceIdentifier5.GetHashCode() == resourceIdentifier3.GetHashCode()); Assert.False(resourceIdentifier5.GetHashCode() == resourceIdentifier4.GetHashCode()); Assert.True(resourceIdentifier5.GetHashCode() == resourceIdentifier5.GetHashCode()); // ReSharper restore HeuristicUnreachableCode // ReSharper restore EqualExpressionComparison // ReSharper restore ExpressionIsAlwaysNull }
public override int GetHashCode() { unchecked { return(((ResourceIdentifier != null ? ResourceIdentifier.GetHashCode() : 0) * 397) ^ SlotNumber); } }
public void HashCodeShouldBeEqual() { var identifier1 = new ResourceIdentifier("thing", "10"); var identifier2 = new ResourceIdentifier("thing", "10"); Assert.AreEqual(identifier1.GetHashCode(), identifier2.GetHashCode()); }
public void WhenComparingTwoResourceIdentifiersCreatedWithDifferentResourceNamesThenTheyAreNotEqual() { var first = new ResourceIdentifier(ResourceType.VirtualMachine, TestSubscriptionId, TestResourceGroup, TestResourceName); var second = new ResourceIdentifier(ResourceType.VirtualMachine, TestSubscriptionId, TestResourceGroup, "otherResource"); Assert.IsFalse(first.Equals(second), "Expected both identifiers to be not equal"); Assert.IsFalse(first == second, "Expected both identifiers to be not equal using equality comparison"); Assert.IsTrue(first != second, "Expected both identifiers to be not equal using inequality comparison"); Assert.AreNotEqual(first.GetHashCode(), second.GetHashCode(), "Expected both identifiers have not equal hash codes"); }
public void WhenComparingTwoResourceIdentifiersCreatedWithTheSameDataThenTheyAreEqual() { var first = new ResourceIdentifier(ResourceType.VirtualMachine, TestSubscriptionId, TestResourceGroup, TestResourceName); var second = new ResourceIdentifier(ResourceType.VirtualMachine, TestSubscriptionId, TestResourceGroup, TestResourceName); Assert.IsTrue(first.Equals(second), "Expected both identifiers to be equal"); Assert.IsTrue(first == second, "Expected both identifiers to be equal using equality comparison"); Assert.IsFalse(first != second, "Expected both identifiers to be equal using inequality comparison"); Assert.AreEqual(first.GetHashCode(), second.GetHashCode(), "Expected both identifiers have equal hash codes"); var firstKubernetesService = new ResourceIdentifier(ResourceType.KubernetesService, TestSubscriptionId, TestResourceGroup, TestResourceName); var secondKubernetesService = new ResourceIdentifier(ResourceType.KubernetesService, TestSubscriptionId, TestResourceGroup, TestResourceName); Assert.IsTrue(firstKubernetesService.Equals(secondKubernetesService), "Expected both identifiers to be equal"); Assert.IsTrue(firstKubernetesService == secondKubernetesService, "Expected both identifiers to be equal using equality comparison"); Assert.IsFalse(firstKubernetesService != secondKubernetesService, "Expected both identifiers to be equal using inequality comparison"); Assert.AreEqual(firstKubernetesService.GetHashCode(), secondKubernetesService.GetHashCode(), "Expected both identifiers have equal hash codes"); }