public void Test_GenerateValueLessThan_WhenDoubleAndRule_WhenRuleMoreRestrictive_ShouldRetValidValue()
{
IPropDef def = new PropDefFake {
PropertyType = typeof(double)
};
def.AddPropRule(CreatePropRuleDouble(3.0, 7.0));
var generator = new ValidValueGeneratorDouble(def);
Assert.AreSame(typeof(double), def.PropertyType);
Assert.IsNotEmpty(def.PropRules.OfType<PropRuleDouble>().ToList<PropRuleDouble>());
var propRule = def.PropRules.OfType<PropRuleDouble>().First<PropRuleDouble>();
Assert.AreEqual(3.0, propRule.MinValue);
Assert.AreEqual(7.0, propRule.MaxValue);
var value = (double) generator.GenerateValidValueLessThan(1.7976931348623157E+308);
Assert.IsNotNull(value);
Assert.GreaterOrEqual(value, 3.0);
Assert.LessOrEqual(value, double.MaxValue);
Assert.LessOrEqual(value, 7.0);
}