Example #1
0
        public static void GenerateSummarichDaten(ISession session, ErfassungsPeriod currentPeriod)
        {
            var netzSummarisch = session.Query <NetzSummarisch>().Single(m => m.ErfassungsPeriod == currentPeriod);

            netzSummarisch.MittleresErhebungsJahr = DateTime.Now;
            netzSummarisch.NetzSummarischDetails.ToList().ForEach(n => netzSummarisch.NetzSummarischDetails.Remove(n));
            session.Flush();
            var belastungskategories = session.Query <Belastungskategorie>().ToList();
            var randomItemPicker     = new RandomItemPicker <Belastungskategorie>(belastungskategories, new UniqueRandomGenerator());
            var detailBuilder        = Builder <NetzSummarischDetail> .CreateListOfSize(belastungskategories.Count)
                                       .All()
                                       .With(d => d.NetzSummarisch      = netzSummarisch)
                                       .With(d => d.Belastungskategorie = randomItemPicker.Pick());

            foreach (var netzSummarischDetail in detailBuilder.Build())
            {
                netzSummarisch.NetzSummarischDetails.Add(netzSummarischDetail);
                session.Save(netzSummarischDetail);
            }

            var realisierteMassnahmenBuilder = Builder <RealisierteMassnahmeSummarsich> .CreateListOfSize(RealisierteMassnahmeSummarsichCount)
                                               .All()
                                               .With(d => d.Mandant             = currentPeriod.Mandant)
                                               .With(d => d.ErfassungsPeriod    = currentPeriod)
                                               .With(d => d.Belastungskategorie = Pick <Belastungskategorie> .RandomItemFrom(belastungskategories));

            foreach (var realisierteMassnahmeSummarsich in realisierteMassnahmenBuilder.Build())
            {
                session.Save(realisierteMassnahmeSummarsich);
            }
        }
        public void ShouldBeAbleToUseRandomItemPicker()
        {
            const int listCount = 5;
            list.Stub(x => x.Count).Return(listCount);
            randomGenerator.Stub(x => x.Next(0, listCount)).Return(2);
            
            var picker = new RandomItemPicker<MyClass>(list, randomGenerator);

            // Act
            picker.Pick();

            // Assert
            list.AssertWasCalled(x => x[2]);
        }
Example #3
0
        public void ShouldBeAbleToUseRandomItemPicker()
        {
            const int listCount = 5;

            list.Stub(x => x.Count).Return(listCount);
            randomGenerator.Stub(x => x.Next(0, listCount)).Return(2);

            var picker = new RandomItemPicker <MyClass>(list, randomGenerator);

            // Act
            picker.Pick();

            // Assert
            list.AssertWasCalled(x => x[2]);
        }
Example #4
0
        public void ShouldBeAbleToUseRandomItemPicker()
        {
            const int listCount = 5;

            list.Count.Returns(listCount);
            randomGenerator.Next(0, listCount).Returns(2);

            var picker = new RandomItemPicker <MyClass>(list, randomGenerator);

            // Act
            picker.Pick();

            // Assert
            //http://stackoverflow.com/questions/39610125/how-to-check-received-calls-to-indexer-with-nsubstitute
            var ignored = list.Received()[2];
        }
        public void RandomItemPickerShouldHitRandomGeneratorEveryTimeAnItemIsPicked()
        {
            var zero = new MyClass();
            var one = new MyClass();

            var theList = new List<MyClass> { zero, one };

            int endIndex = theList.Count;

            randomGenerator.Stub(x => x.Next(0, endIndex)).Return(0).Repeat.Once();
            randomGenerator.Stub(x => x.Next(0, endIndex)).Return(1).Repeat.Once();

            var picker = new RandomItemPicker<MyClass>(theList, randomGenerator);

            Assert.That(picker.Pick(), Is.EqualTo(zero));
            Assert.That(picker.Pick(), Is.EqualTo(one));
        }
