Example #1
0
        public void Mail_With_Arg_Append_Number_If_Mail_Is_Duplicated_One_Domain()
        {
            var uniqueEmailBuilder = new UniqueEmailBuilder(new List <string> {
                HotMail
            });

            Assert.IsFalse(uniqueEmailBuilder.Mail(MailUserName).Any(char.IsDigit));
            for (var i = 0; i < Assertion.Amount; i++)
            {
                Assert.IsTrue(uniqueEmailBuilder.Mail(MailUserName).Any(char.IsDigit));
            }
        }
Example #2
0
        public void Four_Arg_One_Domain_Produces_Valid_Emails()
        {
            var uniqueEmailBuilder = new UniqueEmailBuilder(new[] { GMail });

            for (var i = 0; i < Assertion.Amount; i++)
            {
                Assert.DoesNotThrow(() =>
                {
                    var res = new MailAddress(uniqueEmailBuilder.Mail(MailUserName, "foo", "bar", "john"));
                    Assert.AreEqual(GMail, res.Host);
                });
            }
        }
Example #3
0
        public void Mail_With_Arg_Use_Argument_One_Domain()
        {
            var uniqueEmailBuilder = new UniqueEmailBuilder(new List <string> {
                HotMail
            });
            var mails = new string[Assertion.Amount];

            for (var i = 0; i < Assertion.Amount; i++)
            {
                mails[i] = uniqueEmailBuilder.Mail(MailUserName);
            }
            Assert.IsTrue(mails.All(s => s.Split('@')[0].StartsWith(MailUserName)));
        }
Example #4
0
        public void Mail_With_Arg_Is_Unique_One_Domain()
        {
            var uniqueEmailBuilder = new UniqueEmailBuilder(new List <string> {
                HotMail
            });
            var mails = new string[Assertion.Amount];

            for (var i = 0; i < Assertion.Amount; i++)
            {
                mails[i] = uniqueEmailBuilder.Mail(MailUserName);
            }
            Assert.IsTrue(FindDuplicates(mails).Count == 0);
        }
Example #5
0
        public void Mail_With_Arg_Does_Not_start_With_AT_One_Domain()
        {
            var uniqueEmailBuilder = new UniqueEmailBuilder(new List <string> {
                HotMail
            });
            var mails = new List <string>();

            for (var i = 0; i < Assertion.Amount; i++)
            {
                mails.Add(uniqueEmailBuilder.Mail(MailUserName));
            }
            Assert.IsTrue(mails.All(s => s.IndexOf('@') > 1));
        }
Example #6
0
        public void One_Arg_One_Domain_Produces_Valid_Emails()
        {
            var uniqueEmailBuilder = new UniqueEmailBuilder(new[] { GMail });

            for (var i = 0; i < Assertion.Amount; i++)
            {
                Assert.DoesNotThrow(() =>
                {
                    var res = new MailAddress(uniqueEmailBuilder.Mail(MailUserName));
                    Assert.AreEqual(i == 0 ? MailUserName : $"{MailUserName}{i}", res.User);
                    Assert.AreEqual(GMail, res.Host);
                });
            }
        }
Example #7
0
        public void Providers_Are_Circulated()
        {
            var uniqueEmailBuilder = new UniqueEmailBuilder(Providers);

            Assert.AreEqual(GMail, new MailAddress(uniqueEmailBuilder.Mail(MailUserName)).Host);
            Assert.AreEqual(HotMail, new MailAddress(uniqueEmailBuilder.Mail(MailUserName)).Host);
            Assert.AreEqual(Yahoo, new MailAddress(uniqueEmailBuilder.Mail(MailUserName)).Host);
            Assert.AreEqual(OutLook, new MailAddress(uniqueEmailBuilder.Mail(MailUserName)).Host);

            // Resets due to all providers been iterated
            Assert.AreEqual(GMail, new MailAddress(uniqueEmailBuilder.Mail(MailUserName)).Host);
            Assert.AreEqual(HotMail, new MailAddress(uniqueEmailBuilder.Mail(MailUserName)).Host);
            Assert.AreEqual(Yahoo, new MailAddress(uniqueEmailBuilder.Mail(MailUserName)).Host);
            Assert.AreEqual(OutLook, new MailAddress(uniqueEmailBuilder.Mail(MailUserName)).Host);
        }
