예제 #1
0
        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
        }
예제 #2
0
 public override int GetHashCode()
 {
     unchecked
     {
         return(((ResourceIdentifier != null ? ResourceIdentifier.GetHashCode() : 0) * 397) ^ SlotNumber);
     }
 }
예제 #3
0
        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");
        }