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