public static void CustomizeDbaseString(this IFixture fixture) { fixture.Customize <DbaseString>( customization => customization .FromFactory <int>( value => { using (var random = new PooledRandom(value)) { var length = new DbaseFieldLength(random.Next(0, 255)); return(new DbaseString( new DbaseField( fixture.Create <DbaseFieldName>(), DbaseFieldType.Character, fixture.Create <ByteOffset>(), length, new DbaseDecimalCount(0) ), new string('a', random.Next(0, length.ToInt32())))); } } ) .OmitAutoProperties()); }
public static DbaseFieldLength GenerateDbaseInt16Length(this IFixture fixture, DbaseFieldType fieldType) { using (var random = new PooledRandom()) { if (fieldType == DbaseFieldType.Number) { return(new DbaseFieldLength(random.Next(DbaseDouble.MaximumLength.ToInt32()))); } return(new DbaseFieldLength(random.Next(DbaseSingle.MaximumLength.ToInt32()))); } }
public static DbaseFieldLength GenerateDbaseSingleLengthBetween(this IFixture fixture, DbaseFieldLength minLength, DbaseFieldLength maxLength) { if (minLength < DbaseSingle.MinimumLength || minLength > DbaseSingle.MaximumLength) { throw new ArgumentOutOfRangeException(nameof(minLength), $"The minimum length needs to be between {DbaseSingle.MinimumLength} and {DbaseSingle.MaximumLength}."); } if (maxLength < DbaseSingle.MinimumLength || maxLength > DbaseSingle.MaximumLength) { throw new ArgumentOutOfRangeException(nameof(maxLength), $"The maximum length needs to be between {DbaseSingle.MinimumLength} and {DbaseSingle.MaximumLength}."); } if (minLength > maxLength) { throw new ArgumentOutOfRangeException(nameof(minLength), $"The minimum length {minLength} needs to be less than or equal to the maximum length {maxLength}."); } using (var random = new PooledRandom()) { return(new DbaseFieldLength(random.Next(minLength.ToInt32(), maxLength.ToInt32()))); } }
public static DbaseFieldLength GenerateDbaseSingleLength(this IFixture fixture) { using (var random = new PooledRandom()) { return(new DbaseFieldLength(random.Next(DbaseSingle.MinimumLength.ToInt32(), DbaseSingle.MaximumLength.ToInt32()))); } }
public static DbaseFieldLength GenerateDbaseInt32LengthLessThan(this IFixture fixture, DbaseFieldLength maxLength) { using (var random = new PooledRandom()) { return(new DbaseFieldLength(random.Next(maxLength.ToInt32()))); } }
public static DbaseDecimalCount GenerateDbaseSingleDecimalCount(this IFixture fixture, DbaseFieldLength length) { if (length < DbaseSingle.MinimumLength || length > DbaseSingle.MaximumLength) { throw new ArgumentOutOfRangeException(nameof(length), $"The length needs to be between {DbaseSingle.MinimumLength} and {DbaseSingle.MaximumLength}."); } using (var random = new PooledRandom()) { return(new DbaseDecimalCount(random.Next(1, Math.Min(DbaseSingle.MaximumDecimalCount.ToInt32(), length.ToInt32()) - 2))); } }
public static DbaseFieldLength GenerateDbaseDoubleLengthLessThan(this IFixture fixture, DbaseFieldLength maxLength) { if (maxLength < DbaseDouble.MinimumLength || maxLength > DbaseDouble.MaximumLength) { throw new ArgumentOutOfRangeException(nameof(maxLength), $"The maximum length needs to be between {DbaseDouble.MinimumLength} and {DbaseDouble.MaximumLength}."); } using (var random = new PooledRandom()) { return(new DbaseFieldLength(random.Next(DbaseDouble.MinimumLength.ToInt32(), maxLength.ToInt32() + 1))); } }
public static DbaseDecimalCount GenerateDbaseDoubleDecimalCount(this IFixture fixture, DbaseDecimalCount minimum, DbaseFieldLength length) { if (length > DbaseDouble.MaximumLength) { throw new ArgumentOutOfRangeException(nameof(length), $"The length ({length}) can not exceed the maximum length ({DbaseDouble.MaximumLength})."); } using (var random = new PooledRandom()) { return(new DbaseDecimalCount(random.Next(minimum.ToInt32(), Math.Min(DbaseDouble.MaximumDecimalCount.ToInt32() + 1, length.ToInt32()) - 2))); } }