public void ShouldNotBeEqualWithIEntityIdWhenValuesAreDifferent()
            {
                // arrange
                var stronglyTypedId        = new GuidFor <Order>(Guid.NewGuid());
                var anotherStronglyTypedId = new IdFor <Order, Guid>(Guid.NewGuid());

                // act
                var result = stronglyTypedId.Equals(anotherStronglyTypedId);

                // assert
                result.Should().BeFalse();
            }
            public void ShouldNotBeEqualWithIEntityIdWhenEntitiesAreDifferent()
            {
                // arrange
                var targetId               = Guid.NewGuid();
                var stronglyTypedId        = new GuidFor <Order>(targetId);
                var anotherStronglyTypedId = new IdFor <PricePosition, Guid>(targetId);

                // act
                var result = stronglyTypedId.Equals(anotherStronglyTypedId);

                // assert
                result.Should().BeFalse();
            }
            public void ShouldBeEqualWithIEntityIdWhenValuesAndEntitiesAreEqual()
            {
                // arrange
                var targetId               = Guid.NewGuid();
                var stronglyTypedId        = new GuidFor <Order>(targetId);
                var anotherStronglyTypedId = new IdFor <Order, Guid>(targetId);

                // act
                var result = stronglyTypedId.Equals(anotherStronglyTypedId);

                // assert
                result.Should().BeTrue();
            }
            public void ShouldNotBeEqualWithIEntityIdWhenNull()
            {
                // arrange
                var targetId        = Guid.NewGuid();
                var stronglyTypedId = new GuidFor <Order>(targetId);
                IEntityId <Order, Guid> anotherStronglyTypedId = null;

                // act
                var result = stronglyTypedId.Equals(anotherStronglyTypedId);

                // assert
                result.Should().BeFalse();
            }