public void TwoCallsCreateTwoDifferentEMailAddresses()
        {
            var sut = new EmailAddresses();
            var firstValue = sut.GetValue();
            var secondValue = sut.GetValue();

            Assert.AreNotEqual(firstValue, secondValue);
        }
        public void TwoCallsCreateTwoDifferentEMailAddresses()
        {
            var sut         = new EmailAddresses();
            var firstValue  = sut.GetValue();
            var secondValue = sut.GetValue();

            Assert.NotEqual(firstValue, secondValue);
        }
        public void EMailAddressMustBeValidWithRealNames()
        {
            var sut = new EmailAddresses();

            var value = sut.GetValue();

            Assert.True(RFC5322RegEx.IsMatch(value));
        }
        public void EMailAddressMustBeValidWithRealNames()
        {
            var sut = new EmailAddresses();

            var value = sut.GetValue();

            StringAssert.Matches(value, RFC5322RegEx, StandardAssertMessage);
        }
        public void EMailAddressMustBeValidWithRealNames()
        {
            var sut = new EmailAddresses();

            var value = sut.GetValue();

            Assert.True(RFC5322RegEx.IsMatch(value));
        }
        public void EMailAddressMustBeValidWithRealNames()
        {
            var sut = new EmailAddresses();

            var value = sut.GetValue();

            StringAssert.Matches(value, RFC5322RegEx, StandardAssertMessage);
        }
        public void EmailAddressesWorksInCombinationWithRealNamesPlugin()
        {
            var realNames = new RealNames(NameStyle.FirstNameLastName);

            var sut    = new EmailAddresses(realNames);
            var result = sut.GetValue();

            StringAssert.Matches(result, RFC5322RegEx, StandardAssertMessage);
        }
        public void EmailAddressesWorksInCombinationWithRealNamesPlugin()
        {
            var realNames = new RealNames(NameStyle.FirstNameLastName);

            var sut    = new EmailAddresses(realNames);
            var result = sut.GetValue();

            Assert.True(RFC5322RegEx.IsMatch(result));
        }
        public void GivenDomainRootIsAttachedToGeneratedEmailAddress()
        {
            var domainRoot = ".de";
            var sut        = new EmailAddresses(domainRoot);

            var result = sut.GetValue();

            StringAssert.EndsWith(result, domainRoot);
            StringAssert.Matches(result, RFC5322RegEx, StandardAssertMessage);
        }
        public void PluginMustEnsureValidAddressesEvenAnInvalidDomainNameIsProvided()
        {
            var referenceValue = "googlecom";
            var fake = new FakeRandomizerPlugin<string>(referenceValue);

            var sut = new EmailAddresses(fake, fake);

            var result = sut.GetValue();
            Assert.True(RFC5322RegEx.IsMatch(result));
        }
        public void GivenDomainRootIsAttachedToGeneratedEmailAddress()
        {
            var domainRoot = ".de";
            var sut        = new EmailAddresses(domainRoot);

            var result = sut.GetValue();

            Assert.EndsWith(domainRoot, result);
            Assert.True(RFC5322RegEx.IsMatch(result));
        }
        public void PluginMustEnsureValidAddressesEvenAnInvalidLocalPartIsProvided()
        {
            var referenceValue = "ka rl";
            var fake           = new FakeRandomizerPlugin <string>(referenceValue);

            var sut = new EmailAddresses(fake);

            var result = sut.GetValue();

            StringAssert.Matches(result, RFC5322RegEx, StandardAssertMessage);
        }
        public void PluginMustEnsureValidAddressesEvenAnInvalidLocalPartIsProvided()
        {
            var referenceValue = "ka rl";
            var fake           = new FakeRandomizerPlugin <string>(referenceValue);

            var sut = new EmailAddresses(fake);

            var result = sut.GetValue();

            Assert.True(RFC5322RegEx.IsMatch(result));
        }
        public void PluginMustEnsureValidAddressesEvenAnInvalidDomainNameIsProvided()
        {
            var referenceValue = "googlecom";
            var fake           = new FakeRandomizerPlugin <string>(referenceValue);

            var sut = new EmailAddresses(fake, fake);

            var result = sut.GetValue();

            Assert.IsTrue(RFC5322RegEx.IsMatch(result));
        }
        public void PluginMustEnsureValidAddressesEvenAnInvalidDomainNameIsProvided()
        {
            var referenceValue = "googlecom";
            var fake = new FakeRandomizerPlugin<string>(referenceValue);

            var sut = new EmailAddresses(fake, fake);

            var result = sut.GetValue();

            StringAssert.Matches(result, RFC5322RegEx, StandardAssertMessage);
        }
        public void DomainNamesAreUsedFromRandomData()
        {
            var referenceValue = "google.com";
            var fake = new FakeRandomizerPlugin<string>(referenceValue);

            var sut = new EmailAddresses(fake, fake);

            var result = sut.GetValue();

            Assert.EndsWith(referenceValue, result);
            Assert.True(RFC5322RegEx.IsMatch(result));
        }
        public void LocalPathMustBeUsedFromRandomData()
        {
            var referenceValue = "karl";
            var fake = new FakeRandomizerPlugin<string>(referenceValue);

            var sut = new EmailAddresses(fake);

            var result = sut.GetValue();

            StringAssert.StartsWith(result, referenceValue);
            StringAssert.Matches(result, RFC5322RegEx, StandardAssertMessage);
        }
        public void DomainNamesAreUsedFromRandomData()
        {
            var referenceValue = "google.com";
            var fake = new FakeRandomizerPlugin<string>(referenceValue);

            var sut = new EmailAddresses(fake, fake);
            
            var result = sut.GetValue();

            StringAssert.EndsWith(result, referenceValue);
            StringAssert.Matches(result, RFC5322RegEx, StandardAssertMessage);
        }
        public void LocalPathMustBeUsedFromRandomData()
        {
            var referenceValue = "karl";
            var fake = new FakeRandomizerPlugin<string>(referenceValue);

            var sut = new EmailAddresses(fake);

            var result = sut.GetValue();

            Assert.StartsWith(referenceValue, result);
            Assert.True(RFC5322RegEx.IsMatch(result));
        }
        public void DomainNamesAreUsedFromRandomData()
        {
            var referenceValue = "google.com";
            var fake           = new FakeRandomizerPlugin <string>(referenceValue);

            var sut = new EmailAddresses(fake, fake);

            var result = sut.GetValue();

            StringAssert.EndsWith(result, referenceValue);
            StringAssert.Matches(result, RFC5322RegEx, StandardAssertMessage);
        }
        public void LocalPathMustBeUsedFromRandomData()
        {
            var referenceValue = "karl";
            var fake           = new FakeRandomizerPlugin <string>(referenceValue);

            var sut = new EmailAddresses(fake);

            var result = sut.GetValue();

            StringAssert.StartsWith(result, referenceValue);
            StringAssert.Matches(result, RFC5322RegEx, StandardAssertMessage);
        }
        public void LocalPathMustBeUsedFromRandomData()
        {
            var referenceValue = "karl";
            var fake           = new FakeRandomizerPlugin <string>(referenceValue);

            var sut = new EmailAddresses(fake);

            var result = sut.GetValue();

            Assert.StartsWith(referenceValue, result);
            Assert.True(RFC5322RegEx.IsMatch(result));
        }
        public void DomainNamesAreUsedFromRandomData()
        {
            var referenceValue = "google.com";
            var fake           = new FakeRandomizerPlugin <string>(referenceValue);

            var sut = new EmailAddresses(fake, fake);

            var result = sut.GetValue();

            Assert.EndsWith(referenceValue, result);
            Assert.True(RFC5322RegEx.IsMatch(result));
        }
        public void GivenDomainRootIsAttachedToGeneratedEmailAddress()
        {
            var domainRoot = ".de";
            var sut = new EmailAddresses(domainRoot);

            var result = sut.GetValue();

            StringAssert.EndsWith(result, domainRoot);
            StringAssert.Matches(result, RFC5322RegEx, StandardAssertMessage);
        }
        public void GivenDomainRootIsAttachedToGeneratedEmailAddress()
        {
            var domainRoot = ".de";
            var sut = new EmailAddresses(domainRoot);

            var result = sut.GetValue();

            Assert.EndsWith(domainRoot, result);
            Assert.True(RFC5322RegEx.IsMatch(result));
        }
        public void EmailAddressesWorksInCombinationWithRealNamesPlugin()
        {
            var realNames = new RealNames(NameStyle.FirstNameLastName);

            var sut = new EmailAddresses(realNames);
            var result = sut.GetValue();

            StringAssert.Matches(result, RFC5322RegEx, StandardAssertMessage);
        }
        public void EmailAddressesWorksInCombinationWithRealNamesPlugin()
        {
            var realNames = new RealNames(NameStyle.FirstNameLastName);

            var sut = new EmailAddresses(realNames);
            var result = sut.GetValue();

            Assert.True(RFC5322RegEx.IsMatch(result));
        }