예제 #1
0
        public void TwitterResourceTest()
        {
            var    person    = Angie.FastMake <Person>();
            string emailFail = string.Format(Angie.Defaults.STRING_LOADFAIL, Angie.Defaults.FILE_DOMAIN_NAMES);

            Assert.AreNotEqual(string.Empty, person.EmailAddress, emailFail);
        }
        public void MakeDateRuleFutureIsCorrect()
        {
            Angie.Reset();
            var date = CalendarDate.Date(DateRules.FutureDates);

            Assert.Greater(date, DateTime.Now);
        }
예제 #3
0
        public void DomainResourceTest()
        {
            var    person      = Angie.FastMake <Person>();
            string twitterFail = string.Format(Angie.Defaults.STRING_LOADFAIL, Angie.Defaults.FILE_FIRST_NAMES);

            Assert.AreNotEqual(string.Empty, person.Twitter, twitterFail);
        }
예제 #4
0
        public void WordsResourcesLoad()
        {
            var    person   = Angie.FastMake <Person>();
            string wordFail = string.Format(Angie.Defaults.STRING_LOADFAIL, Angie.Defaults.FILE_WORDS);

            Assert.AreNotEqual(string.Empty, person.Title, wordFail);
        }
예제 #5
0
        public void TitleResourcesLoad()
        {
            var    post      = Angie.FastMake <BlogPost>();
            string titleFail = string.Format(Angie.Defaults.STRING_LOADFAIL, Angie.Defaults.FILE_TITLES);

            Assert.AreNotEqual(string.Empty, post.Title, titleFail);
        }
        public void MakeDateRulePastIsCorrect()
        {
            Angie.Reset();
            var date = CalendarDate.Date(DateRules.PastDate);

            Assert.Greater(DateTime.Now, date);
        }
예제 #7
0
        public void DateTimesStayWithinConfiguredDates()
        {
            var success = true;

            // use a small window to try to force collisions
            var minDate = DateTime.Now.AddMilliseconds(-5);
            var maxDate = DateTime.Now.AddMilliseconds(5);

            for (int i = 0; i < 500; i++)
            {
                Angie.Default()
                .DateRange(DateTime.Now.AddMilliseconds(-10), DateTime.Now.AddMilliseconds(10));

                var person = Angie
                             .Configure()
                             .Make <Person>();

                if (!(person.BirthDate >= minDate && person.BirthDate <= maxDate))
                {
                    success = false;
                }
                else
                {
                    Assert.IsTrue(success, "Date was generated outside of range.{0}", person.BirthDate);
                }
            }
        }
예제 #8
0
        public void LastNamesResourcesLoad()
        {
            var    person   = Angie.FastMake <Person>();
            string nameFail = string.Format(Angie.Defaults.STRING_LOADFAIL, Angie.Defaults.FILE_LAST_NAMES);

            Assert.AreNotEqual(string.Empty, person.LastName, nameFail);
        }
예제 #9
0
        public void MethodIsLeftAloneWhenMatchesNothing()
        {
            // currently fills
            var person = Angie.FastMake <Person>();

            Assert.IsTrue(string.IsNullOrEmpty(person.GetMiddleName()));
        }
예제 #10
0
        public void FastListGeneratesCorrectNumberOfEntries()
        {
            var personCount = 17;
            var people      = Angie.FastList <Person>(personCount);

            Assert.AreEqual(people.Count(), personCount);
        }
예제 #11
0
        public void UserListIsPopulated()
        {
            var users = new List <User>();

            Angie.Configure <User>().MakeList().ForEach(x => users.Add(x));
            Assert.IsTrue(users.Count > 0);
        }
예제 #12
0
        public void MethodCanBeSet()
        {
            var expected = "q";
            var person   = Angie.Configure <Person>().MethodFill <string>(x => x.SetMiddleName(null), () => expected).Make <Person>();

            Assert.IsTrue(!string.IsNullOrEmpty(person.GetMiddleName()));
            Assert.AreEqual(expected, person.GetMiddleName());
        }
예제 #13
0
        public void MakeListDefaultsTo25Entries()
        {
            var people = Angie
                         .Configure()       // get an instantiated object for the non-static call
                         .MakeList <Person>();

            Assert.IsTrue(people.Count() == Angie.Defaults.LIST_COUNT);
        }
예제 #14
0
        public void EmailAddressInNewClassIsValid()
        {
            Person person = Angie.FastMake <Person>();
            Regex  regex  = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$");
            Match  match  = regex.Match(person.EmailAddress);

            Assert.IsTrue(match.Success, "Invalid Email Address: {0}", person.EmailAddress);
        }
예제 #15
0
        public void BasicTypesInExistingClassArePopulated()
        {
            var person = Angie.FastFill(new Person());

            // for test brievity
            Assert.IsTrue(!string.IsNullOrEmpty(person.FirstName), "String property was not populated. Aborting additional asserts in test.");
            Assert.IsTrue(person.Age != default(int), "Int property was not populated. Aborting additional asserts in test.");
            Assert.IsTrue(person.BirthDate != default(DateTime), "DateTime was left as default value. Aborting additional asserts in test.");
        }
예제 #16
0
        public void FastListDefaultGenerates25Entries()
        {
            var people = Angie.FastList <Person>();

            Assert.AreEqual(Angie.Defaults.LIST_COUNT, people.Count(),
                            string.Format("Expected {0} but collection contained {1}",
                                          Angie.Defaults.LIST_COUNT, people.Count())
                            );
        }