Example #6
0
        public void RandomItemPickerShouldHitRandomGeneratorEveryTimeAnItemIsPicked()
        {
            var zero = new MyClass();
            var one  = new MyClass();

            var theList = new List <MyClass> {
                zero, one
            };

            int endIndex = theList.Count;

            randomGenerator.Stub(x => x.Next(0, endIndex)).Return(0).Repeat.Once();
            randomGenerator.Stub(x => x.Next(0, endIndex)).Return(1).Repeat.Once();

            var picker = new RandomItemPicker <MyClass>(theList, randomGenerator);

            Assert.That(picker.Pick(), Is.EqualTo(zero));
            Assert.That(picker.Pick(), Is.EqualTo(one));
        }
Example #7
0
        public void RandomItemPickerShouldHitRandomGeneratorEveryTimeAnItemIsPicked()
        {
            var zero = new MyClass();
            var one  = new MyClass();

            var theList = new List <MyClass> {
                zero, one
            };

            int endIndex = theList.Count;


            randomGenerator.Next(0, endIndex).Returns(0, 1);

            var picker = new RandomItemPicker <MyClass>(theList, randomGenerator);

            picker.Pick().ShouldBe(zero);
            picker.Pick().ShouldBe(one);
        }
Example #8
0
        private void CreateMails(IRepository repository)
        {
            var clients = repository.Query <Person>()
                          .Where(x => x.Role == PersonRole.Client).ToList();
            var employees = repository.Query <Person>()
                            .Where(x => x.Role == PersonRole.Employee).ToList();

            var randomEmployee = new RandomItemPicker <Person>(employees, new RandomGenerator());

            foreach (var client in clients)
            {
                var date = GetRandom.DateTime(January.The1st, DateTime.Now);

                for (int i = 0; i < 3; i++)
                {
                    var clientMail = Builder <MailMessage> .CreateNew()
                                     .With(x => x.Id        = 0)
                                     .With(x => x.Sender    = client)
                                     .With(x => x.Receivers = new List <Person> {
                        randomEmployee.Pick()
                    })
                                     .With(x => x.Subject = GetRandom.Phrase(10))
                                     .With(x => x.Body    = GetRandom.Phrase(GetRandom.Int(60, 250)))
                                     .With(x => x.Date    = date.AddDays(i * 7))
                                     .Build();

                    repository.Save(clientMail);

                    var employeeMail = Builder <MailMessage> .CreateNew()
                                       .With(x => x.Id        = 0)
                                       .With(x => x.Sender    = randomEmployee.Pick())
                                       .With(x => x.Receivers = new List <Person> {
                        client
                    })
                                       .With(x => x.Subject = GetRandom.Phrase(10))
                                       .With(x => x.Body    = GetRandom.Phrase(GetRandom.Int(60, 250)))
                                       .With(x => x.Date    = date.AddDays(i * 7 + 3))
                                       .Build();

                    repository.Save(employeeMail);
                }
            }
        }
Example #9
0
        private void CreatePersons(EfRepository repository)
        {
            var twitterUris = new List <string> {
                "https://twitter.com/1van1111", "https://twitter.com/mnzadornov"
            };
            var facebookUris = new List <string> {
                "http://www.facebook.com/ivan.zaporozhchenko", "http://www.facebook.com/dmitriy.stranger.7"
            };
            var linkedInUris = new List <string> {
                "http://ua.linkedin.com/in/titarenko", "http://ua.linkedin.com/in/olvia"
            };
            var countries = new List <string> {
                "Ukraine", "Poland", "Russia", "England", "USA", "Slovakia", "Finland"
            };

            var randomTwitterUri  = new RandomItemPicker <string>(twitterUris, new RandomGenerator());
            var randomFacebookUri = new RandomItemPicker <string>(facebookUris, new RandomGenerator());
            var randomlinkedInUri = new RandomItemPicker <string>(linkedInUris, new RandomGenerator());
            var randomCountry     = new RandomItemPicker <string>(countries, new RandomGenerator());

            var persons = Builder <Person> .CreateListOfSize(15)
                          .All()
                          .With(x => x.FirstName    = GetRandom.FirstName())
                          .With(x => x.LastName     = GetRandom.LastName())
                          .With(x => x.Role         = PersonRole.Employee)
                          .With(x => x.Country      = randomCountry.Pick())
                          .With(x => x.Email        = x.FullName.Replace(" ", "") + "@example.com")
                          .With(x => x.Phone        = GetRandom.Usa.PhoneNumber())
                          .With(x => x.CreationDate = GetRandom.DateTime(January.The1st, DateTime.Now))
                          .With(x => x.Id           = 0)
                          .With(x => x.PhotoUri     = "")
                          .With(x => x.FacebookUri  = randomFacebookUri.Pick())
                          .With(x => x.LinkedInUri  = randomlinkedInUri.Pick())
                          .With(x => x.TwitterUri   = randomTwitterUri.Pick())
                          .TheFirst(10)
                          .With(x => x.Role = PersonRole.Client)
                          .Build();

            foreach (var person in persons)
            {
                repository.Save(person);
            }
        }
