Exemple #1
0
        public void ShouldGenerateWeeklyMenuThatHasTwoLunchesWith4TuppersAtLeast()
        {
            IWeeklyMenuFactory factory = new WeeklyMenuFactory(_repository);

            var result = factory.GetWeeklyMenu();

            Assert.That(result.Where(x => x.Menu.Lunch.Tuppers > 2).Count(), Is.GreaterThanOrEqualTo(2));
        }
Exemple #2
0
        public void ShouldEnsureThatTwo4TupperLunchesRepeatInTheWeeklyMenu()
        {
            IWeeklyMenuFactory factory = new WeeklyMenuFactory(_repository);

            var result = factory.GetWeeklyMenu();

            Assert.That(result.Where(x => x.Menu.Lunch.Tuppers > 2 && x.Menu.Lunch.Id == result[0].Menu.Lunch.Id).Count(), Is.GreaterThanOrEqualTo(2));
            Assert.That(result.Where(x => x.Menu.Lunch.Tuppers > 2 && x.Menu.Lunch.Id == result[1].Menu.Lunch.Id).Count(), Is.GreaterThanOrEqualTo(2));
        }
Exemple #3
0
        public void ShouldGenerateWeeklyMenuThatComesFromTheRepository()
        {
            IWeeklyMenuFactory factory = new WeeklyMenuFactory(_repository);

            var result = factory.GetWeeklyMenu();

            Assert.That(result[0].Menu.Lunch.Name, Does.StartWith("Lunch"));
            Assert.That(result[0].Menu.Dinner.Name, Does.StartWith("Dinner"));
        }
Exemple #4
0
        public void ShouldGenerateWeeklyMenu()
        {
            IWeeklyMenuFactory factory = new WeeklyMenuFactory(_repository);

            var result = factory.GetWeeklyMenu();

            Assert.That(result, Is.InstanceOf <List <DailyMenu> >());
            Assert.That(result.Count, Is.EqualTo(7));
        }
Exemple #5
0
        public void ShouldGenerateWeeklyMenuThatWontRepeatMoreThanTwoLunches()
        {
            IWeeklyMenuFactory factory = new WeeklyMenuFactory(_repository);

            var result = factory.GetWeeklyMenu();

            Assert.That(result.Where(x => x.Menu.Lunch.Id == result[0].Menu.Lunch.Id).Count(), Is.LessThan(3));
            Assert.That(result.Where(x => x.Menu.Lunch.Id == result[1].Menu.Lunch.Id).Count(), Is.LessThan(3));
            Assert.That(result.Where(x => x.Menu.Lunch.Id == result[2].Menu.Lunch.Id).Count(), Is.LessThan(3));
            Assert.That(result.Where(x => x.Menu.Lunch.Id == result[3].Menu.Lunch.Id).Count(), Is.LessThan(3));
            Assert.That(result.Where(x => x.Menu.Lunch.Id == result[4].Menu.Lunch.Id).Count(), Is.LessThan(3));
            Assert.That(result.Where(x => x.Menu.Lunch.Id == result[5].Menu.Lunch.Id).Count(), Is.LessThan(3));
            Assert.That(result.Where(x => x.Menu.Lunch.Id == result[6].Menu.Lunch.Id).Count(), Is.LessThan(3));
        }
Exemple #6
0
        public void ShouldGenerateWeeklyMenuThatWontRepeatTwoConsecutiveLunches()
        {
            IWeeklyMenuFactory factory = new WeeklyMenuFactory(_repository);

            var result = factory.GetWeeklyMenu();

            //Will apply only to the current week, next monday doesn´t count as repetition.
            Assert.That(result[0].Menu.Lunch.Name, Is.Not.EqualTo(result[1].Menu.Lunch.Name));
            Assert.That(result[1].Menu.Lunch.Name, Is.Not.EqualTo(result[2].Menu.Lunch.Name));
            Assert.That(result[2].Menu.Lunch.Name, Is.Not.EqualTo(result[3].Menu.Lunch.Name));
            Assert.That(result[3].Menu.Lunch.Name, Is.Not.EqualTo(result[4].Menu.Lunch.Name));
            Assert.That(result[4].Menu.Lunch.Name, Is.Not.EqualTo(result[5].Menu.Lunch.Name));
            Assert.That(result[5].Menu.Lunch.Name, Is.Not.EqualTo(result[6].Menu.Lunch.Name));
        }