Exemplo n.º 1
0
        internal Parameter(int min, int max, bool logBase = false, int steps = 100)
        {
            Contract.Assert(max > min);
            Contract.Assert(steps > 0);
            Contract.Assert(!logBase || (logBase && min > 0));
            var option = new Int32ValueGenerator.Option()
            {
                Min     = min,
                Max     = max,
                Steps   = steps,
                LogBase = logBase,
            };

            this.ValueGenerator = new Int32ValueGenerator(option);
        }
        public void Int32ValueGenerator_should_generate_value_from_normalize(int min, int max, int step, bool logbase, int expect)
        {
            var option = new Int32ValueGenerator.Option()
            {
                Min     = min,
                Max     = max,
                Name    = "int",
                Steps   = step,
                LogBase = logbase,
            };

            var generator = new Int32ValueGenerator(option);

            generator.CreateFromNormalized(1.0).RawValue.Should().Be(max);
            generator.CreateFromNormalized(0).RawValue.Should().Be(min);
            generator.CreateFromNormalized(0.5).RawValue.Should().Be(expect);
        }
        public void Int32ValueGenerator_should_work_with_index(int min, int max, int step, bool logBase, int count)
        {
            var option = new Int32ValueGenerator.Option()
            {
                Min     = min,
                Max     = max,
                Steps   = step,
                Name    = "int",
                LogBase = logBase,
            };

            var generator = new Int32ValueGenerator(option);

            generator.Count.Should().Be(count + 1);
            generator[0].RawValue.Should().Be(min);
            ((int)generator[count].RawValue)
            .Should()
            .Be(max);
        }