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]); }
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]); }
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)); }
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)); }
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); }
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); } } }
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); } }
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); } }
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(); } }