예제 #17
0
        public void UserNameIsPopulated()
        {
            var users = new List <User>();

            Angie.Configure <User>().Fill(x => x.Name, () => Names.FullName()).MakeList().ForEach(x => users.Add(x));
            foreach (var user in users)
            {
                Assert.IsTrue(user.Name.Split(' ').Count() > 1);
            }
        }
예제 #18
0
        public void StringPropertyFilledBySpecificMethod()
        {
            var blogTitle = "Angie";

            var post = Angie.Configure <BlogPost>()
                       .Fill(b => b.Title, () => blogTitle)
                       .Make <BlogPost>();

            Assert.AreEqual(blogTitle, post.Title);
        }
예제 #19
0
        public void MakeListGeneratesCorrectNumberOfEntriesWithStaticOverload()
        {
            Angie.Reset();
            var personCount = 13;

            var people = Angie
                         .FastList <Person>(personCount);

            Assert.AreEqual(people.Count(), personCount);
        }
예제 #20
0
        public void IntPropertyFilledBySpecificMethod()
        {
            var age = 11;

            var person = Angie.Configure <Person>()
                         .Fill(p => p.Age, delegate() { return(age); })
                         .Make <Person>();

            Assert.IsTrue(person.Age == age);
        }
예제 #21
0
        public void MakeListGeneratesCorrectNumberOfEntriesWithInstanceOverload()
        {
            Angie.Reset();
            var personCount = 13;

            var people = Angie
                         .Configure <Person>()
                         .MakeList <Person>(personCount);

            Assert.AreEqual(people.Count(), personCount);
        }
예제 #22
0
        public void AsEmailAddressForDomain()
        {
            var domain = "foofoofoobarbarbar.com";

            var person = Angie.Configure <Person>()
                         .Fill(p => p.EmailAddress)
                         .AsEmailAddressForDomain(domain)
                         .Make <Person>();

            Assert.True(person.EmailAddress.Contains(domain));
        }
예제 #23
0
        private static void AFlight()
        {
            var flights = Angie
                          .Configure <Flight>()
                          .Fill(x => x.Range).WithinRange(1000, 10000)
                          .Fill(x => x.FlightNumber).WithRandom(new [] { "AC", "WJ", "SW" })
                          .Fill(x => x.PlaneType, GetRandomPlaneName)
                          .MakeList <Flight>();

            flights.ForEach(x => Console.WriteLine(x));
        }
예제 #24
0
        public void MakeListGeneratesCorrectNumberOfEntriesWithDefaults()
        {
            Angie.Reset();
            var personCount = 13;

            Angie.Default()
            .ListCount(personCount);

            var people = Angie
                         .FastList <Person>();

            Assert.AreEqual(people.Count(), personCount);
        }
예제 #25
0
        public void PopulatedBasicTypesInExistingClassRemainsUnchanged()
        {
            var firstName = "Angie";
            var age       = 29;
            var date      = DateTime.Now.AddYears(-29);
            var person    = Angie.FastFill(new Person {
                FirstName = firstName, Age = age, BirthDate = date
            });

            // for test brievity
            Assert.AreEqual(person.FirstName, firstName, "String property was altered. Aborting additional asserts in test.");
            Assert.AreEqual(person.Age, age, "Int property was altered. Aborting additional asserts in test.");
            Assert.AreEqual(person.BirthDate, date, "Date was altered. Aborting additional asserts in test.");
        }
        public void MakeDateWithinSpecifiedRange()
        {
            Angie.Reset();

            var minDate = DateTime.Now;
            var maxDate = DateTime.Now.AddDays(1);

            for (int i = 0; i < 1000; i++)
            {
                var date = CalendarDate.Date(minDate, maxDate);
                Assert.GreaterOrEqual(date, minDate);
                Assert.LessOrEqual(date, maxDate);
            }
        }
예제 #27
0
        public void FillPropertyWithRandomValuesFromList()
        {
            IList <Person> peeps = Angie.FastList <Person>(10);

            Angie.Default().ListCount(25);

            IList <Dog> dogs = Angie.Configure <Dog>().Fill(d => d.Owner).WithRandom(peeps).MakeList();

            foreach (Dog dog in dogs)
            {
                Assert.IsNotNull(dog.Owner);
                CollectionAssert.Contains(peeps, dog.Owner);
            }
        }
예제 #28
0
        public void MethodFillStrategyCanBeSpecified()
        {
            IList <string> names = new List <string> {
                "aaa", "bbb", "ccc"
            };
            var person =
                Angie.Configure <Person>()
                .MethodFill <string>(x => x.SetMiddleName(null))
                .WithRandom(names)
                .Make <Person>();

            Assert.IsTrue(!string.IsNullOrEmpty(person.GetMiddleName()));
            CollectionAssert.Contains(names, person.GetMiddleName());
        }
예제 #29
0
        private static void WriteSomePeepsOut()
        {
            Angie.Default()
            .ListCount(3);

            var people = Angie
                         .Configure()
                         .MakeList <Person>();

            foreach (var person in people)
            {
                Console.WriteLine(person);
            }
        }
예제 #30
0
        private static void PleaseAddressMe()
        {
            Angie.Default()
            .ListCount(3);

            var addresses = Angie
                            .Configure()
                            .MakeList <Location>();

            foreach (var location in addresses)
            {
                Console.WriteLine(location);
            }
        }
예제 #31
0
 public AngieDefaulturator(Angie angie, Maggie maggie)
 {
     _angie = angie;
     _maggie = maggie;
 }
예제 #32
0
 public AngieDefaulturator(Angie angie, FillerManager maggie)
 {
     _angie = angie;
     _fillerManager = maggie;
 }