/// <summary> /// returns a decimal value /// </summary> /// <param name="precision"></param> /// <param name="scale"></param> /// <returns></returns> /// <exception cref="Exception"></exception> public static decimal GenerateDecimal(int precision, int scale) { if (precision == 0) { throw new Exception("precision must be greater than zero."); } if (precision == scale) { throw new Exception("precision and scale must have different values"); } if (precision < scale) { throw new Exception("precision cannot be less than scale"); } int randPrecision = NumericGenerator.GenerateInteger(1, (precision - scale) + 1); var a = StringGenerator.GetNumeric(randPrecision); int randScale = NumericGenerator.GenerateInteger(1, scale + 1); var b = StringGenerator.GetNumeric(randScale); decimal result = decimal.Parse($"{a}{culture.NumberDecimalSeparator}{b}"); return(result); }
public void GenerateShort_SUCCESS() { for (int i = 0; i < 5000; i++) { var n = NumericGenerator.GenerateShort(); Assert.True(n >= short.MinValue && n <= short.MaxValue); } }
public void GenerateDecimal_FixedSize_SUCCESS() { var lst = new List <decimal>(); for (int i = 0; i < 1000; i++) { lst.Add(NumericGenerator.GenerateDecimal(8, 2)); } }
public static void TestDatabaseMultiThread() { var provider = new DatabaseProvider(_connectionString, 1); var generator = new NumericGenerator(); var sequence = new Sequence.Sequence(generator, provider); ShowSequenceMultiThread(sequence); }
public static void TestMultiThread() { var generator = new NumericGenerator(); var provider = new InMemoryProvider(); var sequence = new Sequence.Sequence(generator, provider); ShowSequenceMultiThread(sequence); }
public static void TestCyclic() { var generator = new NumericGenerator(); var provider = new InMemoryProvider(); var sequence = new CyclicSequence(generator, provider); ShowSequence(sequence); }
public void ApplyTo(Fixture generator, StringGenerator stringGenerator, NumericGenerator numericGenerator) { generator.Register(() => _types.Next()); generator.Register(() => _methodList.Next()); generator.Register(() => new Exception(stringGenerator.String(), new Exception(stringGenerator.String()))); generator.Register( () => new IPAddress(new[] { numericGenerator.Octet(), numericGenerator.Octet(), numericGenerator.Octet(), numericGenerator.Octet() })); generator.Customize(new MultipleCustomization()); }
/** * Creates an instance of DefaultUniqueTicketIdGenerator with default values * including a {@link DefaultLongNumericGenerator} with a starting value of * 1. * * @param suffix the value to append at the end of the unique id to ensure * uniqueness across JVMs. */ public DefaultUniqueTicketIdGenerator(string suffix) { this.numericGenerator = new DefaultLongNumericGenerator(1); this.randomStringGenerator = new DefaultRandomStringGenerator(); if (suffix != null) { this.suffix = "-" + suffix; } else { this.suffix = null; } }
public static AllGenerator Create() { var emptyCollectionFixture = new Fixture { RepeatCount = 0 }; var methodProxyCalls = new GenericMethodProxyCalls(); var fixtureConfiguration = new AutoFixtureConfiguration(); var fixture = fixtureConfiguration.CreateUnconfiguredInstance(); var collectionGenerator = new CollectionGenerator(methodProxyCalls); var valueGenerator = new ValueGenerator(fixture); var charGenerator = new CharGenerator(valueGenerator); var specificTypeObjectGenerator = new SpecificTypeObjectGenerator(valueGenerator); var emptyCollectionGenerator = new EmptyCollectionGenerator( emptyCollectionFixture, methodProxyCalls); var proxyGenerator = new ProxyGenerator(); var proxyBasedGenerator = new ProxyBasedGenerator( emptyCollectionFixture, methodProxyCalls, emptyCollectionGenerator, //TODO make separate chain for this proxyGenerator, new FakeChainFactory( new CachedReturnValueGeneration(new PerMethodCache <object>()), GlobalNestingLimit.Of(5), proxyGenerator, //TODO get rid of this dependency - its runtime-circular valueGenerator, collectionGenerator)); var stringGenerator = new StringGenerator( charGenerator, valueGenerator, specificTypeObjectGenerator); var numericGenerator = new NumericGenerator( valueGenerator); var allGenerator = new AllGenerator(valueGenerator, charGenerator, specificTypeObjectGenerator, stringGenerator, emptyCollectionGenerator, numericGenerator, proxyBasedGenerator, collectionGenerator, new InvokableGenerator()); fixtureConfiguration.ApplyTo(fixture, stringGenerator, numericGenerator); return(allGenerator); }
/// <summary> /// Generates a random boolean value /// </summary> /// <returns>True or False</returns> public static bool GetRandom() { return(NumericGenerator.GenerateInteger(0, 1) == 1); }