Example #10
0
        private void CreateInquiries(EfRepository repository)
        {
            var clients = repository.Query <Person>()
                          .Where(x => x.Role == PersonRole.Client).ToList();
            var randomClient = new RandomItemPicker <Person>(clients, new RandomGenerator());

            var tags      = repository.Query <Tag>().ToList();
            var randomTag = new RandomItemPicker <Tag>(tags, new RandomGenerator());

            var iquiries = Builder <Inquiry> .CreateListOfSize(45)
                           .All()
                           .With(x => x.Id            = 0)
                           .With(x => x.Client        = randomClient.Pick())
                           .With(x => x.Subject       = "Need " + GetRandom.Int(2, 4) + " " + randomTag.Pick().Name + " developers")
                           .With(x => x.Comments      = new List <Comment>())
                           .With(x => x.ReferenceDate = GetRandom.DateTime(Clock.Now.GetStartOfMonth(),
                                                                           Clock.Now.GetEndOfMonth().AddDays(1)))
                           .With(x => x.Source = Builder <MailMessage> .CreateNew()
                                                 .With(z => z.Date    = GetRandom.DateTime(January.The1st, Clock.Now))
                                                 .With(z => z.Subject = GetRandom.Phrase(10))
                                                 .With(z => z.Body    = GetRandom.Phrase(GetRandom.Int(60, 250)))
                                                 .With(z => z.Id      = 0)
                                                 .Build())
                           .With(x => x.Tags = new List <Tag> {
                randomTag.Pick()
            })
                           .TheFirst(5)
                           .With(x => x.ReferenceDate = GetRandom.DateTime(Clock.Now.GetStartOfBusinessWeek(),
                                                                           Clock.Now.GetEndOfBusinessWeek().AddDays(1)))
                           .TheNext(5)
                           .With(x => x.ReferenceDate = null)
                           .With(x => x.Tags          = null)
                           .TheNext(7)
                           .With(x => x.ReferenceDate = Clock.Now.GetStartOfBusinessWeek())
                           .Build();

            foreach (var inquiry in iquiries)
            {
                repository.Save(inquiry);
            }
        }
Example #11
0
        public void Glip()
        {
            var random = new Random();
            var documentore = new DocumentStore { Url = "http://localhost:8080/databases/CQRSSimpleExample" };
            documentore.Initialize();
            using (var session = documentore.OpenSession())
            {
                var characters = session.Query<Character>().ToList();
                var ids = session.Query<Account>().Take(1003).Select(a => new { a.Id }).ToList();
                var randomPicker = new RandomItemPicker<string>(ids.Select(a => a.Id).ToList(), new RandomGenerator(new Random()));

                var votes = from character in characters
                            from number in Enumerable.Range(0, random.Next(1000))
                            select new Vote {CharacterId = character.Id, UserId = randomPicker.Pick(), Points = 1};
                foreach (var vote in votes)
                {
                    session.Store(vote);
                }

                session.SaveChanges();

            }
        }