internal Parameter(double min, double max, bool logBase = false, int steps = 100) { Contract.Assert(max > min); Contract.Assert(steps > 0); Contract.Assert(!logBase || (logBase && min > 0)); var option = new DoubleValueGenerator.Option() { Min = min, Max = max, Steps = steps, LogBase = logBase, }; this.ValueGenerator = new DoubleValueGenerator(option); }
public void DoubleValueGenerator_should_generate_value_from_normalize(double min, double max, int step, bool logbase, double expect) { var option = new DoubleValueGenerator.Option() { Min = min, Max = max, Name = "double", Steps = step, LogBase = logbase, }; var generator = new DoubleValueGenerator(option); generator.CreateFromNormalized(1.0f).RawValue.As <double>().Should().BeApproximately(max, 0.0001); generator.CreateFromNormalized(0f).RawValue.As <double>().Should().BeApproximately(min, 0.0001); generator.CreateFromNormalized(0.5f).RawValue.As <double>().Should().BeApproximately(expect, 0.0001); }
public void DoubleValueGenerator_should_work_with_index(double min, double max, int step, bool logBase, int count) { var option = new DoubleValueGenerator.Option() { Min = min, Max = max, Steps = step, Name = "double", LogBase = logBase, }; var generator = new DoubleValueGenerator(option); generator.Count.Should().Be(count + 1); generator[0].RawValue.Should().Be(min); ((double)generator[count].RawValue) .Should() .BeApproximately(max, 0.00001); }