Ejemplo n.º 1
0
        public void TestGetRandomItemsWithEmptyItemSet()
        {
            var randomItemRetriever = new RandomItemRetriever <IProbabilityWeightedItem>(_randomGenerator,
                                                                                         Enumerable.Empty <IProbabilityWeightedItem>());

            randomItemRetriever.NextItem();
        }
        public void TestGetRandomItemsWithEmptyItemSet()
        {
            var randomItemRetriever = new RandomItemRetriever<IProbabilityWeightedItem>(_randomGenerator,
                                                                                        Enumerable.Empty<IProbabilityWeightedItem>());

            randomItemRetriever.NextItem();
        }
Ejemplo n.º 3
0
        public void TestGetRandomItemsInNonUniformDistribution()
        {
            var items = GetNonUniformlyDistributedItems(10).ToList();
            var randomItemRetriever = new RandomItemRetriever <IProbabilityWeightedItem>(_randomGenerator, items);

            var actualItems = Enumerable.Range(0, 10)
                              .Select(counter => randomItemRetriever.NextItem())
                              .ToList();

            var expectedItems = new List <IProbabilityWeightedItem>
            {
                items[0],
                items[1],
                items[1],
                items[2],
                items[2],
                items[2],
                items[3],
                items[3],
                items[3],
                items[3]
            };

            Assert.IsTrue(expectedItems.SequenceEqual(actualItems));
        }
        public void TestGetRandomItemsInNonUniformDistribution()
        {
            var items = GetNonUniformlyDistributedItems(10).ToList();
            var randomItemRetriever = new RandomItemRetriever<IProbabilityWeightedItem>(_randomGenerator, items);

            var actualItems = Enumerable.Range(0, 10)
                            .Select(counter => randomItemRetriever.NextItem())
                            .ToList();

            var expectedItems = new List<IProbabilityWeightedItem>
                                    {
                                        items[0],
                                        items[1],
                                        items[1],
                                        items[2],
                                        items[2],
                                        items[2],
                                        items[3],
                                        items[3],
                                        items[3],
                                        items[3]
                                    };

            Assert.IsTrue(expectedItems.SequenceEqual(actualItems));
        }