public void CreateReturnsNoSpecimenWhenEmailAddressLocalPartIsInvalidForMailAddress()
        {
            // Fixture setup
            var localPart           = new EmailAddressLocalPart("@Invalid@");
            var anonymousDomainName = new DomainName(Guid.NewGuid().ToString());
            var request             = typeof(MailAddress);
            var context             = new DelegatingSpecimenContext()
            {
                OnResolve = r =>
                {
                    Assert.True(typeof(EmailAddressLocalPart).Equals(r) || typeof(DomainName).Equals(r));
                    if (typeof(EmailAddressLocalPart).Equals(r))
                    {
                        return(localPart);
                    }
                    else
                    {
                        return(anonymousDomainName);
                    }
                }
            };
            var sut = new MailAddressGenerator();
            // Exercise system
            var result = sut.Create(request, context);
            // Verify outcome
            var expectedResult = new NoSpecimen();

            Assert.Equal(expectedResult, result);
            // Teardown
        }
        public void CreateWithMailAddressRequestReturnsCorrectResultUsingLocalPartAndDomainNameFromContext()
        {
            // Fixture setup
            var request            = typeof(MailAddress);
            var expectedLocalPart  = new EmailAddressLocalPart(Guid.NewGuid().ToString());
            var expectedDomainName = new DomainName(Guid.NewGuid().ToString());
            var context            = new DelegatingSpecimenContext()
            {
                OnResolve = r =>
                {
                    Assert.True(typeof(EmailAddressLocalPart).Equals(r) || typeof(DomainName).Equals(r));
                    if (typeof(EmailAddressLocalPart).Equals(r))
                    {
                        return(expectedLocalPart);
                    }
                    else
                    {
                        return(expectedDomainName);
                    }
                }
            };
            var sut = new MailAddressGenerator();
            // Exercise system
            var result = (MailAddress)sut.Create(request, context);

            // Verify outcome
            Assert.Equal(expectedLocalPart.LocalPart, result.User);
            Assert.Equal(expectedDomainName.Domain, result.Host);
            // Teardown
        }
        public void CreateWithMailAddressRequestReturnsNoSpecimenWhenContextReturnsNullDomainName()
        {
            // Fixture setup
            var request            = typeof(MailAddress);
            var anonymousLocalPart = new EmailAddressLocalPart(Guid.NewGuid().ToString());

            var context = new DelegatingSpecimenContext()
            {
                OnResolve = r =>
                {
                    Assert.True(typeof(EmailAddressLocalPart).Equals(r) || typeof(DomainName).Equals(r));
                    return(typeof(EmailAddressLocalPart).Equals(r) ? anonymousLocalPart : null);
                }
            };
            var sut = new MailAddressGenerator();
            // Exercise system
            var result = sut.Create(request, context);

            // Verify outcome
#pragma warning disable 618
            var expectedResult = new NoSpecimen(request);
#pragma warning restore 618
            Assert.Equal(expectedResult, result);
            // Teardown
        }
        public void SutDoesNotEqualOtherObjectWhenLocalPartsDiffer()
        {
            // Arrange
            var    sut   = new EmailAddressLocalPart(Guid.NewGuid().ToString());
            object other = new EmailAddressLocalPart(Guid.NewGuid().ToString());
            // Act
            bool result = sut.Equals(other);

            // Assert
            Assert.False(result);
        }
        public void SutDoesNotEqualAnonymousObject()
        {
            // Arrange
            var sut             = new EmailAddressLocalPart(Guid.NewGuid().ToString());
            var anonymousObject = new object();
            // Act
            bool result = sut.Equals(anonymousObject);

            // Assert
            Assert.False(result);
        }
        public void ToStringReturnsCorrectResult()
        {
            // Arrange
            string expected = Guid.NewGuid().ToString();
            var    sut      = new EmailAddressLocalPart(expected);
            // Act
            var result = sut.ToString();

            // Assert
            Assert.Equal(expected, result);
        }
        public void SutDoesNotEqualOtherObjectWhenLocalPartsDiffer()
        {
            // Fixture setup
            var    sut   = new EmailAddressLocalPart(Guid.NewGuid().ToString());
            object other = new EmailAddressLocalPart(Guid.NewGuid().ToString());
            // Exercise system
            bool result = sut.Equals(other);

            // Verify outcome
            Assert.False(result);
            // Teardown
        }
        public void SutDoesNotEqualAnonymousObject()
        {
            // Fixture setup
            var sut             = new EmailAddressLocalPart(Guid.NewGuid().ToString());
            var anonymousObject = new object();
            // Exercise system
            bool result = sut.Equals(anonymousObject);

            // Verify outcome
            Assert.False(result);
            // Teardown
        }
        public void ToStringReturnsCorrectResult()
        {
            // Fixture setup
            string expected = Guid.NewGuid().ToString();
            var    sut      = new EmailAddressLocalPart(expected);
            // Exercise system
            var result = sut.ToString();

            // Verify outcome
            Assert.Equal(expected, result);
            // Teardown
        }
        public void GetHashCodeReturnsCorrectResult()
        {
            // Arrange
            var localPart = Guid.NewGuid().ToString();
            var sut       = new EmailAddressLocalPart(localPart);
            // Act
            int result = sut.GetHashCode();
            // Assert
            int expectedHashCode = localPart.GetHashCode();

            Assert.Equal(expectedHashCode, result);
        }
        public void GetHashCodeReturnsCorrectResult()
        {
            // Fixture setup
            var localPart = Guid.NewGuid().ToString();
            var sut       = new EmailAddressLocalPart(localPart);
            // Exercise system
            int result = sut.GetHashCode();
            // Verify outcome
            int expectedHashCode = localPart.GetHashCode();

            Assert.Equal(expectedHashCode, result);
            // Teardown
        }
        public void SutEqualsOtherSutWhenLocalPartsAreEqual()
        {
            // Arrange
            var localPart = Guid.NewGuid().ToString();

            var sut   = new EmailAddressLocalPart(localPart);
            var other = new EmailAddressLocalPart(localPart);
            // Act
            bool result = sut.Equals(other);

            // Assert
            Assert.True(result);
        }
        public void SutEqualsOtherSutWhenLocalPartsAreEqual()
        {
            // Fixture setup
            var localPart = Guid.NewGuid().ToString();

            var sut   = new EmailAddressLocalPart(localPart);
            var other = new EmailAddressLocalPart(localPart);
            // Exercise system
            bool result = sut.Equals(other);

            // Verify outcome
            Assert.True(result);
            // Teardown
        }
        public void CreateWithMailAddressRequestReturnsCorrectResultUsingLocalPartFromContext()
        {
            // Fixture setup
            var request           = typeof(MailAddress);
            var expectedLocalPart = new EmailAddressLocalPart(Guid.NewGuid().ToString());
            var context           = new DelegatingSpecimenContext()
            {
                OnResolve = r =>
                {
                    Assert.Equal(typeof(EmailAddressLocalPart), r);
                    return(expectedLocalPart);
                }
            };
            var sut = new MailAddressGenerator();
            // Exercise system
            var result = (MailAddress)sut.Create(request, context);

            // Verify outcome
            Assert.Equal(expectedLocalPart.LocalPart, result.User);
            Assert.True(Regex.IsMatch(result.Host, @"example\.(com|org|net)"));
            // Teardown
        }
        public void CreateReturnsNoSpecimenWhenEmailAddressLocalPartIsInvalidForMailAddress()
        {
            // Fixture setup
            var localPart = new EmailAddressLocalPart("@Invalid@");
            var request   = typeof(MailAddress);
            var context   = new DelegatingSpecimenContext()
            {
                OnResolve = r =>
                {
                    Assert.Equal(typeof(EmailAddressLocalPart), r);
                    return(localPart);
                }
            };
            var sut = new MailAddressGenerator();
            // Exercise system
            var expectedResult = new NoSpecimen(request);
            var result         = sut.Create(request, context);

            // Verify outcome
            Assert.Equal(expectedResult, result);
            // Teardown
        }
Example #16
0
        public void CreateWithMailAddressRequestReturnsNoSpecimenWhenContextReturnsNullDomainName()
        {
            // Arrange
            var request            = typeof(MailAddress);
            var anonymousLocalPart = new EmailAddressLocalPart(Guid.NewGuid().ToString());

            var context = new DelegatingSpecimenContext()
            {
                OnResolve = r =>
                {
                    Assert.True(typeof(EmailAddressLocalPart).Equals(r) || typeof(DomainName).Equals(r));
                    return(typeof(EmailAddressLocalPart).Equals(r) ? anonymousLocalPart : null);
                }
            };
            var sut = new MailAddressGenerator();
            // Act
            var result = sut.Create(request, context);
            // Assert
            var expectedResult = new NoSpecimen();

            Assert.Equal(expectedResult, result);
        }