public void ShouldExhibitValueTypeEquality()
        {
            ResourceId resourceId1 = new ResourceId("A");
            ResourceId resourceId2 = new ResourceId("A");
            ResourceId resourceId3 = new ResourceId("B");

            Assert.True(resourceId1.Equals(resourceId2));
            Assert.False(resourceId1.Equals(resourceId3));
            Assert.True(resourceId1.Equals(resourceId1));
            Assert.False(resourceId1.Equals(new object()));
            Assert.False(resourceId1.Equals(null));

            Assert.True(resourceId1.GetHashCode().Equals(resourceId2.GetHashCode()));
            Assert.False(resourceId1.GetHashCode().Equals(resourceId3.GetHashCode()));
            Assert.True(resourceId1.GetHashCode().Equals(resourceId1.GetHashCode()));
            Assert.False(resourceId1.GetHashCode().Equals(new object().GetHashCode()));
        }