Ejemplo n.º 1
0
        /// <summary>
        /// Randoms the number.
        /// </summary>
        /// <param name="minValue">
        /// The min value.
        /// </param>
        /// <param name="maxValue">
        /// The max Value.
        /// </param>
        /// <returns>
        /// An integer between those values
        /// </returns>
        /// <externalUnit/>
        /// <revision revisor="dev01" date="1/29/2010" version="1.1.6.1">
        ///     Member Created
        /// </revision>
        public static int RandomNumber(int minValue, int maxValue)
        {
            int returnValue = minValue;

            if (minValue != maxValue)
            {
                int difference   = Math.Abs((maxValue - minValue));
                var randomNumber =
                    (double)BitConverter.ToInt32(SequoiaRandom.RandomBytes(4), 0);

                randomNumber =
                    randomNumber > 0
                        ?
                    randomNumber + 2d
                        : randomNumber + 1d;

                var extraDouble = (randomNumber + int.MaxValue) * difference /
                                  ((1d + int.MaxValue) * 2);

                var extraNumber = (int)Math.Round(extraDouble);
                returnValue += extraNumber;
            }

            return(returnValue);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Generates the string.
 /// </summary>
 /// <param name="minLength">Length of the min.</param>
 /// <param name="maxLength">Length of the max.</param>
 /// <param name="complexity">The complexity.</param>
 /// <returns>The random string</returns>
 /// <externalUnit/>
 /// <revision revisor="dev01" date="1/29/2010" version="1.1.6.1">
 /// Member Created
 /// </revision>
 public string GenerateString(
     int minLength,
     int maxLength,
     StringComplexity.Complexity complexity)
 {
     return
         (this.GenerateString(
              SequoiaRandom.RandomNumber(minLength, maxLength),
              complexity));
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Generates the string.
        /// </summary>
        /// <param name="length">The length.</param>
        /// <param name="complexity">The complexity.</param>
        /// <returns>The random string</returns>
        /// <externalUnit/>
        /// <revision revisor="dev01" date="1/29/2010" version="1.1.6.1">
        ///     Member Created
        /// </revision>
        public string GenerateString(
            int length,
            long complexity)
        {
            StringBuilder tempString = new StringBuilder(length);

            var categoryList     = StringComplexity.ProcessComplexity(complexity);
            var restOfCategories = StringComplexity.ProcessComplexity(complexity);

            StringComplexity.Categories category;
            byte[] bytesHolder      = SequoiaRandom.RandomBytes(length);
            Array  listOfCategories =
                Enum.GetValues(typeof(StringComplexity.Categories));

            foreach (byte letter in bytesHolder)
            {
                int index = 0;
                if (categoryList.Count > 0)
                {
                    index = SequoiaRandom.RandomNumber(
                        0, categoryList.Count - 1);
                    category = categoryList[index];
                    categoryList.RemoveAt(index);
                }
                else
                {
                    index = SequoiaRandom.RandomNumber(
                        0,
                        restOfCategories.Count - 1);
                    category = restOfCategories[index];
                }

                char character = this.GetCharacter(letter, category);
                tempString.Append(character);
            }

            return(tempString.ToString());
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Randoms the number.
 /// </summary>
 /// <returns>A random Positive Integer</returns>
 /// <externalUnit/>
 /// <revision revisor="dev01" date="1/29/2010" version="1.1.6.1">
 ///     Member Created
 /// </revision>
 public static int RandomNumber()
 {
     return(BitConverter.ToInt32(SequoiaRandom.RandomBytes(4), 0));
 }