<?xml version="1.0"?>
<doc>
    <assembly>
        <name>PeanutButter.RandomGenerators</name>
    </assembly>
    <members>
        <member name="T:PeanutButter.RandomGenerators.CannotGetAnotherDifferentRandomValueException`1">
            <summary>
            Exception thrown when the method GetAnother is unable to find another
            random value different from the exclusion value specified
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="P:PeanutButter.RandomGenerators.CannotGetAnotherDifferentRandomValueException`1.Value">
            <summary>
            Value which was specified to be avoided
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.CannotGetAnotherDifferentRandomValueException`1.#ctor(`0)">
            <summary>
            Constructs a new instance of the exception, storing the unwanted value
            </summary>
            <param name="unwantedValue">Value which was to be avoided when generating a new value</param>
        </member>
        <member name="T:PeanutButter.RandomGenerators.DateRange">
            <summary>
            Holds a date range
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.DateRange.From">
            <summary>
            Start of the date range
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.DateRange.To">
            <summary>
            End of the date range
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.DateRange.#ctor(System.DateTime,System.DateTime)">
            <summary>
            Constructs a new DateRange object, ensuring that {from} is less than {to}
            </summary>
            <param name="from">Date to start the range</param>
            <param name="to">Date for the end of the range</param>
        </member>
        <member name="M:PeanutButter.RandomGenerators.DateRange.InRange(System.DateTime)">
            <summary>
            Tests whether a provided DateTime value is within the stored range
            </summary>
            <param name="value">Value to test</param>
            <returns>True if the value falls within the date range</returns>
        </member>
        <member name="T:PeanutButter.RandomGenerators.EnumerableExtensions">
            <summary>
            Provides extensions for generic IEnumerable collections
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.EnumerableExtensions.Randomize``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Takes an input collection and returns a new collection which is the
            input collection in random order
            </summary>
            <param name="input">Collection to randomize</param>
            <typeparam name="T">Item type of the collection</typeparam>
            <returns>A new collection with the same items as the original, but in random order</returns>
        </member>
        <member name="T:PeanutButter.RandomGenerators.GenericBuilder`2">
            <summary>
            Base class for builders to produce instance of objects with a fluent
            builder-like syntax. Also includes utilities like randomizing property
            values.
            </summary>
            <typeparam name="TBuilder">Concrete type of the current builder, required to be able to return the builder from all With* methods</typeparam>
            <typeparam name="TEntity">Type of entity this builder builds</typeparam>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.Create">
            <summary>
            Creates a new instance of the builder; used to provide a fluent syntax
            </summary>
            <returns>New instance of the builder</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.GenericWithRandomProps">
            <inheritdoc />
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.WithBuildLevel(System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.GenericBuild">
            <inheritdoc />
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.GenericDeepBuild">
            <inheritdoc />
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.BuildDefault">
            <summary>
            Builds a default instance of the entity
            </summary>
            <returns>New instance of the builder entity</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.BuildRandom">
            <summary>
            Convenience method: Creates a builder, sets random properties, returns a new instance of the entity
            </summary>
            <returns>New instance of TEntity with all randomizable properties randomized</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.WithDefaultProp(System.Action{`1})">
            <summary>
            Adds a default property setter, shared amongst all instances of this
            particular builder type
            </summary>
            <param name="action">
            Action to perform on the entity being built, will run before any
            actions specified on the instance
            </param>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.WithProp(System.Action{`1})">
            <summary>
            Generic method to set a property on the entity.
            </summary>
            <param name="action">Action to run on the entity at build time</param>
            <returns>The current instance of the builder</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.WithProp(PeanutButter.Utils.ActionRef{`1})">
            <summary>
            Generic method to set a property on an entity
            when that entity is a struct type.
            </summary>
            <param name="action">Action to run on the entity</param>
            <returns>The current instance of the builder</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.ConstructEntity">
            <summary>
            Constructs a new instance of the entity. Mostly, an inheritor won't have to
            care, but if your entity has no parameterless constructor, you'll want to override
            this in your derived builder.
            </summary>
            <returns>New instance of TEntity, constructed from the parameterless constructor, when possible</returns>
            <exception cref="T:PeanutButter.RandomGenerators.GenericBuilderInstanceCreationException"></exception>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.Build">
            <summary>
            Builds the instance of TEntity, applying all builder actions in
            order to provide the required entity
            </summary>
            <returns>An instance of TEntity with all builder actions run on it</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.WithDefaultDateTimeKind(System.DateTimeKind)">
            <summary>
            Sets the default DateTimeKind to be expected on DateTime properties
            randomly generated by this builder.
            </summary>
            <param name="dateTimeKind">Expected DateTimeKind. Setting Unspecified will result
            in the default DateTimeKind (Local)</param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.WithRandomProps">
            <summary>
            Randomizes all properties on the instance of TEntity being built.
            This method will use methods from RandomValueGen and may generate
            new GenericBuilder types for generating more complex properties
            </summary>
            <returns>The current builder instance</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilder`2.WithFilledCollections">
            <summary>
            Attempts to fill collections with random data. May fail with stack-overflows
            on complex, cyclic-referencing objects. Not enabled by default on random builds,
            use with caution -- may lead to a stack overflow with collections which contain
            items whose types which have collections with items whose types... and so on. 
            </summary>
            <returns>The current instance of the builder</returns>
        </member>
        <member name="T:PeanutButter.RandomGenerators.GenericBuilderBase">
            <summary>
            Abstract base class for housing shared logic between all builders and
            allowing a base, unconstructable class to use to reference a collection
            of builders
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.GenericBuilderBase.MaxRandomPropsLevel">
            <summary>
            Sets the maximum level to go to when generating random properties of
            random properties, to prevent stack and memory overflows
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.GenericBuilderBase.DynamicBuilders">
            <summary>
            Holds a lookup of all GenericBuilder classes which have been generated
            to facilitate automatic property building. Searched when looking for a builder
            to generate a property before attempting to generate a builder type (re-use)
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.GenericBuilderBase.UserBuilders">
            <summary>
            Holds a lookup of GenericBuilder classes which were provided by consuming
            code. Searched before searching the DynamicBuilders lookup or attempting to create
            an auto-generated builder type.
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.GenericBuilderBase.NullableGeneric">
            <summary>
            Provides a lookup to the type which is the generic Nulllable
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.GenericBuilderBase.GenericBuilderBaseType">
            <summary>
            Provides a lookup to the type which is the GenericBuilder
            </summary>
        </member>
        <member name="T:PeanutButter.RandomGenerators.GenericBuilderInstanceCreationException">
            <summary>
            Exception thrown then the default method for constructing entities
            within a GenericBuilder fails, normally because the entity being
            built has no parameterless constructor.
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilderInstanceCreationException.#ctor(System.Type,System.Type)">
            <summary>
            Constructs a new instance of the exception
            </summary>
            <param name="builderType">Type of the builder</param>
            <param name="entityType">Type of the entity to be built</param>
        </member>
        <member name="T:PeanutButter.RandomGenerators.GenericBuilderLocator">
            <summary>
            Locator class which attempts to find suitable builders on demand
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilderLocator.GetGenericBuilderInstanceFor(System.Type)">
            <summary>
            Attempts to find and instantiate a generic builder for the type provided
            </summary>
            <param name="type">Type to find or create a builder for</param>
            <returns>a builder, hopefully!</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilderLocator.GetBuilderFor(System.Type)">
            <summary>
            Attempts to find a GenericBuilder type which is capable of building the
            provided type. Will cause generation of the builder if an existing type
            cannot be found.
            </summary>
            <param name="type">Type for which a builder is required</param>
            <returns>GenericBuilder type which can be constructed and used to build!</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilderLocator.TryFindExistingBuilderFor(System.Type)">
            <summary>
            Searches for an existing builder for the given type, first considering
            the same assembly as the provided type and then considering all assemblies
            within the AppDomain of the provided type.
            </summary>
            <param name="type">Type to search for a builder for</param>
            <returns>GenericBuilder type or null if no suitable builder was found</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilderLocator.InvalidateBuilderTypeCache">
            <summary>
            Resets the builder type cache, in case you really need that to happen
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.GenericBuilderLocator.FindOrGenerateDynamicBuilderFor(System.Type)">
            <summary>
            Attempts to find a dynamic builder (ie, generated GenericBuilder type)
            for the provided type. Will cause generation of a new GenericBuilder implementation
            if an existing one cannot be found.
            </summary>
            <param name="type">Type to find a builder for</param>
            <returns>GenericBuilder type which is capable of building the provided type</returns>
        </member>
        <member name="T:PeanutButter.RandomGenerators.IGenericBuilder">
            <summary>
            The most basic interface to implement for GenericBuilder instances
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.IGenericBuilder.WithBuildLevel(System.Int32)">
            <summary>
            Sets the maximum depth to traverse when randomizing properties
            </summary>
            <param name="level">How far down the rabbit-hole to go</param>
            <returns>The builder</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.IGenericBuilder.GenericWithRandomProps">
            <summary>
            Sets up the builder to build with random property values unless the level specified
            is too deep, in which case it bails out
            </summary>
            <returns>The current builder instance</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.IGenericBuilder.GenericBuild">
            <summary>
            Builds an instance of the object this builder builds
            </summary>
            <returns>Instance of object for which this builder is designed, with all properties as default values</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.IGenericBuilder.GenericDeepBuild">
            <summary>
            Builds an instance of the object this builder builds
            </summary>
            <returns>Instance of object for which this builder is designed, with properties default but complex objects filled in default</returns>
        </member>
        <member name="T:PeanutButter.RandomGenerators.NaturalData">
            <summary>
            Provides modifiable sources of "natural" data
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.NaturalData.FirstNames">
            <summary>
            Popular first names from over the world
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.NaturalData.LastNames">
            <summary>
            Common last names from over the world
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.NaturalData.CompaniesWithInternetDomains">
            <summary>
            Companies which have some internet presence
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.NaturalData.TopLevelDomains">
            <summary>
            All TLDs as at time of writing
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.NaturalData.StreetSuffix">
            <summary>
            Provides street suffixes
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.NaturalData.CountryLookup">
            <summary>
            Provides a lookup of country code to country name
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.NaturalData.Countries">
            <summary>
            Provides a list of countries
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.NaturalData.CountryCodes">
            <summary>
            All known country codes as at time of writing
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.NaturalData.CityPrefixes">
            <summary>
            Some prefixes for city names
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.NaturalData.CitySuffixes">
            <summary>
            Some suffixes for city names
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.NaturalData.LanguageNames">
            <summary>
            Provides a list of language names
            - scraped from https://www.w3schools.com/tags/ref_language_codes.asp
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.NaturalData.LanguageCodes">
            <summary>
            Provides a list of language codes
            - scraped from https://www.w3schools.com/tags/ref_language_codes.asp
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.NaturalData.LanguageNameToLanguageCodeLookup">
            <summary>
            Provides a lookup of language names to their respective language codes
            - scraped from https://www.w3schools.com/tags/ref_language_codes.asp
            </summary>
        </member>
        <member name="T:PeanutButter.RandomGenerators.NoRandomize">
            <summary>
            Specifies one or more properties, by name, to ignore
               when attempting .WithRandomProps on an entity
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.NoRandomize.#ctor(System.String,System.String[])">
            <inheritdoc />
        </member>
        <member name="M:PeanutButter.RandomGenerators.NoRandomize.SetRandomValue(PeanutButter.Utils.PropertyOrField,System.Object@)">
            <inheritdoc />
        </member>
        <member name="T:PeanutButter.RandomGenerators.RandomizerAttribute">
            <summary>
            Base class to use when wishing to guide randomization on a builder via
            attributes.
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.RandomizerAttribute.PropertyNames">
            <summary>
            The name of the property to which this randomizer attribute pertains
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomizerAttribute.#ctor(System.String,System.String[])">
            <summary>
            Constructs this attribute to act against one or more
            properties by name
            </summary>
            <param name="propertyName">initial property name</param>
            <param name="otherPropertyNames">any additional property names</param>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomizerAttribute.SetRandomValue(PeanutButter.Utils.PropertyOrField,System.Object@)">
            <summary>
            Actually invoked when attempting to set a random value on the
            named property
            </summary>
            <param name="propInfo"></param>
            <param name="target"></param>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomizerAttribute.Init(System.Type)">
            <summary>
            override in your implementation if you'd like to late-initialize
            relevant property names
            </summary>
            <param name="type"></param>
        </member>
        <member name="T:PeanutButter.RandomGenerators.TimeSpanContexts">
            <summary>
            Context to use when getting a random timespan
            </summary>
        </member>
        <member name="T:PeanutButter.RandomGenerators.RandomValueGen">
            <summary>
            Class which provides a number of static methods to produce random values.
            Suggestion: make use of "using static" to bring these methods into your class
            as if they were local members, ie:
            using static PeanutButter.RandomGenerators.RandomValueGen;
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandom``1">
            <summary>
            Gets a random value of the specified type by attempting to find the correct
            random generator method and invoking it. Works on primitives (eg int, string),
            enums and complex objects. When invoked on a complex object, will attempt to fine
            (or, if necessary, create) a GenericBuilder to produce the result
            </summary>
            <typeparam name="T">Type to generate a random value of</typeparam>
            <returns>New instance of the specified type. Should be different every time, when possible.</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomType">
            <summary>
            Returns a random loaded type in the current app domain
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomValue(System.Type)">
            <summary>
            Gets a random value of the specified type by attempting to find the correct
            random generator method and invoking it. Works on primitives (eg int, string),
            enums and complex objects. When invoked on a complex object, will attempt to fine
            (or, if necessary, create) a GenericBuilder to produce the result
            </summary>
            <param name="type">Type to generate a random value of</param>
            <returns>New instance of the specified type. Should be different every time, when possible.</returns>
        </member>
        <member name="T:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges">
            <summary>
            Exposes the default range values used within RandomValueGen when
            the ranges are omitted by calling code
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MIN_WORDS">
            <summary>
            Default minimum number of words to generate
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MAX_WORDS">
            <summary>
            Default maximum number of words to generate
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.DEFAULT_WORD_RANGE">
            <summary>
            Default range of the number of words to generate
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MINLENGTH_STRING">
            <summary>
            Default minimum length of random strings
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MINLENGTH_BYTES">
            <summary>
            Default minimum number of bytes to return
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MAXLENGTH_BYTES">
            <summary>
            Default maximum number of bytes to return
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.DEFAULT_BYTES_RANGE">
            <summary>
             Defines the range of default bytes
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MIN_INT_VALUE">
            <summary>
            Default minimum integer value returned
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MAX_INT_VALUE">
            <summary>
            Default maximum integer value returned
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.DEFAULT_INT_RANGE">
            <summary>
            Defines the range of default integer max / min
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MIN_MONEY_VALUE">
            <summary>
            Defines the default minimum money value returned
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MAX_MONEY_VALUE">
            <summary>
            Defines the default maximum money value returned
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.DEFAULT_MONEY_RANGE">
            <summary>
            Defines the range of the default money max / min
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MIN_TAX_VALUE">
            <summary>
            Defines the default minimum TAX value returned
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MAX_TAX_VALUE">
            <summary>
            Defines the default maximum TAX value returned
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.DEFAULT_TAX_RANGE">
            <summary>
            Defines the range of the default TAX max / min
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MIN_LONG_VALUE">
            <summary>
            Default minimum long value returned
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MAX_LONG_VALUE">
            <summary>
            Default maximum long value returned
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.DEFAULT_LONG_RANGE">
            <summary>
            Defines the range of default long min / max
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MIN_ITEMS">
            <summary>
            Default minimum number of items in a random collection
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.MAX_ITEMS">
            <summary>
            Default Maximum number of items in a random collection
            </summary>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.DefaultRanges.ONE_DAY_IN_SECONDS">
            <summary>
            Number of seconds in a day
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomInt">
            <summary>
            Produces a random integer between 0 and 10 inclusive
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomInt(System.Int32)">
            <summary>
            Produces an integer between the provided value and
            that value + 10, inclusive
            </summary>
            <param name="minValue"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomInt(System.Int32,System.Int32)">
            <summary>
            Returns a random integer within the specified range
            </summary>
            <param name="minValue">Minimum value to consider</param>
            <param name="maxValue">Maximum value to consider</param>
            <returns>Random integer between minValue and maxValue (inclusive)</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomBoolean">
            <summary>
            Returns a random boolean value
            </summary>
            <returns>True or False</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomMIMEType">
            <summary>
            Gets a pseudo-random mimetype (picks from a short list of known mime types)
            </summary>
            <returns>String which is a valid mime type</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomLong">
            <summary>
            Produces a random long between 0 and 1000, inclusive
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomLong(System.Int64)">
            <summary>
            Returns a random long between the provided min value and
            that value + 1000, inclusive
            </summary>
            <param name="minValue"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomLong(System.Int64,System.Int64)">
            <summary>
            Returns a random long within the specified range
            </summary>
            <param name="minValue">Minimum value to consider</param>
            <param name="maxValue">Maximum value to consider</param>
            <returns>Random integer between minValue and maxValue (inclusive)</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomString(System.Int32,System.Nullable{System.Int32},System.String)">
            <summary>
            Gets a random string
            </summary>
            <param name="minLength">Minimum length required</param>
            <param name="maxLength">Maximum length required. When left null, will be the minimum length plus DefaultRanges.MINLENGTH_STRING</param>
            <param name="charSet">Character set to use, as required</param>
            <returns>
            A new string which is between the minimum and maximum lengths (inclusive)
            and which is made up of the provided (or default, when not provided) character set
            </returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDate(System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Boolean,System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
            <summary>
            Gets a random Local DateTime value, by default within SQL-safe range
            </summary>
            <param name="minDate">Minimum date to consider</param>
            <param name="maxDate">Maximum date to consider</param>
            <param name="dateOnly">Flag to determine if times should be truncated</param>
            <param name="minTime">Minimum time to consider (default all)</param>
            <param name="maxTime">Maximum time to consider (default all)</param>
            <returns>Random Local DateTime within the specified range</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDate(System.DateTimeKind,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Boolean,System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
            <summary>
            Gets a random DateTime value of the specified kind, by default within SQL-safe range
            </summary>
            <param name="kind">DateTimeKind required for this value</param>
            <param name="minDate">Minimum date to consider</param>
            <param name="maxDate">Maximum date to consider</param>
            <param name="dateOnly">Flag to determine if times should be truncated</param>
            <param name="minTime">Minimum time to consider (default all)</param>
            <param name="maxTime">Maximum time to consider (default all)</param>
            <returns>Random DateTime value of the specified kind, within the specified range</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomUtcDate(System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Boolean,System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
            <summary>
            Returns a random UTC date within the specified range
            </summary>
            <param name="minDate"></param>
            <param name="maxDate"></param>
            <param name="dateOnly"></param>
            <param name="minTime"></param>
            <param name="maxTime"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDateRange(System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Boolean,System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
            <summary>
            Gets a random Local DateTime range, by default within SQL-safe range
            </summary>
            <param name="minDate">Minimum date to consider</param>
            <param name="maxDate">Maximum date to consider</param>
            <param name="dateOnly">Flag to determine if times should be truncated</param>
            <param name="minTime">Minimum time to consider (default all)</param>
            <param name="maxTime">Maximum time to consider (default all)</param>
            <returns>Random Local DateTime value</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomUtcDateRange(System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Boolean,System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
            <summary>
            Gets a random Local DateTime range, by default within SQL-safe range
            </summary>
            <param name="minDate">Minimum date to consider</param>
            <param name="maxDate">Maximum date to consider</param>
            <param name="dateOnly">Flag to determine if times should be truncated</param>
            <param name="minTime">Minimum time to consider (default all)</param>
            <param name="maxTime">Maximum time to consider (default all)</param>
            <returns>Random Local DateTime value</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomTimeSpan(System.Double,System.Double,PeanutButter.RandomGenerators.TimeSpanContexts)">
            <summary>
            Gets a random timespan
            </summary>
            <param name="min">Minimum length</param>
            <param name="max">Maximum length</param>
            <param name="context">Context for the min/max length</param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomTimeSpan(System.TimeSpan,System.Nullable{System.TimeSpan})">
            <summary>
            Returns a TimeSpan between min and max
            </summary>
            <param name="min">min timespan -- defaults to TimeSpan.Zero</param>
            <param name="max">max timespan -- defaults to TimeSpan.MaxValue</param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomTimeSpan">
            <summary>
            Returns a random TimeSpan between TimeSpan.Z
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDateRange(System.DateTimeKind,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Boolean,System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
            <summary>
            Gets a random DateTime range of the specified kind, by default within SQL-safe range
            </summary>
            <param name="kind">DateTimeKind required for this value</param>
            <param name="minDate">Minimum date to consider</param>
            <param name="maxDate">Maximum date to consider</param>
            <param name="dateOnly">Flag to determine if times should be truncated</param>
            <param name="minTime">Minimum time to consider (default all)</param>
            <param name="maxTime">Maximum time to consider (default all)</param>
            <returns>DateRange object with From and To within the specified range</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDouble">
            <summary>
            Produces a random double value between 0 and 10 inclusive
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDouble(System.Double)">
            <summary>
            Produces a random double value between the provides
            double value and that value + 10, inclusive
            </summary>
            <param name="minValue"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDouble(System.Double,System.Double)">
            <summary>
            Gets a random double value within the specified range
            </summary>
            <param name="min">Minimum value to consider</param>
            <param name="max">Maximum value to consider</param>
            <returns>Double value within the specified range</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDecimal(System.Double,System.Double)">
            <summary>
            Gets a random decimal value within the specified range
            </summary>
            <param name="min">Minimum value to consider</param>
            <param name="max">Maximum value to consider</param>
            <returns>Decimal value within the specified range</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDecimal(System.Int64,System.Int64)">
            <summary>
            Gets a random decimal value within the specified range
            </summary>
            <param name="min">Minimum value to consider</param>
            <param name="max">Maximum value to consider</param>
            <returns>Decimal value within the specified range</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDecimal(System.Decimal,System.Decimal)">
            <summary>
            Gets a random decimal value within the specified range
            </summary>
            <param name="min">Minimum value to consider</param>
            <param name="max">Maximum value to consider</param>
            <returns>Decimal value within the specified range</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDecimal">
            <summary>
            Produces a random decimal between 0 and 10 inclusive
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDecimal(System.Decimal)">
            <summary>
            Produces a random decimal between the provided
            minValue and that value + 10, inclusive
            </summary>
            <param name="minValue"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomMoney(System.Decimal,System.Decimal)">
            <summary>
            Gets a random money value (decimal with max 2 places)
            within the specified range
            </summary>
            <param name="min">Minimum value to consider</param>
            <param name="max">Maximum value to consider</param>
            <returns>Decimal value within the specified range</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomMoney">
            <summary>
            Produces a money value (decimal with max 2 places)
            between 10 and 100 inclusive
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomMoney(System.Decimal)">
            <summary>
            Produces a random decimal between the provided
            minValue and that value + 10, inclusive
            </summary>
            <param name="minValue"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomTaxRate(System.Decimal,System.Decimal)">
            <summary>
            Gets a random tax rate value (decimal with max 2 places)
            within the specified range
            </summary>
            <param name="min">Minimum value to consider</param>
            <param name="max">Maximum value to consider</param>
            <returns>Decimal value within the specified range</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomTaxRate">
            <summary>
            Produces a tax rate value (decimal with max 2 places)
            between 3 and 20 inclusive
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomTaxRate(System.Decimal)">
            <summary>
            Produces a tax rate value (decimal with max 2 places)
            between of the provided minimum value up to that value
            + 17
            </summary>
            <param name="minValue"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomInterestRate(System.Decimal,System.Decimal)">
            <summary>
            Gets a random interest rate value (decimal with max 2 places)
            within the specified range
            </summary>
            <param name="min">Minimum value to consider</param>
            <param name="max">Maximum value to consider</param>
            <returns>Decimal value within the specified range</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomInterestRate">
            <summary>
            Produces a interest rate value (decimal with max 2 places)
            between 3 and 20 inclusive
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomInterestRate(System.Decimal)">
            <summary>
            Produces a interest rate value (decimal with max 2 places)
            between of the provided minimum value up to that value
            + 17
            </summary>
            <param name="minValue"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDecimal(System.Int64)">
            <summary>
            Produces a random decimal between the provided
            minValue and that value + 10, inclusive
            </summary>
            <param name="minValue"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDecimal(System.Double)">
            <summary>
            Produces a random decimal between the provided
            minValue and that value + 10, inclusive
            </summary>
            <param name="minValue"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomFloat">
            <summary>
            Produces a random float between 0 and 10 inclusive
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomFloat(System.Single)">
            <summary>
            Produces a random float between the provided
            minValue and that value + 10, inclusive
            </summary>
            <param name="minValue"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomFloat(System.Single,System.Single)">
            <summary>
            Gets a random float value within the specified range
            </summary>
            <param name="min">Minimum value to consider</param>
            <param name="max">Maximum value to consider</param>
            <returns>Float value within the specified range</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomTimeOfDay">
            <summary>
            Produces a random time of day
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomTimeOfDay(System.TimeSpan)">
            <summary>
            Produces a random time of day from the provided
            minimum, inclusive
            </summary>
            <param name="min"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomTimeOfDay(System.TimeSpan,System.TimeSpan)">
            <summary>
            Returns a random time of day
            </summary>
            <param name="min">Minimum time to consider</param>
            <param name="max">Maximum time to consider</param>
            <returns>Timespan representing a time on a day, clamped to within 24 hours</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomBytes">
            <summary>
            Produces an array of random bytes between 0 and 1024
            in length, inclusive
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomBytes(System.Int32)">
            <summary>
            Produces some random bytes, of at least minLength
            in size, up to that length + 1024, inclusive
            </summary>
            <param name="minLength"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomBytes(System.Int32,System.Int32)">
            <summary>
            Gets a randomly-sized, randomly-filled byte array
            </summary>
            <param name="minLength">Minimum size of the result</param>
            <param name="maxLength">Maximum size of the result</param>
            <returns>Randomly-filled byte array</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomEmail">
            <summary>
            Gets a random email-like string. Note that this is only email-like in that it
            conforms to the structure:
            {random-string}@{random-string}.com
            </summary>
            <returns>Random email-like string</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomEmail(System.String)">
            <summary>
            Gets a random email-like string. Note that this is only email-like in that it
            conforms to the structure:
            {random-string}@{random-string}.com
            <param name="firstName">Use a first-name to guide the process</param>
            </summary>
            <returns>Random email-like string</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomEmail(System.String,System.String)">
            <summary>
            Gets a random email-like string. Note that this is only email-like in that it
            conforms to the structure:
            {random-string}@{random-string}.com
            <param name="firstName">Use a first-name to guide the process</param>
            <param name="lastName">Use a last-name to guide the process</param>
            </summary>
            <returns>Random email-like string</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomDomain">
            <summary>
            Returns a random domain generated from a fairly common internet
            company name and one of the known TLDs at time of generation
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomUserName">
            <summary>
            Produces a random username:
            - will have a first name
            - will optionally have a .surname suffix
            - will optionally have a numeric suffix
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomUserName(System.String)">
            <summary>
            Produces a random username:
            - will have a first name
            - will optionally have a .surname suffix
            - will optionally have a numeric suffix
            <param name="firstName">Use a first-name to guide the process</param>
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomUserName(System.String,System.String)">
            <summary>
            Produces a random username:
            - will have a first name
            - will optionally have a .surname suffix
            - will optionally have a numeric suffix
            <param name="firstName">Use a first-name to guide the process</param>
            <param name="lastName">Use a last-name to guide the process</param>
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomCityName">
            <summary>
            Generates a city name
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomCountry">
            <summary>
            Returns a random country
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomCountryCode">
            <summary>
            Returns a random country code
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomStreetAddress">
            <summary>
            Generates a street address
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomStreetName">
            <summary>
            Generates a street name
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomStreetNumber">
            <summary>
            Generates a street number (eg 12 or 134a)
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomStreetAddress(System.String)">
            <summary>
            Generates a street address, given a street name
            </summary>
            <param name="streetName"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomStreetAddress(System.String,System.String)">
            <summary>
            Generates a street address, given a street number and / or name
            (null values are discarded &amp; random values will be generated)
            </summary>
            <param name="streetNumber"></param>
            <param name="streetName"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomPostalCode">
            <summary>
            Generates a random postal code
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomAddress">
            <summary>
            Generates a random multi-line address
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomFirstName">
            <summary>
            Returns a random first name, sourced from unique top names:
            - male, international (100)
            - female, international (100)
            - south african (100)
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomLastName">
            <summary>
            Returns a random last name, source from unique top names:
            - international (100)
            - african (100)
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomTopLevelDomainName">
            <summary>
            Returns a random 
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomName">
            <summary>
            Returns a random name of the format {FirstName} {LastName}
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomFileName">
            <summary>
            Gets a random filename. Does not use the OS-level temporary filename
            functions
            </summary>
            <returns>String which is a random filename with a 3 character extension</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomWindowsPath">
            <summary>
            Gets a random path which resembles a Windows path, including a leading drive
            </summary>
            <returns>String which looks like a local Windows path</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomWords">
            <summary>
            Produces a collection of words between 10 and 50 words in
            length, inclusive
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomWords(System.Int32)">
            <summary>
            Produces a collection of words with count of at
            least minWords up to and including minWords + 50
            </summary>
            <param name="minWords"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomWords(System.Int32,System.Int32)">
            <summary>
            Gets some random pseudo-words. Note that they (probably) won't be
            readable words -- just a collection of strings with whitespace in between.
            Think of this as something like Lorei Ipsum, except with zero meaning.
            </summary>
            <param name="minWords">Minimum number of "words" to return</param>
            <param name="maxWords">Maximum number of "words" to return</param>
            <returns>Block of text with "words" and whitespace</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomHttpUrl">
            <summary>
            Generates a random string which looks a lot like an http url, to
            the domain only (no path or parameters)
            </summary>
            <returns>Random http-url-like string</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomHttpUrlWithPath">
            <summary>
            Produces a string which looks just like an http url with a path
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomHttpUrlWithPathAndParameters">
            <summary>
            Produces a string that looks like an http url with path and parameters
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomHttpUrlWithParameters">
            <summary>
            Generates a random HTTP url with some query parameters
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomHttpsUrl">
            <summary>
            Generates a random string which looks a lot like an https url, to
            the domain only (no path or parameters)
            </summary>
            <returns>Random Https-url-like string</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomHttpsUrlWithPath">
            <summary>
            Produces a string which looks just like an https url with a path
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomHttpsUrlWithPathAndParameters">
            <summary>
            Produces a string that looks like an https url with path and parameters
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomHttpsUrlWithParameters">
            <summary>
            Generates a random https url with some query parameters
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomPath">
            <summary>
            Generates a random string which looks like a relative
            path on the internet or any reasonable filesystem
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomUrlQuery">
            <summary>
            Generates a random query string for an url
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomUrlParameters">
            <summary>
            Generates a string of random url parameters
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomAlphaNumericString(System.Int32,System.Nullable{System.Int32})">
            <summary>
            Gets a random string made up only of alphanumeric characters
            </summary>
            <param name="minLength">Minimum length required</param>
            <param name="maxLength">Maximum length required</param>
            <returns>Random string made up of only alphanumeric characters</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomNonAlphaNumericString(System.Int32,System.Int32)">
            <summary>
            Gets a random string made of non-alpha-numeric (but printable) chars
            </summary>
            <param name="minChars"></param>
            <param name="maxChars"></param>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomAlphaString(System.Int32,System.Nullable{System.Int32})">
            <summary>
            Gets a random string made up only of alphabetic characters
            </summary>
            <param name="minLength">Minimum length required</param>
            <param name="maxLength">Maximum length required</param>
            <returns>Random string made up of only alphabetic characters</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomNumericString(System.Int32,System.Nullable{System.Int32})">
            <summary>
            Gets a random string made up only of numeric characters
            </summary>
            <param name="minLength">Minimum length required</param>
            <param name="maxLength">Maximum length required</param>
            <returns>Random string made up of only numeric characters</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomEnum``1">
            <summary>
            Gets a random enum value from the specified enum type
            </summary>
            <typeparam name="T">Type of enum to use as a source</typeparam>
            <returns>Random enum value from the enum type</returns>
            <exception cref="T:System.ArgumentException">
            Thrown when GetRandomEnum is called on a
            non-enum type (since there is no generic constraint for enum types, yet)
            </exception>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomEnum(System.Type)">
            <summary>
            Gets a random enum value from the specified enum type
            </summary>
            <param name="enumType">Type of enum to use as a source</param>
            <returns>Random enum value from the enum type</returns>
            <exception cref="T:System.ArgumentException">
            Thrown when GetRandomEnum is called on a
            non-enum type (since there is no generic constraint for enum types, yet)
            </exception>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetEmptyDelegate(System.Type)">
            <summary>
            Gets an empty delegate
            </summary>
            <param name="delegateType">Type of delegate</param>
            <returns>Action that do nothing, or function that returns the default of return type</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomFrom``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Gets a random item from the provided collection
            </summary>
            <param name="items">Collection of items</param>
            <typeparam name="T">Item type in collection</typeparam>
            <returns>Random value from collection; if the collection is empty, expect an exception</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomFrom``1(System.Collections.Generic.IEnumerable{``0},``0[])">
            <summary>
            Gets a random item from a collection, excluding items in the {butNot} collection
            </summary>
            <param name="items">Collection to search for an item to return</param>
            <param name="butNot">Params array of items not to be considered</param>
            <typeparam name="T">Item type of the collection</typeparam>
            <returns>Random item from the collection, when possible</returns>
            <exception cref="T:System.ArgumentException">Thrown when the butNot exclusion list leaves no options to select from items</exception>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomSelectionFrom``1(System.Collections.Generic.IEnumerable{``0},System.Int32,System.Int32)">
            <summary>
            Gets a random sub-selection of items from a larger collection
            </summary>
            <param name="items">Collection to search for items to return</param>
            <param name="minValues">Minimum number of items required</param>
            <param name="maxValues">Maximum number of items required</param>
            <typeparam name="T">Item type of the collection</typeparam>
            <returns>A new collection with a random selection of items from the first</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomTimeOn(System.DateTime)">
            <summary>
            Gets a random time on a provided DateTime date
            </summary>
            <param name="theDate">Date to select a random tim eon</param>
            <returns>A new DateTime value which has the same calendar values as the input, but has a randomized time</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomCollection``1(System.Func{``0},System.Int32,System.Int32)">
            <summary>
            Generates a random collection, given a generator function and an acceptable size range
            </summary>
            <param name="generator">Function to generate individual items for the result collection</param>
            <param name="minValues">Minimum number of items to return</param>
            <param name="maxValues">Maximum number of items to return</param>
            <typeparam name="T">Underlying type of the collection</typeparam>
            <returns>A new collection of items generated by the generator function</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomArray``1(System.Func{``0},System.Int32,System.Int32)">
            <summary>
            Generates a random array, given a generator function and an acceptable size range
            </summary>
            <param name="generator">Function to generate individual items for the result collection</param>
            <param name="minValues">Minimum number of items to return</param>
            <param name="maxValues">Maximum number of items to return</param>
            <typeparam name="T">Underlying type of the collection</typeparam>
            <returns>A new array of items generated by the generator function</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomCollection``1(System.Int32,System.Int32)">
            <summary>
            Generates a random collection, given an acceptable size range
            </summary>
            <param name="minValues">Minimum number of items to return</param>
            <param name="maxValues">Maximum number of items to return</param>
            <typeparam name="T">Underlying type of the collection</typeparam>
            <returns>A new collection of items generated by the GetRandom generic function</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomArray``1(System.Int32,System.Int32)">
            <summary>
            Generates a random array, given an acceptable size range
            </summary>
            <param name="minValues">Minimum number of items to return</param>
            <param name="maxValues">Maximum number of items to return</param>
            <typeparam name="T">Underlying type of the collection</typeparam>
            <returns>A new array of items generated by the GetRandom generic function</returns>
        </member>
        <member name="F:PeanutButter.RandomGenerators.RandomValueGen.MAX_DIFFERENT_RANDOM_VALUE_ATTEMPTS">
            <summary>
            Maximum number of attempts to make when trying to generate a value different from
            one specified as undesirable
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetAnother``1(``0,System.Func{``0},System.Func{``0,``0,System.Boolean})">
            <summary>
            Attempts to get another random value, different from the provided one,
            using the provided generator
            </summary>
            <param name="differentFromThisValue">Undesirable value</param>
            <param name="usingThisGenerator">Generator function to use</param>
            <param name="shouldRegenerateIf">
            Optional function to determine whether or not
            a potential candidate result is acceptable
            </param>
            <typeparam name="T">Type of item t generate</typeparam>
            <returns>New item, different from the provided undesirable value, as long as it can be found within MAX_DIFFERENT_RANDOM_VALUE_ATTEMPTS attempts</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandom``1(System.Func{``0,System.Boolean})">
            <summary>
            Gets value of Type T, using a custom validator function to know when to stop trying
            and an optional generator function. Use like:
            var first = GetRandom&lt;IHasAName&gt;();
            var other = GetAnother&lt;IHasAName&gt;(o =&lt; o.Name != first.Name);
            </summary>
            <param name="validator">Validates that a generated value is acceptable (should return true when it is)</param>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandom``1(System.Action{``0})">
            <summary>
            Gets a value of type T and applies the provided mutations to it before giving it back
            </summary>
            <param name="mutator"></param>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandom``1(System.Func{``0,System.Boolean},System.Func{``0})">
            <summary>
            Gets value of Type T, using a custom validator function to know when to stop trying
            and an optional generator function. Use like:
            var first = GetRandom&lt;IHasAName&gt;();
            var other = GetAnother&lt;IHasAName&gt;(o =&lt; o.Name != first.Name);
            </summary>
            <param name="validator">Validates that a generated value is acceptable (should return true when it is)</param>
            <param name="usingThisGenerator">Optional custom generator for the next random value, defaults to GetRandom&lt;T&gt;</param>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetAnother``1(``0)">
            <summary>
            Gets another value of the same type as the specified value, but not equal to it,
            using the default GetRandom generic method
            </summary>
            <param name="differentFromThis">Value to avoid</param>
            <typeparam name="T">Type of value required</typeparam>
            <returns>New random value of type T, different from the input value</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetAnother``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Gets another value of the same type as the specified values, but not equal to any of them,
            using the default GetRandom generic method
            </summary>
            <param name="notAnyOfThese">Values to avoid</param>
            <typeparam name="T">Type of value required</typeparam>
            <returns>New random value of type T, different from the input values</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetAnother``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0},System.Func{``0,``0,System.Boolean})">
            <summary>
            Gets another random value not found in the given collection, using the provided generator
            </summary>
            <param name="notAnyOfThese">New random value should not be any of these</param>
            <param name="usingThisGenerator">Function to generate each candidate result</param>
            <param name="areEqual">Optional function to determine if each candidate result
            is valid, Defaults to using .Equals, but also catering for null values.</param>
            <typeparam name="T">Type of value to generate</typeparam>
            <returns>New value of type T, not found in the input collection</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomIPv4Address">
            <summary>
            Gets a random ipv4 ip address
            </summary>
            <returns>String representing an ipv4 address</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomHostname">
            <summary>
            Gets a random hostname-like string
            </summary>
            <returns>New string with at least two parts, separated by .</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomHostname(System.Int32)">
            <summary>
            Gets a random hostname-like string
            </summary>
            <param name="minParts">minimum required parts</param>
            <returns>new string with at least the required number of parts, max 5 parts</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomHostname(System.Int32,System.Int32)">
            <summary>
            Gets a random hostname-like string
            </summary>
            <param name="minParts">minimum required parts</param>
            <param name="maxParts">maximum required parts</param>
            <returns>new string within the required parts range</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomVersionString(System.Int32)">
            <summary>
            Gets a random version-like string (eg 1.2.3)
            </summary>
            <param name="partCount">How many parts to have in your version string</param>
            <returns>Version-like string</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomVersion">
            <summary>
            Gets a random System.Version instance
            </summary>
            <returns>New System.Version with random values</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.CreateRandomFolderIn(System.String)">
            <summary>
            Creates a randomly-named folder within another existing folder and returns
            the name of that folder
            </summary>
            <param name="path">Base path within which to create the new folder</param>
            <returns>Just the name of the created folder (not the full path)</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.CreateRandomFoldersIn(System.String,System.Int32)">
            <summary>
            Creates some randomly-named folder within another existing folder and returns
            the names of those folders
            </summary>
            <param name="path">Base path within which to create the new folder</param>
            <param name="depth">How deep to go when creating the tree</param>
            <returns>Just the names of the created folders (not the full paths)</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.CreateRandomFileIn(System.String)">
            <summary>
            Creates a randomly-named file within the provided folder path and returns its name
            </summary>
            <param name="path">Folder within which to create the file</param>
            <returns>Name of the file (name only, not full path)</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.CreateRandomTextFileIn(System.String)">
            <summary>
            Creates a randomly-named file within the provided folder path and
            populates it with some random text data; returns the name of the file
            </summary>
            <param name="path">Folder within which to create the file</param>
            <returns>Name of the file (name only, not full path)</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.CreateRandomFileTreeIn(System.String)">
            <summary>
            Creates a full random file tree (folders and some files, to a depth of 2) under a given path. Useful
            when you need to test utilities which trawl the filesystem.
            </summary>
            <param name="path">Folder in which to create the tree</param>
            <returns>A collection of relative paths to the files within the created tree</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.CreateRandomFileTreeIn(System.String,System.Int32)">
            <summary>
            Creates a full random file tree (folders and some files) under a given path. Useful
            when you need to test utilities which trawl the filesystem.
            </summary>
            <param name="path">Folder in which to create the tree</param>
            <param name="depth">How deep to make the folder structure</param>
            <returns>A collection of relative paths to the files within the created tree</returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomLanguageCode">
            <summary>
            Provides a random language code
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RandomValueGen.GetRandomLanguageName">
            <summary>
            Provides a random language name
            </summary>
            <returns></returns>
        </member>
        <member name="T:PeanutButter.RandomGenerators.RequireNonZero">
            <summary>
            Requires that the named property is randomized to a non-zero value
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RequireNonZero.#ctor(System.String,System.String[])">
            <inheritdoc />
        </member>
        <member name="M:PeanutButter.RandomGenerators.RequireNonZero.SetRandomValue(PeanutButter.Utils.PropertyOrField,System.Object@)">
            <inheritdoc />
        </member>
        <member name="T:PeanutButter.RandomGenerators.RequireNonZeroId">
            <summary>
            Requires that the field named "Id" be non-zero
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RequireNonZeroId.#ctor">
            <inheritdoc />
        </member>
        <member name="T:PeanutButter.RandomGenerators.RequireUnique">
            <summary>
            Abstract class to require uniqueness on a property or field by name
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.RequireUnique.PropertyType">
            <summary>
            The type of the property which is required to be unique, should
            be set by inheriting class
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RequireUnique.#ctor(System.String)">
            <inheritdoc />
        </member>
        <member name="M:PeanutButter.RandomGenerators.RequireUnique.Init(System.Type)">
            <inheritdoc />
        </member>
        <member name="M:PeanutButter.RandomGenerators.RequireUnique.SetRandomValue(PeanutButter.Utils.PropertyOrField,System.Object@)">
            <inheritdoc />
        </member>
        <member name="T:PeanutButter.RandomGenerators.RequireUniqueId">
            <summary>
            Require a unique Id on the generated entity
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.RequireUniqueId.#ctor">
            <inheritdoc />
        </member>
        <member name="M:PeanutButter.RandomGenerators.RequireUniqueId.Init(System.Type)">
            <inheritdoc />
        </member>
        <member name="T:PeanutButter.RandomGenerators.UnableToCreateDynamicBuilderException">
            <summary>
            Exception thrown when the PeanutButter runtime is unable to
            automatically generate a required builder for a type. Happens most
            often if the type is inaccessible to the PeanutButter runtime. If the
            type to be built is internal, it is recommended to make internals visible
            to PeanutButter.RandomGenerators; otherwise the builder cannot be generated
            and the consuming code will need to provide a builder which, if it is public,
            will be discovered and used instead of attempting to generate a builder.
            </summary>
        </member>
        <member name="P:PeanutButter.RandomGenerators.UnableToCreateDynamicBuilderException.Type">
            <summary>
            Type for which a builder was sought
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.UnableToCreateDynamicBuilderException.#ctor(System.Type,System.TypeLoadException)">
            <summary>
            Constructs a new instasnce of the exception
            </summary>
            <param name="type">Type for which the runtime was attempting to generate a builder</param>
            <param name="typeLoadException">The actual exception thrown; may assist in resolving the issue</param>
        </member>
        <member name="T:PeanutButter.RandomGenerators.UniqueRandomValueGenerator">
            <summary>
            Base class for UniqueRandomValueGenerator&lt;T&gt;
            </summary>
        </member>
        <member name="M:PeanutButter.RandomGenerators.UniqueRandomValueGenerator.NextObjectValue">
            <summary>
            Gets the next unique value as an object so it can be used
            in reflection and suchlike.
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.UniqueRandomValueGenerator.For(System.Type)">
            <summary>
            Produces an instance of an UniqueRandomValueGenerator for the
            provided Type t
            </summary>
            <param name="t"></param>
            <returns></returns>
        </member>
        <member name="T:PeanutButter.RandomGenerators.UniqueRandomValueGenerator`1">
            <summary>
            Generates unique random values per instance
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:PeanutButter.RandomGenerators.UniqueRandomValueGenerator`1.Next">
            <summary>
            Get the next value, Typed
            </summary>
            <returns></returns>
        </member>
        <member name="M:PeanutButter.RandomGenerators.UniqueRandomValueGenerator`1.NextObjectValue">
            <inheritdoc />
        </member>
    </members>
</doc>
