Example #1
0
        public void SingleItem_GivenOneWeightedItem()
        {
            var item = new IntervalMessage("foo", 354);

            var weightedItem = MyRandom.ChooseRandomWeightedItem(new[] { item });

            weightedItem.Should().Be(item);
        }
Example #2
0
        public void Null_GivenNoWeightedItem()
        {
            var item = new IntervalMessage();

            var weightedItem = MyRandom.ChooseRandomWeightedItem(new[] { item });

            weightedItem.Should().BeNull();
        }
Example #3
0
        public void Null_GivenEmptyList()
        {
            var weightedItems = new List <IntervalMessage>();

            var weightedItem = MyRandom.ChooseRandomWeightedItem(weightedItems);

            weightedItem.Should().BeNull();
        }
        public void SendMessage()
        {
            var             allMessages = _repository.List(IntervalMessagePolicy.All());
            IntervalMessage message     = MyRandom.ChooseRandomWeightedItem(allMessages);

            _chatClient.SendMessage(message.MessageText);

            SetNextRunTime();
            message.LastSent = DateTime.UtcNow;
            _repository.Update(message);
        }
Example #5
0
        public void AnItemFromCollection_GivenMultiples()
        {
            var weightedItems = new List <IntervalMessage>
            {
                new IntervalMessage("foo", 3),
                new IntervalMessage("bar", 3),
                new IntervalMessage("fiz", 3),
            };

            var chosenItem = MyRandom.ChooseRandomWeightedItem(weightedItems);

            weightedItems.Should().Contain(chosenItem);
        }
Example #6
0
        public void SingleItem_GivenMultipleItemsOnlyOneWeighted()
        {
            var item          = new IntervalMessage("foo", 2);
            var weightedItems = new List <IntervalMessage>
            {
                item,
                new IntervalMessage("bar", 0),
                new IntervalMessage("fiz", 0),
            };

            var weightedItem = MyRandom.ChooseRandomWeightedItem(weightedItems);

            weightedItem.Should().Be(item);
        }