public void RunsSetupNull()
        {
            var count = Substitute.For<IQueueCount>();

            var s = new StorageQueueAutoScaler<object>(count, new QueueConnection<object>());
            s.Runs(null);
        }
        public void Runs()
        {
            var random    = new Random();
            var frequency = new Range <byte>();

            frequency.Maximum = (byte)random.Next(byte.MinValue, byte.MaxValue);
            frequency.Minimum = (byte)random.Next(byte.MinValue, frequency.Maximum);
            var count = Substitute.For <IQueueCount>();
            var setup = new QueueSetup <object>()
            {
                Priority  = QueuePriority.High,
                Name      = Guid.NewGuid().ToString(),
                Processor = () => { return(Substitute.For <IProcessor <object> >()); },
            };
            var connection = new QueueConnection <object>()
            {
                Setup            = setup,
                ConnectionString = ConnectionString,
            };
            var throughput = Substitute.For <IQueueThroughput>();

            throughput.Frequency(setup.Priority).Returns(frequency);

            var s    = new StorageQueueAutoScaler <object>(count, connection, throughput);
            var runs = s.Runs(connection);

            Assert.IsNotNull(runs);
            Assert.AreEqual(frequency.Minimum, runs.MinimumPeriodInSeconds);
            Assert.AreEqual(frequency.Maximum, runs.MaximumPeriodInSeconds);

            throughput.Received().Frequency(setup.Priority);
        }
        public void Runs()
        {
            var random = new Random();
            var frequency = new Range<byte>();
            frequency.Maximum = (byte)random.Next(byte.MinValue, byte.MaxValue);
            frequency.Minimum = (byte)random.Next(byte.MinValue, frequency.Maximum);
            var count = Substitute.For<IQueueCount>();
            var setup = new QueueSetup<object>()
            {
                Priority = QueuePriority.High,
                Name = Guid.NewGuid().ToString(),
                Processor = () => { return Substitute.For<IProcessor<object>>(); },
            };
            var connection = new QueueConnection<object>()
            {
                Setup = setup,
                ConnectionString = ConnectionString,
            };
            var throughput = Substitute.For<IQueueThroughput>();
            throughput.Frequency(setup.Priority).Returns(frequency);

            var s = new StorageQueueAutoScaler<object>(count, connection, throughput);
            var runs = s.Runs(connection);

            Assert.IsNotNull(runs);
            Assert.AreEqual(frequency.Minimum, runs.MinimumPeriodInSeconds);
            Assert.AreEqual(frequency.Maximum, runs.MaximumPeriodInSeconds);

            throughput.Received().Frequency(setup.Priority);
        }
        public void RunsSetupNull()
        {
            var count = Substitute.For <IQueueCount>();

            var s = new StorageQueueAutoScaler <object>(count, new QueueConnection <object>());

            Assert.That(() => s.Runs(null), Throws.TypeOf <ArgumentNullException>());
        }