CActionExecutedContext | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeActionExecutedContext | Provides an ActionExecutedContext where the controller can be late-set |
CActionExecutingContext | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeActionExecutingContext | Provides an ActionExecutingContext implementation where the controller can be late-set |
CPeanutButter.TestUtils.AspNetCore.ActionResultExtensions | Provides extensions for action results |
CArgumentException | |
CPeanutButter.DuckTyping.Exceptions.ParameterCountMismatchException | Exception thrown when a ducked type has a different number of parameters for a ducked method than the ducked interface expects |
CPeanutButter.DuckTyping.Exceptions.UnresolveableParameterOrderMismatchException | Exception thrown when fuzzy ducking is enabled but the duck library cannot resolve the order of parameters to pass into the underlying type, usually because there are repeated types amongst the arguments (ie, two integers or similar) |
CPeanutButter.Utils.AssemblyExtensions | Provides extension methods for Assemblies |
CPeanutButter.Utils.Async | Provides methods to run async code synchronously and safely http://stackoverflow.com/questions/5095183/how-would-i-run-an-async-taskt-method-synchronously |
CPeanutButter.Utils.AsyncExtensionsForIEnumerables | Useful extensions for IEnumerable<T> collections, with async in mind |
CAttribute | |
CPeanutButter.DuckTyping.Shimming.IsADuckAttribute | Attribute added to all types created by the TypeMaker, usually consumed during efforts to duck-type |
CPeanutButter.EasyArgs.Attributes.AllowDefaultFromEnvironment | Sets the default value for a parsed argument |
CPeanutButter.EasyArgs.Attributes.AllowDefaultsFromEnvironment | Allows defaults for all options on the options object to be overridden from environment variables |
CPeanutButter.EasyArgs.Attributes.DisableGeneratedShortNameAttribute | Disables automatic short-name generation for a switch |
CPeanutButter.EasyArgs.Attributes.ExistingFileAttribute | Verify that the provided path is an existing file |
CPeanutButter.EasyArgs.Attributes.ExistingFolderAttribute | Verify that the provided path is an existing file |
CPeanutButter.EasyArgs.Attributes.IgnoreAttribute | Decorate properties with this to make EasyArgs ignore them eg if you have some configuration that could come from the CLI on an object where other config is loaded, eg, from an ini file |
CPeanutButter.EasyArgs.Attributes.NumericAttribute | Attribute specifying a required numeric value |
CPeanutButter.EasyArgs.Attributes.MaxAttribute | Decorate a property with this to specify a minimum value for the property |
CPeanutButter.EasyArgs.Attributes.MinAttribute | Decorate a property with this to specify a minimum value for the property |
CPeanutButter.EasyArgs.Attributes.ObjectAttribute | Stores an arbitrary object |
CPeanutButter.EasyArgs.Attributes.DefaultAttribute | Sets the default value for a parsed argument |
CPeanutButter.EasyArgs.Attributes.RequiredAttribute | Marks an option as required |
CPeanutButter.EasyArgs.Attributes.StringAttribute | Stores an arbitrary string |
CPeanutButter.EasyArgs.Attributes.CopyrightAttribute | Adds more information to the help screen, as a footer |
CPeanutButter.EasyArgs.Attributes.DescriptionAttribute | Sets the description for a parsed argument or the header help text for the group of parsed arguments |
CPeanutButter.EasyArgs.Attributes.LongNameAttribute | Explicitly sets the long name for a parsed argument If you had an option property like "RemoteServer", the default long name would be "remote-server", which could be reached on the cli via "--remote-server". Override this here |
CPeanutButter.EasyArgs.Attributes.MoreInfoAttribute | Adds more information to the help screen, as a footer |
CPeanutButter.EasyArgs.Attributes.ShortNameAttribute | Explicitly sets the short name for a parsed argument If you had an option property like "RemoteServer", the default long name would be "r", which could be reached on the cli via "-r" or "-R", depending on if another property starting with "r" was found before RemoteServer. Override this here |
CPeanutButter.EasyArgs.ConflictsWithAttribute | Marks this argument as conflicting with another argument by property name (key) |
CPeanutButter.RandomGenerators.RandomizerAttribute | Base class to use when wishing to guide randomization on a builder via attributes |
CPeanutButter.RandomGenerators.NoRandomize | Specifies one or more properties, by name, to ignore when attempting .WithRandomProps on an entity |
CPeanutButter.RandomGenerators.RequireNonZero | Requires that the named property is randomized to a non-zero value |
CPeanutButter.RandomGenerators.RequireNonZeroId | Requires that the field named "Id" be non-zero |
CPeanutButter.RandomGenerators.RequireUnique | Abstract class to require uniqueness on a property or field by name |
CPeanutButter.RandomGenerators.RequireUnique< T > | Require unique values for named properties (don't forget the type!) |
CPeanutButter.RandomGenerators.RequireUniqueId | Require a unique Id on the generated entity |
CPeanutButter.RandomGenerators.Restrict | Restricts the possible values for a property to the provided list |
CPeanutButter.TempDb.MySql.Base.SettingAttribute | Decorates a TitleCase setting with the correct name for the setting within an ini file |
CPeanutButter.Utils.SkipStringifyAttribute | Signals to the .Stringify() extension that this property or field should be ignored in the output |
CSkipOnGenerationAttribute | Properties decorated with this are not considered when generating arguments from an options object |
CPeanutButter.Utils.AttributeWalkStep | Emitted at every stage of walking attributes per type in the ancestry tree |
CPeanutButter.TestUtils.AspNetCore.Builders.AuthorizationFilterContextBuilder | Easier start for building an AuthorizationContext via AuthorizationContextBuilder.ForController<TController>() |
CPeanutButter.MVC.AutoInclude | |
CPeanutButter.Utils.Benchmark | Provides a static Time method which times running the provided action the specified number of times |
CPeanutButter.Utils.BooleanExtensions | Provides extensions for boolean values |
CPeanutButter.TestUtils.AspNetCore.Builders.Builder< TBuilder, TSubject > | Provides the base builder for AspNetCore fakes |
CPeanutButter.TestUtils.AspNetCore.Builders.ActionExecutedContextBuilder | Builds an ActionExecutedContext |
CPeanutButter.TestUtils.AspNetCore.Builders.ActionExecutingContextBuilder | Constructs an ActionExecutingContext |
CPeanutButter.TestUtils.AspNetCore.Builders.AuthorizationFilterContextBuilder< TController > | Builds AuthorizationFilterContexts |
CPeanutButter.TestUtils.AspNetCore.Builders.ControllerActionDescriptorBuilder | Builds ControllerActionDescriptor instances |
CPeanutButter.TestUtils.AspNetCore.Builders.ControllerBuilder< TController > | Builds your |
CPeanutButter.TestUtils.AspNetCore.Builders.ControllerContextBuilder | Builds a controller context |
CPeanutButter.TestUtils.AspNetCore.Builders.RandomizableBuilder< TBuilder, TSubject > | A builder which is also capable of making randomized subjects |
CPeanutButter.TestUtils.AspNetCore.Builders.ActionContextBuilder | Builds ActionContexts |
CPeanutButter.TestUtils.AspNetCore.Builders.FormBuilder | Alias to FormBuilder, to keep naming in line with QueryCollectionBuilder |
CPeanutButter.TestUtils.AspNetCore.Builders.FormFileBuilder | Builds a form file |
CPeanutButter.TestUtils.AspNetCore.Builders.HeaderDictionaryBuilder | Constructs a header dictionary |
CPeanutButter.TestUtils.AspNetCore.Builders.HttpContextBuilder | Builds an HttpContext |
CPeanutButter.TestUtils.AspNetCore.Builders.HttpRequestBuilder | Builds an http request |
CPeanutButter.TestUtils.AspNetCore.Builders.HttpResponseBuilder | Builds a fake http response |
CPeanutButter.TestUtils.AspNetCore.Builders.ModelBindingContextBuilder | Builds a ModelBindingContext for testing |
CPeanutButter.TestUtils.AspNetCore.Builders.ModelMetadataBuilder< TModel > | Builds ModelMetadata |
CPeanutButter.TestUtils.AspNetCore.Builders.RequestCookieCollectionBuilder | Builds a fake request cookie collection |
CPeanutButter.TestUtils.AspNetCore.Builders.StringMapDerivativeBuilder< TBuilder, TInterface, TConcrete > | Provides a base builder for fake collections derived off of StringValueMap |
CPeanutButter.TestUtils.AspNetCore.Builders.QueryCollectionBuilder | Builds query collections |
CPeanutButter.TestUtils.AspNetCore.Builders.WebSocketBuilder | Builds a fake web socket |
CPeanutButter.TestUtils.AspNetCore.Builders.WebSocketManagerBuilder | Builds a fake websocket manager |
CPeanutButter.TestUtils.AspNetCore.Builders.RouteDataBuilder | Builds RouteData |
CPeanutButter.TestUtils.AspNetCore.Builders.ViewDataDictionaryBuilder | Build a ViewDataDictionary |
CPeanutButter.Utils.ByteArrayExtensions | Provides some extensions useful for byte arrays |
CPeanutButter.TestUtils.Generic.SubstituteExtensions.CallWrapper | Wraps an NSubstitute ICall |
CPeanutButter.Utils.Commandline | Provides a wrapper around handling a commandline properly |
CPeanutButter.EasyArgs.CommandlineArgument | Describes a command line argument |
CPeanutButter.Utils.ConcurrentCollectionExtensions | Provides some common functionality for concurrent collections |
CConnectionInfo | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeConnectionInfo | Provides a fake connection |
CPeanutButter.Utils.ConsoleSteps | Provides factory methods for basic console steps |
CPeanutButter.TestUtils.Generic.ConstructorTestUtils | Provides static utilities to test constructors |
CPeanutButter.TestUtils.AspNetCore.Builders.ControllerBuilder | Starts off a builder for your ApiController (controller inheriting from ControllerBase only) |
CPeanutButter.DuckTyping.Extensions.ConversionExtensions | Provides an extension method on object to attempt to convert to any other type supported by any existing (or located) converters. If you need a special conversion to happen then implement IConverter<T1, T2> to convert between T1 and T2. Common .net type conversion from strings is already supported (based on culture-invariant conversions, eg "1.23" -> 1.23M) |
CPeanutButter.DuckTyping.AutoConversion.ConverterExtensions | Provides "generic" object-in, object-out conversion extension method Convert(other) for IConverter implementations |
CPeanutButter.DuckTyping.AutoConversion.ConverterLocator | Locates converters for converting values from one type to another |
CPeanutButter.DuckTyping.Create | Static class to create instances of automatically generated types implementing the provided interfaces |
CPeanutButter.DuckTyping.Extensions.CustomAttributeHelperExtensions | Contains an extension method to craete a CustomAttributeBuilder out of CustomAttributeData, largely based on code at: http://stackoverflow.com/questions/2365470/using-reflection-emit-to-copy-a-custom-attribute-to-another-method (apparently, this is how AutoFac does it!) |
CPeanutButter.RandomGenerators.DateRange | Holds a date range |
CPeanutButter.TestUtils.Generic.DateTimeAssert | Provides assertions against DateTime values |
CPeanutButter.Utils.DateTimeExtensions | Provides some useful extension methods for DateTime values |
CPeanutButter.Utils.DecimalDecorator | Provides a relatively "safe" interchange between decimal and string notations for numbers, inspecting the input string to try to make the best decision based on the contents of the string instead of just relying on the current thread culture (which causes issues when communicating between machines with different ideas of what constitutes "correct" decimal notation a prime example being transport of decimals from Javascript into a ZA .net culture – but there are others) |
CPeanutButter.TestUtils.Generic.DecimalExtensions | Provides extensions for decimal values which make testing easier |
CPeanutButter.Utils.DeepEqualityTester | Provides a mechanism to test deep-equality of two objects with an optional list of properties to ignore by name. Deep equality testing bypasses reference-checking of container objects and compares primitive propertyt values. Use this to test whether or not two objects essentially contain the same data. More conveniently, use the following extension methods: |
CPeanutButter.RandomGenerators.RandomValueGen.DefaultRanges | Exposes the default range values used within RandomValueGen when the ranges are omitted by calling code |
CPeanutButter.TempDb.MySql.Base.Defaults | |
CPeanutButter.Utils.DictionaryExtensions | Provides extensions to convert from non-generic IDictionary to a generic one |
CPeanutButter.Utils.DisposableWrapperEventArgs | The event arguments raised with every DisposableWrapper event |
CPeanutButter.Utils.DisposableWrapperErrorEventArgs | The event args raised when the disposable .Dispose chucks an error |
CPeanutButter.DuckTyping.Extensions.DuckTypingCollectionExtensions | Provides ducking extensions for collections |
CPeanutButter.DuckTyping.Extensions.DuckTypingDictionaryExtensions | Provides duck-typing extension methods around dictionary objects |
CPeanutButter.DuckTyping.Extensions.DuckTypingExtensionSharedMethods | Provides a set of extension methods to enable duck-typing |
CPeanutButter.DuckTyping.Extensions.DuckTypingNameValueCollectionExtensions | Provides duck-typing around NameValueCollections |
CPeanutButter.DuckTyping.Extensions.DuckTypingObjectExtensions | Provides a set of extension methods to enable duck-typing |
CPeanutButter.Utils.ExtensionsForIEnumerables.DuplicateResult< TKey, TItem > | DTO for conveying results from the more complex FindDuplicates variant which includes a key discriminator |
CPeanutButter.RandomGenerators.EnumerableExtensions | Provides extensions for generic IEnumerable collections |
CPeanutButter.TestUtils.Generic.EnumerableExtensions | Extensions for IEnumerables |
CPeanutButter.Utils.Env | Provides easy access to environment variables with fallback |
CPeanutButter.TempDb.MySql.Base.EnvironmentVariables | |
CEventArgs | |
CPeanutButter.TestUtils.AspNetCore.Fakes.StringValueMapChangedEventArgs | Raised when a StringValueMap changes |
CPeanutButter.TinyEventAggregator.EventBase | Base class for events |
CPeanutButter.TinyEventAggregator.EventBase< TPayload > | |
CException | |
CPeanutButter.DuckTyping.Exceptions.UnDuckableException | The master exception thrown when a type is not duckable and exceptions have been enabled |
CPeanutButter.FileSystem.PathNotFoundException | Thrown when a provided path is not found |
CPeanutButter.RandomGenerators.CannotGetAnotherDifferentRandomValueException< T > | Exception thrown when the method GetAnother is unable to find another random value different from the exclusion value specified |
CPeanutButter.RandomGenerators.GenericBuilderInstanceCreationException | Exception thrown then the default method for constructing entities within a GenericBuilder fails, normally because the entity being built has no parameterless constructor |
CPeanutButter.RandomGenerators.UnableToCreateDynamicBuilderException | 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 |
CPeanutButter.ServiceShell.ServiceUnconfiguredException | Thrown when a service was not completely configured |
CPeanutButter.ServiceShell.ShellTestFailureException | Thrown when a test run for the shell didn't go as planned |
CPeanutButter.SimpleHTTPServer.Testability.HttpServerAssertionException | |
CPeanutButter.SimpleTcpServer.PortUnavailableException | Exception thrown when the requested port for the simple server is not available for binding |
CPeanutButter.SimpleTcpServer.UnableToFindAvailablePortException | Thrown when no port could be found to bind to |
CPeanutButter.TempDb.FatalTempDbInitializationException | |
CPeanutButter.TempDb.LocalDb.UnableToFindLocalDbUtilityException | Thrown when unable to find a LocalDb instance |
CPeanutButter.TempDb.MySql.Base.ProcessStartFailureException | |
CPeanutButter.TempDb.MySql.Base.TryAnotherPortException | |
CPeanutButter.TempDb.MySql.Base.UnableToInitializeMySqlException | |
CPeanutButter.TempDb.Runner.ShowSupportedEngines | |
CPeanutButter.TestUtils.AspNetCore.CookieNotFoundException | Thrown when querying cookie information by cookie name, when that cookie is not found on the hosting request or response |
CPeanutButter.TestUtils.AspNetCore.Fakes.ServiceProviderImplementationRequiredException | Thrown when unable to cast up to the required fake |
CPeanutButter.TestUtils.AspNetCore.InvalidImplementationException< TExpected > | Thrown when unable to cast an abstract type to the faked implementation |
CPeanutButter.TestUtils.AspNetCore.InvalidSameSiteValueException | Thrown when an invalid value for SameSite is found on a cookie header |
CPeanutButter.TestUtils.AspNetCore.Utils.FeatureIsObsoleteException | Thrown when attempting to use an obsolete feature |
CPeanutButter.Utils.CannotZipNullException | Thrown when an attempt is made to strict-zip null and anything else |
CPeanutButter.Utils.ElementNotFoundException | Thrown when a Find<T>() call finds no elements |
CPeanutButter.Utils.InvalidEnvironmentVariableValue | |
CPeanutButter.Utils.MemberNotFoundException | Exception thrown when a property cannot be found by name |
CPeanutButter.Utils.NoPooledItemAvailableException | Thrown when no item could be resolved from the pool with a pure Take |
CPeanutButter.Utils.NotFoundException | Thrown when the caller expects to eject a message from a non-empty collection but no match was found |
CPeanutButter.Utils.ProcessFailedToStartException | Thrown when ProcessIO is unable to start the requested application |
CPeanutButter.Utils.RetriesExceededException | Thrown when max retries are exceeded |
CPeanutButter.Utils.UnevenZipException | Thrown when an attempt is made to zip two collections of uneven size |
CPeanutButter.Utils.UnevenZipException< T1, T2 > | Thrown when an attempt is made to zip two collections of uneven size. Also includes references to the two collections |
CPeanutButter.WindowsServiceManagement.Exceptions.WindowsServiceUtilException | The base class from which exceptions in PeanutButter.WindowsServiceManagement are derived, if you're looking to catch all service-related exceptions |
CPeanutButter.WindowsServiceManagement.Exceptions.ServiceOperationException | Thrown when a requested service operation (eg start, stop) cannot be completed |
CPeanutButter.WindowsServiceManagement.ServiceControlException | Thrown when a service control request (eg start/stop/pause/continue) cannot be completed |
CPeanutButter.EasyArgs.ExitCodes | Exit codes used when exiting early |
CPeanutButter.Utils.ExpressionUtil | Utility class to assist with dealing with expressions |
CPeanutButter.Utils.ExtensionsForIEnumerables | Useful extensions for IEnumerable<T> collections |
CPeanutButter.Utils.Find | Finds files |
CPeanutButter.Utils.FlagExtensions | Provides extensions to help with common enum operations |
CPeanutButter.Utils.FluencyExtensions | Add fluency anywhere - as if all things were buildable! |
CPeanutButter.TestUtils.AspNetCore.Utils.FormFileExtensions | Provides some convenience extensions for form files |
CPeanutButter.DuckTyping.Extensions.FuzzyDictionaryExtensions | Provides extensions for dealing with dictionaries in a "fuzzy" manner |
CPeanutButter.RandomGenerators.GenericBuilderBase | Abstract base class for housing shared logic between all builders and allowing a base, unconstructable class to use to reference a collection of builders |
CPeanutButter.RandomGenerators.GenericBuilder< TBuilder, TEntity > | Base class for builders to produce instance of objects with a fluent builder-like syntax. Also includes utilities like randomizing property values |
CPeanutButter.TestUtils.Async.ImmediateTaskRunnerBuilder | |
CPeanutButter.RandomGenerators.GenericBuilderLocator | Locator class which attempts to find suitable builders on demand |
CPeanutButter.SimpleHTTPServer.HttpConstants.Headers | Common HTTP headers |
CPeanutButter.SimpleHTTPServer.HttpConstants | Provides some constants which are useful in an http context |
CHttpContext | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeHttpContext | Provides a fake http context |
CPeanutButter.TestUtils.AspNetCore.HttpHeaderExtensions | Provides extensions for the IHeaderDictionary properties on HttpRequest and HttpResponse |
CPeanutButter.SimpleHTTPServer.HttpMethodsExtensions | Provides extension methods for HttpMethods enum values |
CHttpRequest | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeHttpRequest | Implements a fake http request |
CPeanutButter.TestUtils.AspNetCore.Builders.HttpRequestExtensions | Simplify some routines around HttpRequests |
CPeanutButter.TestUtils.AspNetCore.HttpRequestExtensions | Provides convenience HttpRequestExtensions |
CHttpResponse | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeHttpResponse | Provides a fake http response |
CPeanutButter.TestUtils.AspNetCore.HttpResponseExtensions | Provides extensions for asp.net HttpResponse objects |
CPeanutButter.SimpleHTTPServer.Testability.HttpServerExtensions | |
CIActionResultExecutor | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeJsonResultExecutor | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeObjectResultExecutor | Provides a faked implementation for rendering ObjectResult values |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeViewResultExecutor | Actually rendering a view is going to be tricky, and probably unnecessary. For testing purposes, the caller needs to be able to assert the view name and the provided data. This fake renderer will execute to arrive at: |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeViewResultExecutor | Actually rendering a view is going to be tricky, and probably unnecessary. For testing purposes, the caller needs to be able to assert the view name and the provided data. This fake renderer will execute to arrive at: |
CPeanutButter.Utils.IBackoffStrategy | Describes a service which backs off (ie, waits) according to the retry attempt number |
CPeanutButter.Utils.DefaultBackoffStrategy | Default backoff strategy for retries: linear, 100ms per attempt |
CPeanutButter.Utils.IBuilder< TBuilder, TEntity > | Most basic interface to implement to be considered a builder |
CPeanutButter.RandomGenerators.GenericBuilder< TBuilder, TEntity > | Base class for builders to produce instance of objects with a fluent builder-like syntax. Also includes utilities like randomizing property values |
CPeanutButter.Utils.Builder< TBuilder, TEntity > | Provides a base class with simple builder functionality |
CPeanutButter.TempDb.MySql.Base.TempDbMySqlServerSettingsBuilder | |
CPeanutButter.TestUtils.AspNetCore.Fakes.ICanBeIndexedBy< in T > | Describes a type which has |
CPeanutButter.TestUtils.AspNetCore.Fakes.StringValueMap | Provides a string-to-stringvalue map |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeFormCollection | Implements a fake form collection |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeHeaderDictionary | Provides a fake http header dictionary |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeQueryCollection | Provides a fake query collection |
CICompositeMetadataDetailsProvider | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeCompositeMetadataDetailsProvider | Provides a fake ICompositeMetadataDetailsProvider |
CPeanutButter.Async.Interfaces.IContinuation | Provides a continuation point for another task with no result |
CPeanutButter.Async.Continuation< T > | /> |
CPeanutButter.Async.Interfaces.IContinuation< T > | Provides a continuation point for another task with a result |
CPeanutButter.Async.Continuation< T > | /> |
CPeanutButter.DuckTyping.AutoConversion.IConverter | Base interface for converters of all types |
CPeanutButter.DuckTyping.AutoConversion.IConverter< T1, T2 > | Implement this interface for two type to provide auto-discovered converters to be used when fuzzy-duck-typing |
CPeanutButter.Utils.IDateTimeParser | Versatile DateTime parser |
CPeanutButter.Utils.DateTimeParser | |
CIDictionary | |
CPeanutButter.Utils.Dictionaries.DefaultDictionary< TKey, TValue > | Provides a Dictionary class which returns default values for unknown keys (like Python's defaultdict) |
CIDictionary | |
CPeanutButter.Utils.Dictionaries.CaseWarpingDictionaryWrapper< TValue > | Provides a read/write-through shim for another dictionary with the desired case sensitivity access |
CPeanutButter.Utils.Dictionaries.DefaultDictionary< TKey, TValue > | Provides a Dictionary class which returns default values for unknown keys (like Python's defaultdict) |
CPeanutButter.Utils.Dictionaries.DictionaryWrappingConnectionStringSettingCollection< TValue > | Provides a mechanism for wrapping read-write access to a ConnectionStringSettingsCollection in the IDictionary<string, string> interface to simplify shimming other types |
CPeanutButter.Utils.Dictionaries.DictionaryWrappingConnectionStringSettingCollection | Provides a convenient IDictionary wrapper for ConnectionStringCollections |
CPeanutButter.Utils.Dictionaries.DictionaryWrappingNameValueCollection< TValue > | Wraps a NameValueCollection in an IDictionary interface |
CPeanutButter.Utils.Dictionaries.DictionaryWrappingNameValueCollection | Provides a convenient IDictionary wrapper for NameValueCollections |
CPeanutButter.Utils.Dictionaries.DictionaryWrappingObject | Wraps an object in a dictionary interface |
CPeanutButter.Utils.Dictionaries.MergeDictionary< TKey, TValue > | Provides a mechanism to merge multiple dictionaries into one Source dictionaries |
CPeanutButter.Utils.Dictionaries.RedirectingDictionary< TValue > | Provides a wrapping read-write layer around another dictionary effectively allowing transparent rename of the keys |
CPeanutButter.Utils.Dictionaries.TransformingDictionary< TKey, TValue > | Provides access to an underlying dictionary with the keys held intact and the values passed through a transform |
CPeanutButter.Utils.Dictionaries.ValidatingDictionary< TKey, TValue > | Provides a dictionary implementation which allows for a validation action for keys, values and pairs |
CIDisposable | |
CPeanutButter.SimpleHTTPServer.IHttpServerBase | Describes the base functionality in a simple http-server |
CPeanutButter.SimpleHTTPServer.HttpServerBase | Provides the abstract base HTTP Server |
CPeanutButter.SimpleHTTPServer.HttpServer | Provides the simple HTTP server you may use ad-hoc |
CPeanutButter.SimpleHTTPServer.IHttpServer | Provides a simple way to run an in-memory http server situations like testing or where a small, very simple http server might be useful |
CPeanutButter.SimpleHTTPServer.HttpServer | Provides the simple HTTP server you may use ad-hoc |
CPeanutButter.SimpleHTTPServer.TcpIoWrapper | Wraps a TcpClient for easier IO |
CPeanutButter.SimpleTcpServer.ITrackingDisposable | An IDisposable animal with a Disposed property one can interrogate to find out if the item has been disposed |
CPeanutButter.SimpleTcpServer.TcpServer | Provides the base TCP server upon which more complex TCP-based servers can be built |
CPeanutButter.SimpleHTTPServer.HttpServerBase | Provides the abstract base HTTP Server |
CPeanutButter.TempDb.ITempDB | |
CPeanutButter.TempDb.TempDB< TDatabaseConnection > | |
CPeanutButter.TempDb.LocalDb.TempDBLocalDb | |
CPeanutButter.TempDb.MySql.Base.TempDBMySqlBase< T > | MySql flavor of TempDb |
CPeanutButter.TempDb.MySql.Connector.TempDBMySql | Provides the TempDB implementation for MySql, using MySql.Data as the connector library |
CPeanutButter.TempDb.MySql.Data.TempDBMySql | Provides the TempDB implementation for MySql, using MySql.Data as the connector library |
CPeanutButter.TempDb.SqlCe.TempDBSqlCe | |
CPeanutButter.TempDb.Sqlite.TempDBSqlite | |
CPeanutButter.TempDb.Runner.InteractiveShell | |
CPeanutButter.TempRedis.ITempRedis | Provides a temporary, disposable Redis instance levering off of a locally installed redis-server installation or binary within the path |
CPeanutButter.TempRedis.TempRedis | |
CPeanutButter.Utils.AutoBarrier | Provides an auto-signaller around a barrier: when this is disposed, it will SignalAndWait on the barrier, meaning you don't need to put required barrier unlocks in a finally clause |
CPeanutButter.Utils.AutoDeleter | Provides a mechanism to autmatically delete one or more files using the IDisposable pattern. Use this when you'd like to clean up some temporary files after an operation completes without having to worry about exception handling, etc. Files which cannot be deleted (eg: locked for reading / writing) will be left behind. No exceptions are thrown. Files which have been removed in the interim do not cause any exceptions |
CPeanutButter.Utils.AutoDisposer | Provides a mechanism to dispose of other disposables when it is disposed. This allows for flattening out nested using() blocks with an outer AutoDisposer which takes care of disposing registered items (in reverse order) when it is disposed |
CPeanutButter.Utils.AutoLocker | Class to use the using() {} pattern to take care of locking / unlocking one of: |
CPeanutButter.Utils.AutoResetter | Provides a mechanism to run code on construction and disposal, irrespective of exception handling Use this, for example, to set up and tear down state required for a test – your constructionAction is called immediately upon construction and the using() pattern guarantees that your disposalAction is called at disposal, even if your test fails |
CPeanutButter.Utils.AutoResetter< T > | Provides a mechanism to run code on construction and disposal, irrespective of exception handling Use this, for example, to set up and tear down state required for a test – your constructionAction is called immediately upon construction and the using() pattern guarantees that your disposalAction is called at disposal, even if your test fails. This is the variant of AutoResetter where: |
CPeanutButter.Utils.AutoResettingFile | Facilitates easily reverting a file to a prior state via the IDisposable pattern |
CPeanutButter.Utils.AutoTempEnvironmentVariable | Provides a scoped, temporary environment variable |
CPeanutButter.Utils.AutoTempFile | Provides a mechanism to create, read and write a temporary file which is automatically removed at disposal time |
CPeanutButter.Utils.AutoWorkFolder | Performs work within the provided working folder and then skips out of there. Probably not a good idea to use whilst performing parallel processing as it changes the entire CWD for the current process! |
CPeanutButter.Utils.DisposableWrapper | Provides an eventing wrapper around another disposable item, raising events before and after disposal and on disposal error |
CPeanutButter.Utils.IAutoTempFolder | Describes the contract for an auto-deleting temporary folder |
CPeanutButter.Utils.AutoTempFolder | Provides a mechanism for creating a temporary folder which is automatically deleted upon disposal |
CPeanutButter.Utils.IPoolItem< T > | Represents a pooled item of type T |
CPeanutButter.Utils.PoolItem< T > | |
CPeanutButter.Utils.IProcessIO | Wraps process IO (stdout, stderr) into an easy-to-access disposable source |
CPeanutButter.Utils.IUnstartedProcessIO | Provides the contract for an unstarted ProcessIO, as would be obtained from ProcessIO.In(workingDir) |
CPeanutButter.Utils.ProcessIO.UnstartedProcessIO | Represents an unstarted process-io instance |
CPeanutButter.Utils.ProcessIO | |
CPeanutButter.Utils.ProcessIO.UnstartedProcessIO | Represents an unstarted process-io instance |
CPeanutButter.Utils.IRollingWindow< T > | Provides a rolling window of data to the given size Disposing the RollingWindow immediately releases all references to items within the inner collection and renders the instance unusable from then on |
CPeanutButter.Utils.RollingWindow< T > | |
CPeanutButter.Utils.Pool< T > | Provides a generic pooling mechanism using the Disposable pattern |
CPeanutButter.SimpleHTTPServer.HttpServerFactory | |
CPeanutButter.TempRedis.TempRedisFactory | |
CPeanutButter.Utils.SingleDebuggerBlock | Provides a mechanism to make debugging an application a little easier: using the disposable pattern, surround a block of code with the scope for this item's disposal and you'll get: |
CIEnumerable | |
CPeanutButter.TestUtils.AspNetCore.Fakes.StringValueMap | Provides a string-to-stringvalue map |
CPeanutButter.Utils.EnumerableWrapper | Wraps an object which would be an acceptable enumerable in a foreach (due to .NET compile-time duck-typing) into an actual IEnumerator |
CPeanutButter.Utils.EnumerableWrapper< T > | Provides the typed EnumerableWrapper |
CIEnumerable | |
CPeanutButter.Utils.EnumerableWrapper< T > | Provides the typed EnumerableWrapper |
CPeanutButter.Utils.IRollingWindow< T > | Provides a rolling window of data to the given size Disposing the RollingWindow immediately releases all references to items within the inner collection and renders the instance unusable from then on |
CPeanutButter.Utils.MostRecentlyUsedList< T > | Holds a list of most-recently-used items, up to the provided capacity. New items displace the older ones, and re-adding the same item will reposition that item at the top of the list |
CIEnumerable | |
CPeanutButter.TestUtils.AspNetCore.Fakes.StringMap | Provides a collection of string maps |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeRequestCookieCollection | Provides a fake cookie collection |
CPeanutButter.Utils.IEnumerableWrapper | Used to describe a wrapper |
CPeanutButter.Utils.EnumerableWrapper | Wraps an object which would be an acceptable enumerable in a foreach (due to .NET compile-time duck-typing) into an actual IEnumerator |
CPeanutButter.Utils.EnumeratorWrapper< T > | Wraps an object which would be an acceptable enumerator in a foreach (due to .NET compile-time duck-typing) into an actual IEnumerator |
CIEnumerator | |
CPeanutButter.Utils.EnumeratorWrapper< T > | Wraps an object which would be an acceptable enumerator in a foreach (due to .NET compile-time duck-typing) into an actual IEnumerator |
CPeanutButter.TinyEventAggregator.IEventAggregator | Provides a simple event aggregator |
CPeanutButter.TinyEventAggregator.EventAggregator | |
CPeanutButter.TestUtils.AspNetCore.Fakes.IFake | Used to identify fakes, primarily by the .As<TFake> extension method |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeActionExecutedContext | Provides an ActionExecutedContext where the controller can be late-set |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeActionExecutingContext | Provides an ActionExecutingContext implementation where the controller can be late-set |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeConnectionInfo | Provides a fake connection |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeCookie | Implements a fake cookie holder |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeFeatureCollection | Implements a fake feature collection |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeFormCollection | Implements a fake form collection |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeFormFile | Implements a fake form file |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeFormFileCollection | Provides a fake form file collection |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeHeaderDictionary | Provides a fake http header dictionary |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeHttpContext | Provides a fake http context |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeHttpRequest | Implements a fake http request |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeHttpResponse | Provides a fake http response |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeQueryCollection | Provides a fake query collection |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeRequestCookieCollection | Provides a fake cookie collection |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeResponseCookies | Provides a fake response cookies service |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeSession | Provides a fake session |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeWebSocket | Provides a fake websocket |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeWebSocketManager | Provides a fake websocket manager |
CPeanutButter.TestUtils.AspNetCore.Fakes.MinimalServiceProvider | Provides a very minimal service provider |
CPeanutButter.TestUtils.AspNetCore.Fakes.IFakeModelMetadata | Interface for dealing with the backing properties of the FakeModelMetadata |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeModelMetadata | Faked model metadata |
CIFeatureCollection | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeFeatureCollection | Implements a fake feature collection |
CPeanutButter.Utils.IFilePathResolver | Provides a service to resolve path files, including with globbing |
CPeanutButter.Utils.FilePathResolver | |
CPeanutButter.FileSystem.IFileSystem | Provides a wrapper around a tree within a filesystem |
CPeanutButter.FileSystem.LocalFileSystem | |
CPeanutButter.Async.Interfaces.IFluentTaskRunnerContinuation< T > | Provides fluent continuation syntax |
CPeanutButter.Async.FluentTaskRunnerContinuation< T > | |
CIFormCollection | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeFormCollection | Implements a fake form collection |
CPeanutButter.TestUtils.AspNetCore.Utils.IFormDecoder | Decodes a form |
CPeanutButter.TestUtils.AspNetCore.Utils.FormDecoder | Attempts to decode a form from an http request body |
CPeanutButter.TestUtils.AspNetCore.Utils.IFormEncoder | Encodes a form |
CPeanutButter.TestUtils.AspNetCore.Utils.MultiPartBodyEncoder | Encodes a multi-part form |
CPeanutButter.TestUtils.AspNetCore.Utils.NullBodyEncoder | Null-pattern: simply produces a new stream |
CPeanutButter.TestUtils.AspNetCore.Utils.UrlEncodedBodyEncoder | Encodes a form with url-encoding |
CIFormFile | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeFormFile | Implements a fake form file |
CIFormFileCollection | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeFormFileCollection | Provides a fake form file collection |
CPeanutButter.RandomGenerators.IGenericBuilder | The most basic interface to implement for GenericBuilder instances |
CPeanutButter.RandomGenerators.GenericBuilder< TBuilder, TEntity > | Base class for builders to produce instance of objects with a fluent builder-like syntax. Also includes utilities like randomizing property values |
CIHeaderDictionary | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeHeaderDictionary | Provides a fake http header dictionary |
CIHttpRequestFeature | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeHttpRequestFeature | Provides a faked implementation of IHttpRequestFeature |
CIHttpResponseFeature | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeHttpResponseFeature | Provides a faked IHttpResponseFeature |
CPeanutButter.INI.IINIFile | Contract provided by the PeanutButter INI parser |
CPeanutButter.INI.INIFile | |
CPeanutButter.Utils.ILazyWithContext< TValue > | Provides a mechanism for lazy evaluation with a provider context |
CPeanutButter.Utils.LazyWithContext< TContext, TValue > | |
CPeanutButter.INI.ILineParser | Represents a line parser for parsing a data line into: |
CPeanutButter.INI.BestEffortLineParser | Provides the best-effort line parsing strategy - inherit from this to guide behavior, eg to set a custom comment delimiter or custom escaping of values, bearing in mind that doing so will probably make your ini file unreadable by other tooling |
CIList | |
CPeanutButter.Utils.CircularList< T > | Represents a list which circles back on itself such that enumerating over it produces an unending series. EG: if it was created with the numbers [ 1, 2, 3 ], then enumeration would yield [ 1, 2, 3, 1, 2, 3, 1 ... ] For all operations except enumeration and indexing, the collection will behave as an infinitely repeating series. For obvious reasons, CopyTo will copy the internal, limited collection |
CPeanutButter.Utils.ICircularList< T > | Defines the Circular List, which should behave a lot like an IList<T> except that enumerating it (when there are any values) will be an infinite task, running through all the values over and over |
CPeanutButter.Utils.CircularList< T > | Represents a list which circles back on itself such that enumerating over it produces an unending series. EG: if it was created with the numbers [ 1, 2, 3 ], then enumeration would yield [ 1, 2, 3, 1, 2, 3, 1 ... ] For all operations except enumeration and indexing, the collection will behave as an infinitely repeating series. For obvious reasons, CopyTo will copy the internal, limited collection |
CPeanutButter.Utils.ISlidingWindow< T > | Provides an easy mechanism for a sliding window of data This collection is not thread-safe - you should add your own thread-safety as appropriate |
CPeanutButter.Utils.SlidingWindow< T > | |
CPeanutButter.TempDb.LocalDb.ILocalDbFactory | Interface to implement when your TempDB implementation needs to create a temporary database |
CPeanutButter.TempDb.LocalDb.LocalDbFactory | LocalDb implmentation if ILocalDbFactory |
CPeanutButter.MVC.IncludeDirectory | |
CIObjectModelValidator | |
CPeanutButter.TestUtils.AspNetCore.Utils.DefaultObjectModelValidator | Provides a no-op implementation of IObjectModelValidator |
CIOptions | |
CPeanutButter.TestUtils.AspNetCore.Builders.OptionsAccessor | Implementation of IOptions<MvcOptions> to be used for generating ViewDataDictionaries, or whatever else you might like (: |
CPeanutButter.TestUtils.AspNetCore.Utils.DefaultOptionsWithFactory< T > | |
CPeanutButter.TestUtils.AspNetCore.Utils.DefaultOptions< T > | |
CPeanutButter.TestUtils.AspNetCore.Utils.DefaultMvcOptions | Provides a null-implementation for IOptions<MvcOptions> |
CPeanutButter.Utils.IParallelWorker< T > | Describes a parallel worker for functions returning values |
CPeanutButter.Utils.ParallelWorker< T > | Encapsulates some work which must be run in parallel |
CPeanutButter.INI.IParsedLine | Represents a parsed data line |
CPeanutButter.Utils.IPool< T > | Describes a pooling service for the underlying type T |
CPeanutButter.SimpleHTTPServer.IHttpServerFactory | Describes a factory for your http server usage: |
CPeanutButter.SimpleHTTPServer.HttpServerFactory | |
CPeanutButter.TempRedis.ITempRedisFactory | Describes a TempRedis leasing factory |
CPeanutButter.TempRedis.TempRedisFactory | |
CPeanutButter.Utils.Pool< T > | Provides a generic pooling mechanism using the Disposable pattern |
CPeanutButter.SimpleTcpServer.IProcessor | Interface to be implemented by a service which processes requests |
CPeanutButter.SimpleHTTPServer.HttpProcessor | Processor for HTTP requests on top of the generic TCP processor |
CIPropertyFilterProvider | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakePropertyFilterProvider | Provides a fake property filter which filters nothing |
CPeanutButter.DuckTyping.Shimming.IPropertyInfoFetcher | Interface to implement for a utility to fetch properties on a type or object |
CPeanutButter.Utils.IPropertyOrField | Represents a property or a field on an object |
CPeanutButter.Utils.PropertyOrField | Provides a single storage / representation for a Property or a Field |
CIQueryCollection | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeQueryCollection | Provides a fake query collection |
CPeanutButter.Utils.IRateLimiter | Provides a mechanism for rate-limiting calls to blocks of code. Calls made within limits are executed, those which exceed limits are dropped |
CPeanutButter.Utils.RateLimiter | |
CPeanutButter.TempRedis.IRedisDownloader | Attempts to download the Microsoft-built redis server 3.2.100 from https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100 which is adequate for testing on a windows machine |
CPeanutButter.TempRedis.MicrosoftRedisDownloader | |
CIRequestCookieCollection | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeRequestCookieCollection | Provides a fake cookie collection |
CIResponseCookies | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeResponseCookies | Provides a fake response cookies service |
CPeanutButter.MVC.IScriptBundle | |
CPeanutButter.MVC.ScriptBundleFacade | |
CPeanutButter.ServiceShell.IServiceCommandlineOptions | Commandline options for services which are implemented via ServiceShell |
CPeanutButter.ServiceShell.ServiceCommandlineOptions | |
CPeanutButter.WindowsServiceManagement.IServiceControlInterface | Provides a mechanism for controlling windows services |
CPeanutButter.WindowsServiceManagement.ServiceControlInterface | |
CIServiceProvider | |
CPeanutButter.TestUtils.AspNetCore.Fakes.IMinimalServiceProvider | Provides a minimal implementation of IServiceProvider |
CPeanutButter.TestUtils.AspNetCore.Fakes.MinimalServiceProvider | Provides a very minimal service provider |
CISession | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeSession | Provides a fake session |
CPeanutButter.DuckTyping.Shimming.IShimSham | Interface to implement for shimming ducked-types. Used for the backing field within the ducked type. Could potentially be used as a starting point for new ways to duck |
CPeanutButter.DuckTyping.Shimming.DictionaryShimSham | Provides the required shimming to duck a dictionary object to an interface |
CPeanutButter.DuckTyping.Shimming.ShimSham | Shim to wrap objects for ducking |
CPeanutButter.ServiceShell.ISimpleLogger | Describes the contract for a very simple logging service |
CPeanutButter.ServiceShell.Shell | |
CPeanutButter.Utils.ISingleItemCache< T > | SingleItemCache provides a light, fast, caching wrapper around a function to generate a value with a provided TTL |
CPeanutButter.Utils.SingleItemCache< T > | SingleItemCache provides a light, fast, caching wrapper around a function to generate a value with a provided TTL |
CPeanutButter.Utils.ISlidingWindowItem< out T > | Describes a sliding window item |
CPeanutButter.MVC.IStyleBundle | |
CPeanutButter.MVC.StyleBundleFacade | |
CPeanutButter.Async.Interfaces.ITaskRunner | Provides a wrapper around task running |
CPeanutButter.Async.TaskRunner | |
CITempDataDictionaryFactory | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeTempDataDictionaryFactory | |
CITempDataProvider | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeTempDataProvider | |
CPeanutButter.Utils.ITextStatusSteps | Describes the contract for textural feedback around running activities |
CPeanutButter.Utils.TextStatusSteps | Provides an easy mechanism for steps of a process with status feedback, ie "starting X..." / {does X} / {"completed" / "failed"} |
CPeanutButter.Utils.SuppressedTextStatusSteps | Provide a mechanism to swap out noisy steps for fully-suppressed ones, esp from testing |
CPeanutButter.DuckTyping.Shimming.ITypeMaker | Interface implemented by the TypeMaker |
CPeanutButter.DuckTyping.Shimming.TypeMaker | Utility class to create types on the fly which implement provided interfaces, when possible |
CPeanutButter.WindowsServiceManagement.IWindowsServiceUtil | The Windows Service Utility contract |
CPeanutButter.WindowsServiceManagement.NativeWindowsServiceUtil | The legacy, native WindowsServiceUtil which uses the win32api to provide service management |
CPeanutButter.WindowsServiceManagement.WindowsServiceUtil | The cross-environment WindowsServiceUtil, backed by commands to sc.exe |
CPeanutButter.Utils.IWorker | Describes a worker |
CPeanutButter.Utils.IParallelWorker | Describes a parallel worker for actions |
CPeanutButter.Utils.ParallelWorker | Encapsulates some work which must be run in parallel |
CPeanutButter.Utils.Dictionaries.IWrapper | Defines an object which is wrapping another object and can be unwrapped with the provided methods |
CPeanutButter.Utils.Dictionaries.DictionaryWrappingObject | Wraps an object in a dictionary interface |
CPeanutButter.JObjectExtensions.JObjectExtensions | Provides an easy extension method to convert JObjects to nested Dictionary<string, object> instances |
CPeanutButter.Utils.KeyValueCollectionExtensions | Provides extension methods on KeyValuePairCollections |
CPeanutButter.Utils.ListExtensions | Provides methods on lists as one might expect from JavaScript |
CPeanutButter.TempDb.LocalDb.LocalDbInstanceEnumerator | Helper class to find all instances of running LocalDb services |
CPeanutButter.Utils.MaxAttemptsRetryContext | Provides a wrapping context around retried code |
CPeanutButter.Utils.MedianExtensions | Provides .Median() extension methods for numeric collections |
CPeanutButter.DuckTyping.Extensions.MergingExtensions | Provides extension method for merging multiple objects behind a required interface |
CPeanutButter.Utils.MetadataExtensions | Provides extension methods to set and retrieve metadata on any object. Under the hood, these methods use a ConditionalWeakTable to store your metadata, so the metadata is garbage-collected when your managed objects are garbage-collected |
CPeanutButter.DuckTyping.Comparers.MethodInfoContainer | Class which holds two lookups of method information: one accurate and one approximate |
CPeanutButter.SimpleHTTPServer.HttpConstants.Methods | Common HTTP Methods |
CPeanutButter.Utils.MIMEType | Kept to maintain legacy code |
CPeanutButter.SimpleHTTPServer.HttpConstants.MimeTypes | Common MIME types |
CPeanutButter.Utils.MimeTypes | Provides a mechanism for guessing the MIME type of a file by its extension. Of course, this isn't perfect - magic bytes are probably more reliable - but also more effort. This code is largely copied from https://github.com/samuelneff/MimeTypeMap/blob/master/MimeTypeMap.cs The code in this file is licensed under the |
CPeanutButter.Utils.MockStoreExtensions | Provides basic extensions for using a mocked store against any object, levering off of PeanutButter's metadata logic |
CModelBindingContext | |
CPeanutButter.TestUtils.AspNetCore.Builders.FakeModelBindingContext | Provides a faked implementation of ModelBindingContext |
CModelMetadata | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeModelMetadata | Faked model metadata |
CPeanutButter.TestUtils.AspNetCore.Builders.ModelMetadataBuilder | Builds ModelMetadata |
CPeanutButter.TempDb.MySql.Base.MySqlConfigGenerator | Generates MySql configuration from TempDbMySqlServerSettings |
CPeanutButter.TempDb.MySql.Connector.MySqlPoolStatsFetcher | Fetches stats from the MySqlConnector pool using reflection |
CPeanutButter.TempDb.MySql.Data.MySqlPoolStatsFetcher | Fetches MySql connection pool stats via reflection from non-public types and fields as the MySql driver doesn't report any actually useful stats to WMI, making this document not all that useful for MySql (even when adjusting counter names): https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/performance-counters |
CPeanutButter.TempDb.MySql.Base.TempDBMySqlBase< T >.MySqlVersionInfo | |
CPeanutButter.TempDb.MySql.Base.MySqlWindowsServiceFinder | Utility to try to find the path to the MySQL service binary on Windows |
CPeanutButter.RandomGenerators.NaturalData | Provides modifiable sources of "natural" data |
CNotImplementedException | |
CPeanutButter.DuckTyping.Exceptions.BackingFieldForPropertyNotFoundException | Exception which is thrown when a type does not contain the expected backing field |
CPeanutButter.DuckTyping.Exceptions.MethodNotFoundException | Exception thrown when a forced ducked type does not implement a method that it is expected to implement |
CPeanutButter.DuckTyping.Exceptions.PropertyNotFoundException | Exception thrown when an expected property was not found on a ducked type |
CPeanutButter.DuckTyping.Exceptions.ReadOnlyPropertyException | Exception thrown when the ducked property is read-only but the interface to duck to expects a read/write property |
CPeanutButter.DuckTyping.Exceptions.WriteOnlyPropertyException | Exception thrown when a ducking operation expects a read/write property but the object being ducked implements a write-only property |
CPeanutButter.RandomGenerators.ObjectExtensions | Provides the .Randomize extension for objects |
CPeanutButter.Utils.ObjectExtensions | Provides a set of convenience extensions on everything |
CPeanutButter.TempDb.Runner.Options | |
CPeanutButter.EasyArgs.ParserExtensions | Provides the extension methods to parse commandline arguments |
CPeanutButter.EasyArgs.ParserOptions | Provides options for the parser |
CPeanutButter.Utils.Platform | Platform abstractions |
CPeanutButter.TempDb.MySql.Data.MySqlPoolStatsFetcher.PoolStats | Provides pool stats for MySql.Data Connection Pools via reflection |
CPeanutButter.Utils.PortFinder | Utility class to find open ports for binding to |
CPeanutButter.TempDb.Runner.Program | |
CPeanutButter.TestUtils.Generic.PropertyAssert | Provides a wrapper around DeepEqualityTester and NUnit for property assertions |
CPeanutButter.DuckTyping.Shimming.PropertyInfoContainer | Provides a container for two property info lookups: one accurate and one approximate |
CPeanutButter.Utils.PyLike | Provides a Python-like Range method |
CPeanutButter.TestUtils.AspNetCore.Builders.QueryBuilder | Alias to QueryCollectionBuilder |
CPeanutButter.Utils.QueueExtensions | Provides some useful extensions for Queues |
CPeanutButter.Utils.RandomNumber | Singleton wrapper around Random.Next to reduce the chances of clashing |
CPeanutButter.RandomGenerators.RandomValueGen | 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; |
CPeanutButter.TempRedis.RedisExecutableFinder | Attempts to find a redis-server executable for TempRedis |
CPeanutButter.TestUtils.AspNetCore.Utils.RequestDelegateTestArena | Sets up the useful bits for testing an asp.net middleware class - use this to easily set up the context and next parameters for InvokeAsync |
CPeanutButter.TestUtils.AspNetCore.Utils.RequestDelegateTestArenaBuilder | Builds a RequestDelegateTestArena, which makes testing middleware a lot easier |
CPeanutButter.SimpleHTTPServer.RequestLogItem | Log item for requests |
CPeanutButter.Utils.Retry | Retries operations up to a specific number of times |
CPeanutButter.Utils.RetryExtensions | Provides common functionality to retry logic with configurable delay |
CPeanutButter.Utils.Run | Provides convenience wrapper functions to run small bits of work in parallel threads, not tasks. No async/await, no Tasks (unless you want to return them and await them yourself). No TPL. No handbrakes. No magic context. No guarantees, except that your work will be executed. May make the host machine very tired |
CPeanutButter.Utils.RunningAverage | Provides a convenience class to keep a running average of values without storing the values in memory |
CPeanutButter.Utils.Runtime | Used to determine what runtime we're currently running on |
CPeanutButter.Utils.SafeWalk | Utility class to provide the ability to enumerate files without throwing exceptions on access errors |
CPeanutButter.WindowsServiceManagement.Win32Api.SERVICE_DELAYED_AUTO_START_INFO | |
CPeanutButter.WindowsServiceManagement.Win32Api.SERVICE_STATUS | |
CPeanutButter.WindowsServiceManagement.Win32Api.SERVICE_STATUS_PROCESS | |
CServiceBase | |
CPeanutButter.ServiceShell.Shell | |
CPeanutButter.DuckTyping.Shimming.ShimShamBase | Base class for common shim functionality |
CPeanutButter.DuckTyping.Shimming.DictionaryShimSham | Provides the required shimming to duck a dictionary object to an interface |
CPeanutButter.DuckTyping.Shimming.ShimSham | Shim to wrap objects for ducking |
CPeanutButter.Utils.SlidingWindowEstimatedTimeRemainingExtensions | Provides convenience functions to predict an estimated time remaining based on a remaining item count |
CPeanutButter.Utils.SlidingWindowRateExtensions | Provides convenience extensions for sliding windows |
CPeanutButter.SimpleHTTPServer.HttpConstants.Statuses | Common HTTP status titles |
CPeanutButter.Utils.Steps | Provides a mechanism to surround an action with a pre-action and post-action |
CPeanutButter.SimpleHTTPServer.StreamExtensions | Provides some extensions for the stream object provided into a HttpServer handler function |
CPeanutButter.Utils.StreamExtensions | Provides utility extensions on Stream objects |
CPeanutButter.Utils.StringExtensions | Provides utility extensions for strings |
CPeanutButter.Utils.Stringifier | Provides convenience functions to get reasonable string representations of objects and collections |
CPeanutButter.TinyEventAggregator.Subscription< TPayload > | Represents a subscription for a specific event and payload |
CPeanutButter.TinyEventAggregator.SubscriptionsChangedEventArgs | Event args when a subscription is changed |
CPeanutButter.TinyEventAggregator.SubscriptionToken | A token which identifies a subscription |
CPeanutButter.TestUtils.Generic.SubstituteExtensions | Provides extensions for substitutes to facilitate easier interrogation of the call history, eg when you want to pull an argument for an invocation to test against |
CPeanutButter.Async.TaskExtensions | Convenience extensions |
CPeanutButter.Utils.TaskExtensions | Extension methods for tasks Suggest: Use Async.RunSync, which does more cleverness |
CPeanutButter.SimpleHTTPServer.TcpClientExtensions | Provides the ReadLine extension for a TcpClient |
CPeanutButter.SimpleHTTPServer.TcpServerProcessor | Abstract TCP processor |
CPeanutButter.SimpleHTTPServer.HttpProcessor | Processor for HTTP requests on top of the generic TCP processor |
CPeanutButter.TempDb.TempDbDisposedEventArgs | |
CPeanutButter.TempDb.Runner.TempDbFactory | |
CPeanutButter.TempDb.TempDbHints | |
CPeanutButter.TempDb.MySql.Base.TempDbMySqlServerSettings | Settings for starting up a TempDbMySql instance |
CPeanutButter.TempDb.MySql.Base.TempDbMySqlServerSettings.TempDbOptions | Options which define how to start up mysqld |
CPeanutButter.TempDb.TempDbTracker | |
CPeanutButter.TempRedis.TempRedisOptions | Options for construction of a TempRedis instance |
CPeanutButter.Utils.TimeBasedRetryContext | Provides a wrapping context around retried code |
CPeanutButter.Utils.TimeSpanExtensions | Adds methods similar to those found on DateTime to TimeSpan |
CPeanutButter.Utils.TypeEqualityTester | Tests shape equality between two types (YMMV) |
CPeanutButter.TestUtils.Generic.TypeExtensions | Provides extension methods on Type objects |
CPeanutButter.Utils.TypeExtensions | Helper extensions for Types |
CPeanutButter.Utils.TypeFinder | Find loaded types by name |
CPeanutButter.RandomGenerators.UniqueRandomValueGenerator | Base class for UniqueRandomValueGenerator<T> |
CPeanutButter.RandomGenerators.UniqueRandomValueGenerator< T > | Generates unique random values per instance |
CPeanutButter.Utils.UriExtensions | Provides extensions for Uri objects and url strings |
CPeanutButter.ServiceShell.Shell.VersionInfo | Provides basic version information |
CPeanutButter.NetUtils.WebDownloader | |
CPeanutButter.Utils.WebObjectExtensions | Provides some more object extensions, for webby usages |
CWebSocket | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeWebSocket | Provides a fake websocket |
CWebSocketManager | |
CPeanutButter.TestUtils.AspNetCore.Fakes.FakeWebSocketManager | Provides a fake websocket manager |
CPeanutButter.Utils.Worker | Base class for parallel workers |
CPeanutButter.Utils.ParallelWorker | Encapsulates some work which must be run in parallel |
CPeanutButter.Utils.ParallelWorker< T > | Encapsulates some work which must be run in parallel |
CPeanutButter.Utils.WorkResult | Stores the exception (or none) from a single piece of work |
CPeanutButter.Utils.WorkResult< T > | |
CPeanutButter.Utils.WorkResultExtensions | Provides convenience extensions for work results |
CPeanutButter.XmlUtils.XElementExtensions | Adds some convenience extensions to XElement and XDocument instances |