public PageSelector(IMongoCollection <SitePage> pages, IRandomSelector randomSelector, string specialDayName, int maxPagesForRandomSelection) { if (maxPagesForRandomSelection <= 0) { throw new ArgumentException("maxPagesForRandomSelection must be greater than zero", nameof(maxPagesForRandomSelection)); } _Pages = pages ?? throw new ArgumentNullException(nameof(pages)); _RandomSelector = randomSelector ?? throw new ArgumentNullException(nameof(randomSelector)); _SpecialDayName = specialDayName; //может быть null если сегодня не специальный день (Хеллоуин, Рождество) _MaxPagesForRandomSelection = maxPagesForRandomSelection; }
public SupportScheduler( ICalendar calendar, ISupportScheduleRepository supportScheduleRepository, ISupportScheduleDateValidator supportScheduleDateValidator, ISupportCandidateSelector supportCandidateSelector, IRandomSelector randomSelector) { _calendar = calendar; _supportScheduleRepository = supportScheduleRepository; _supportScheduleDateValidator = supportScheduleDateValidator; _supportCandidateSelector = supportCandidateSelector; _randomSelector = randomSelector; }
public NotTwittedPages(IMongoCollection <SitePage> pages, IRandomSelector randomSelector, string specialDayName, int topQueryCount) { _Pages = pages ?? throw new ArgumentNullException(nameof(pages)); _RandomSelector = randomSelector ?? throw new ArgumentNullException(nameof(randomSelector)); _SpecialDayName = specialDayName; //этот может быть null если сейчас не "особый день" if (topQueryCount <= 0) { throw new ArgumentException("topQueryCount повинно бути більше ніж 0", nameof(topQueryCount)); } _TopQueryCount = topQueryCount; }
public NotTwittedAnimated(IMongoCollection <AnimatedImage> animatedImages, IRandomSelector randomSelector, int topQueryCount, IFolderFromURL folderFromURL, BlobName.IFormatter formatter) { _AnimatedImages = animatedImages ?? throw new ArgumentNullException(nameof(animatedImages)); _RandomSelector = randomSelector ?? throw new ArgumentNullException(nameof(randomSelector)); if (topQueryCount <= 0) { throw new ArgumentException("topQueryCount повинно бути більше ніж 0", nameof(topQueryCount)); } _TopQueryCount = topQueryCount; _FolderFromURL = folderFromURL ?? throw new ArgumentNullException(nameof(folderFromURL)); _Formatter = formatter ?? throw new ArgumentNullException(nameof(formatter)); }
void TestStaticSelector() { System.Random r = new System.Random(); RandomSelectorBuilder <float> builder = new RandomSelectorBuilder <float>(); // add items // pair (item, unnormalized probability) for (int i = 0; i < 32; i++) { builder.Add(i, Mathf.Sqrt(i + 1)); } //build with seed 42 IRandomSelector <float> selector = builder.Build(42); string print = ""; for (int i = 0; i < 100; i++) { print += i.ToString() + ". " + selector.SelectRandomItem() + "\n"; } Debug.Log(print); /// LONG version, to test binary search // add items // pair (item, unnormalized probability) for (int i = 0; i < 1024; i++) { builder.Add(i, Mathf.Sqrt(i + 1)); } //build with seed 42 IRandomSelector <float> longSelector = builder.Build(42); // just run 10000 tests, should be enough for (int i = 0; i < 10000; i++) { longSelector.SelectRandomItem(); } // wont print long version, would spam console too much }
public Handler(IMapper mapper, DrawManagerDbContext context, IRandomSelector randomSelector) { _mapper = mapper; _context = context; _randomSelector = randomSelector; }
public SpecialDaySelector(IDateSupply dateSupply, IRandomSelector randomSelector) { _DateSupply = dateSupply ?? throw new ArgumentNullException(nameof(dateSupply)); _RandomSelector = randomSelector ?? throw new ArgumentNullException(nameof(randomSelector)); }