Still busy importing source code




Beaker libraries project
Unlike most .NET libraries, the Beaker Libraries are not general usable. They are to support a way of working I developed over time. If you do not adopt this way of working, these libraries are probably unusable for you. I am making my libraries open source for the people who happen to like my way of working and like to adopt it, including the libraries to support the method.

Beaker 'method'
The beaker method uses a lot of existing patterns to create decoupled, testable applications. The libraries supply DI libraries and Interfaces to hide OS access and make them testable. The main pattern used is S.O.L.I.D.

External libraries
For several tasks external NuGet libraries where chosen. Because the Beaker libraries reference these libraries, adopting the beaker method includes adopting these libraries.

NameDescription
SimpleInjectorHandles Dependency Injection
Fluent AssertionsFluent asserting the specifications in the tests
MOQGenerating mocks for using during testing


Beaker provided libraries
The libraries grow as I need them, so it might be an incomplete list for your needs.

NameDescription
Beaker.InjectionMain Dependency Injection Library. Starts DI up, but does not provide a DI framework itself. Contains only a generalized way of registering the injections using modules
Beaker.Injection.SimpleInjectorProvider that uses SimpleInjector for the DI
Beaker.CommonCommon libraries with classes that are used in most other libraries, but do not fit a special theme
Beaker.FileSystemInterfaces for access to file system, like IFolder and IFile.
Beaker.FileSystem.PhysicalImplementation of the interfaces against a physical file system
Beaker.FileSystem.VirtualImplementation of the interface against a Virtual ASP.NET file system
Beaker.FileSystem.ZipImplementation of the interface against a ZIP file
Beaker.FileSystem.InMemoryA fully in-memory implementation of a file system. Useful as a stub during unit testing
Beaker.DataInterfaces to abstract EF or Linq to SQL away
Beaker.Data.InMemoryA full in-memory implementation of IDbContext. Useful as a stub during unit testing
Beaker.DateAndTimeAbstracts away most date and time for unit-testing
Beaker.ConsoleAbstracts away the console access and supplies a command line parser for console apps.
Beaker.SpecsA library with base and helper classes for supporting test driven development