Example #8
0
        public void One_Arg_Acts_Same_As_Array_OverLoad()
        {
            var uniqueEmailBuilder  = new UniqueEmailBuilder(new[] { GMail });
            var uniqueEmailBuilder2 = new UniqueEmailBuilder(new[] { GMail });

            var first = MailUserName + 1;

            for (var i = 0; i < Assertion.Amount; i++)
            {
                Assert.AreEqual(
                    uniqueEmailBuilder.Mail(first),
                    uniqueEmailBuilder2.Mail(new[] { first })
                    );
            }
        }
Example #9
0
        public void Three_Arg_Acts_Same_As_Array_OverLoad()
        {
            var uniqueEmailBuilder  = new UniqueEmailBuilder(new[] { GMail });
            var uniqueEmailBuilder2 = new UniqueEmailBuilder(new[] { GMail });

            var first  = MailUserName + 1;
            var second = MailUserName + 2;
            var third  = MailUserName + 3;

            for (var i = 0; i < Assertion.Amount; i++)
            {
                Assert.AreEqual(
                    uniqueEmailBuilder.Mail(first, second, third),
                    uniqueEmailBuilder2.Mail(new[] { first, second, third })
                    );
            }
        }
Example #10
0
        public void Six_Arg_Acts_Same_As_Array_OverLoad()
        {
            var uniqueEmailBuilder  = new UniqueEmailBuilder(new[] { GMail });
            var uniqueEmailBuilder2 = new UniqueEmailBuilder(new[] { GMail });

            var first  = MailUserName + 1;
            var second = MailUserName + 2;
            var third  = MailUserName + 3;
            var fourth = MailUserName + 4;
            var fifth  = MailUserName + 5;
            var sixth  = MailUserName + 6;

            for (var i = 0; i < Assertion.Amount; i++)
            {
                Assert.AreEqual(
                    uniqueEmailBuilder.Mail(first, second, third, fourth, fifth, sixth),
                    uniqueEmailBuilder2.Mail(new[] { first, second, third, fourth, fifth, sixth })
                    );
            }
        }
Example #11
0
 /// <summary>
 ///     <para>
 ///         Creates a <see cref="Configurement" /> with default implementations.
 ///     </para>
 ///     <para>
 ///         Argument <paramref name="random" /> is used by the default implementations.
 ///     </para>
 /// </summary>
 /// <param name="random"></param>
 public Configurement(Random random)
 {
     Random           = random;
     LongProvider     = new LongRandomizer(Random);
     IntProvider      = new IntRandomizer(Random);
     DoubleProvider   = new DoubleRandomizer(Random);
     NameProvider     = new NameByOrigin(Random);
     DateTimeProvider = new DateTimeRandomizer(Random);
     UserNameProvider = new UserNameRandomizer(Random);
     MailProvider     = new UniqueEmailBuilder(
         new[] { "gmail.com", "live.com", "outlook.com", "hotmail.com", "yahoo.com" }
         );
     ListElementPicker      = new ElementRandomizer(Random);
     BoolProvider           = new BoolRandomizer(Random);
     GuidProvider           = new GuidProvider();
     TimeSpanProvider       = new TimeSpanRandomizer(Random);
     DecimalProvider        = new DecimalRandomizer(Random);
     DateTimeOffSetProvider = new DateTimeOffsetRandomizer(Random);
     FloatProvider          = new FloatRandomizer(Random);
     CharProvider           = new CharRandomizer(Random);
 }