├── lib ├── Moq.4.0.10827 │ ├── Moq.chm │ ├── lib │ │ ├── NET35 │ │ │ ├── Moq.dll │ │ │ └── Moq.pdb │ │ ├── NET40 │ │ │ ├── Moq.dll │ │ │ └── Moq.pdb │ │ └── Silverlight4 │ │ │ ├── Castle.Core.dll │ │ │ ├── Moq.Silverlight.dll │ │ │ └── Moq.Silverlight.pdb │ ├── Moq.4.0.10827.nupkg │ └── License.txt ├── Autofac.3.0.2 │ ├── Autofac.3.0.2.nupkg │ └── lib │ │ ├── net40 │ │ ├── Autofac.dll │ │ └── Autofac.Configuration.dll │ │ └── portable-win+net40+sl50+wp8 │ │ └── Autofac.dll ├── Moq.4.2.1507.0118 │ ├── lib │ │ ├── net35 │ │ │ └── Moq.dll │ │ ├── net40 │ │ │ └── Moq.dll │ │ └── sl5 │ │ │ └── Moq.Silverlight.dll │ └── Moq.4.2.1507.0118.nupkg ├── Machine.Specifications.0.7.0 │ ├── tools │ │ ├── Spark.dll │ │ ├── mspec.exe │ │ ├── mspec-clr4.exe │ │ ├── mspec-x86.exe │ │ ├── CommandLine.dll │ │ ├── mspec-x86-clr4.exe │ │ ├── TestDriven.Framework.dll │ │ ├── Machine.Specifications.dll │ │ ├── Machine.Specifications.Clr4.dll │ │ ├── Machine.Specifications.Reporting.dll │ │ ├── Machine.Specifications.TDNetRunner.dll │ │ ├── Machine.Specifications.WatinSupport.dll │ │ ├── Machine.Specifications.SeleniumSupport.dll │ │ ├── Machine.Specifications.WebDriverSupport.dll │ │ ├── Machine.Specifications.ReSharperRunner.6.1.dll │ │ ├── Machine.Specifications.ReSharperRunner.7.0.dll │ │ ├── Machine.Specifications.ReSharperRunner.7.1.dll │ │ ├── Machine.Specifications.ReSharperRunner.8.0.dll │ │ ├── Machine.Specifications.ReSharperRunner.8.1.dll │ │ ├── Machine.Specifications.Reporting.Templates.dll │ │ ├── Machine.Specifications.dotCoverRunner.2.0.dll │ │ ├── Machine.Specifications.dotCoverRunner.2.1.dll │ │ ├── Machine.Specifications.dotCoverRunner.2.2.dll │ │ ├── Machine.Specifications.dotCoverRunner.2.5.dll │ │ ├── Machine.Specifications.dotCoverRunner.2.6.dll │ │ ├── install.ps1 │ │ ├── Machine.Specifications.dll.tdnet │ │ ├── mspec-clr4.exe.config │ │ ├── mspec-x86-clr4.exe.config │ │ ├── InstallDotCoverRunner.2.0.bat │ │ ├── InstallDotCoverRunner.2.1.bat │ │ ├── InstallDotCoverRunner.2.2.bat │ │ ├── InstallDotCoverRunner.2.5.bat │ │ ├── InstallDotCoverRunner.2.6.bat │ │ ├── InstallTDNetRunner.bat │ │ ├── InstallTDNetRunnerSilent.bat │ │ ├── InstallResharperRunner.6.1.bat │ │ ├── InstallResharperRunner.7.0.bat │ │ ├── InstallResharperRunner.7.1.bat │ │ ├── InstallResharperRunner.8.0.bat │ │ ├── InstallResharperRunner.8.1.bat │ │ ├── License.txt │ │ └── history.txt │ ├── Machine.Specifications.0.7.0.nupkg │ └── lib │ │ ├── net20 │ │ ├── Machine.Specifications.dll │ │ └── Machine.Specifications.TDNetRunner.dll │ │ ├── net40 │ │ ├── Machine.Specifications.dll │ │ ├── Machine.Specifications.Clr4.dll │ │ └── Machine.Specifications.TDNetRunner.dll │ │ └── net45 │ │ ├── Machine.Specifications.dll │ │ ├── Machine.Specifications.Clr4.dll │ │ └── Machine.Specifications.TDNetRunner.dll ├── Machine.Specifications.0.5.6.0 │ ├── tools │ │ ├── Spark.dll │ │ ├── mspec.exe │ │ ├── CommandLine.dll │ │ ├── mspec-clr4.exe │ │ ├── mspec-x86.exe │ │ ├── mspec-x86-clr4.exe │ │ ├── TestDriven.Framework.dll │ │ ├── Machine.Specifications.dll │ │ ├── Machine.Specifications.Clr4.dll │ │ ├── Machine.Specifications.Reporting.dll │ │ ├── Machine.Specifications.GallioAdapter.dll │ │ ├── Machine.Specifications.TDNetRunner.dll │ │ ├── Machine.Specifications.WatinSupport.dll │ │ ├── Machine.Specifications.SeleniumSupport.dll │ │ ├── Machine.Specifications.WebDriverSupport.dll │ │ ├── Machine.Specifications.ReSharperRunner.4.1.dll │ │ ├── Machine.Specifications.ReSharperRunner.4.5.dll │ │ ├── Machine.Specifications.ReSharperRunner.5.0.dll │ │ ├── Machine.Specifications.ReSharperRunner.5.1.dll │ │ ├── Machine.Specifications.ReSharperRunner.6.0.dll │ │ ├── Machine.Specifications.ReSharperRunner.6.1.dll │ │ ├── Machine.Specifications.ReSharperRunner.7.0.dll │ │ ├── Machine.Specifications.Reporting.Templates.dll │ │ ├── mspec-clr4.exe.config │ │ ├── mspec-x86-clr4.exe.config │ │ ├── install.ps1 │ │ ├── Machine.Specifications.dll.tdnet │ │ ├── InstallResharperRunner.4.1.bat │ │ ├── InstallResharperRunner.4.5.bat │ │ ├── InstallResharperRunner.5.0 - VS2008.bat │ │ ├── InstallResharperRunner.5.1 - VS2008.bat │ │ ├── InstallResharperRunner.6.0 - VS2008.bat │ │ ├── InstallResharperRunner.6.1 - VS2008.bat │ │ ├── InstallResharperRunner.5.0 - VS2010.bat │ │ ├── InstallResharperRunner.5.1 - VS2010.bat │ │ ├── InstallResharperRunner.6.0 - VS2010.bat │ │ ├── InstallResharperRunner.6.1 - VS2010.bat │ │ ├── InstallResharperRunner.7.0 - VS2011.bat │ │ ├── InstallTDNetRunner.bat │ │ ├── InstallTDNetRunnerSilent.bat │ │ ├── Machine.Specifications.GallioAdapter.plugin │ │ └── License.txt │ ├── Machine.Specifications.0.5.6.0.nupkg │ └── lib │ │ ├── net20 │ │ ├── Machine.Specifications.dll │ │ ├── Machine.Specifications.TDNetRunner.dll │ │ └── Machine.Specifications.dll.tdnet │ │ └── net40 │ │ ├── Machine.Specifications.dll │ │ ├── Machine.Specifications.Clr4.dll │ │ ├── Machine.Specifications.TDNetRunner.dll │ │ └── Machine.Specifications.dll.tdnet ├── NHibernate.3.3.1.4000 │ ├── lib │ │ └── Net35 │ │ │ └── NHibernate.dll │ ├── NHibernate.3.3.1.4000.nupkg │ ├── NHibernate.releasenotes.txt │ ├── ConfigurationTemplates │ │ ├── SQLite.cfg.xml │ │ ├── PostgreSQL.cfg.xml │ │ ├── MySql.cfg.xml │ │ ├── MSSQL.cfg.xml │ │ ├── SybaseASE.cfg.xml │ │ ├── SybaseSQLAnywhere.cfg.xml │ │ ├── Oracle.cfg.xml │ │ └── FireBird.cfg.xml │ ├── NHibernate.readme.html │ └── nhibernate-configuration.xsd ├── structuremap.2.6.4.1 │ ├── lib │ │ └── net40 │ │ │ ├── StructureMap.dll │ │ │ └── StructureMap.pdb │ └── structuremap.2.6.4.1.nupkg ├── Iesi.Collections.3.2.0.4000 │ ├── lib │ │ └── Net35 │ │ │ └── Iesi.Collections.dll │ └── Iesi.Collections.3.2.0.4000.nupkg ├── Machine.Specifications.0.9.3 │ ├── Machine.Specifications.0.9.3.nupkg │ ├── lib │ │ ├── net20 │ │ │ └── Machine.Specifications.dll │ │ ├── net40 │ │ │ ├── Machine.Specifications.dll │ │ │ └── Machine.Specifications.Clr4.dll │ │ └── net45 │ │ │ ├── Machine.Specifications.dll │ │ │ └── Machine.Specifications.Clr4.dll │ └── tools │ │ ├── install.ps1 │ │ ├── License.txt │ │ └── history.txt ├── Machine.Specifications.Should.0.7.2 │ ├── Machine.Specifications.Should.0.7.2.nupkg │ ├── lib │ │ ├── net20 │ │ │ └── Machine.Specifications.Should.dll │ │ ├── net40 │ │ │ └── Machine.Specifications.Should.dll │ │ └── net45 │ │ │ └── Machine.Specifications.Should.dll │ └── License.txt └── repositories.config ├── src ├── BlingBag │ ├── Blinger.cs │ ├── IBlingDispatcher.cs │ ├── IBlingHandler.cs │ ├── IBlingLogger.cs │ ├── BlingBag.nuspec │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── ImmediateBlingDispatcher.cs │ ├── BlingBag.csproj │ └── BlingDispatcherBase.cs ├── BlingBag.Specs │ ├── Blinger.cs │ ├── TestClass.cs │ ├── NameChanged.cs │ ├── LocationChanged.cs │ ├── packages.config │ ├── NameChangedHandler.cs │ ├── LogLocationChanged.cs │ ├── TestHandler.cs │ ├── User.cs │ ├── OrgUnit.cs │ ├── Location.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Account.cs │ ├── when_dispatching_a_registered_action_event.cs │ ├── when_changing_the_account_name.cs │ └── BlingBag.Specs.csproj ├── nuget.config ├── BlingBag.AutoFac │ ├── BlingBag.AutoFac.1.3.1.3.nupkg │ ├── packages.config │ ├── AutoFacBlingDispatcher.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── BlingBag.AutoFac.nuspec │ └── BlingBag.AutoFac.csproj ├── BlingBag.Testing │ ├── BlingBag.Testing.1.3.1.0.nupkg │ ├── EventNotDispatchedException.cs │ ├── BlingBag.Testing.nuspec │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── WithExtensions.cs │ └── BlingBag.Testing.csproj ├── BlingBag.StructureMap.Specs │ ├── LocationChanged.cs │ ├── packages.config │ ├── Location.cs │ ├── TestLocationChangedHandler.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── when_dispatching_an_event_with_handler_registered_in_the_container.cs │ └── BlingBag.StructureMap.Specs.csproj ├── BlingBag.NHibernate │ ├── BlingBag.NHibernate.1.3.1.0.nupkg │ ├── packages.config │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── BlingBag.NHibernate.nuspec │ ├── BlingInterceptor.cs │ └── BlingBag.NHibernate.csproj ├── BlingBag.StructureMap │ ├── BlingBag.StructureMap.1.3.1.1.nupkg │ ├── packages.config │ ├── StructureMapBlingDispatcher.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── BlingBag.StructureMap.nuspec │ └── BlingBag.StructureMap.csproj ├── BlingBag.SampleConsoleApp │ ├── packages.config │ ├── app.config │ ├── FakeDomainLayer │ │ ├── IEmailClient.cs │ │ ├── IAccountFetcher.cs │ │ ├── IRepository.cs │ │ ├── Events │ │ │ └── TheNameChanged.cs │ │ ├── FakeEmailClient.cs │ │ ├── EventHandlers │ │ │ ├── LogThatNameChanged.cs │ │ │ ├── UpdateAccountAfterNameChange.cs │ │ │ └── EmailTheAccountHolderAfterNameChanged.cs │ │ ├── Entities │ │ │ └── Account.cs │ │ └── InitializedAccountFetcher.cs │ ├── Infrastructure │ │ ├── StandardDomainEventsConfiguration.cs │ │ └── Bootstrapper.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── FakeDataLayer │ │ └── StubRepository.cs │ ├── Program.cs │ └── BlingBag.SampleConsoleApp.csproj ├── BlingBag.sln.DotSettings ├── Packages.dgml └── BlingBag.sln ├── appveyor.yml ├── .gitignore ├── rakefile.rb └── README.md /lib/Moq.4.0.10827/Moq.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Moq.4.0.10827/Moq.chm -------------------------------------------------------------------------------- /src/BlingBag/Blinger.cs: -------------------------------------------------------------------------------- 1 | namespace BlingBag 2 | { 3 | public delegate void Blinger(object @event); 4 | } -------------------------------------------------------------------------------- /src/BlingBag.Specs/Blinger.cs: -------------------------------------------------------------------------------- 1 | namespace BlingBag.Specs 2 | { 3 | public delegate void Blinger(object @event); 4 | } -------------------------------------------------------------------------------- /src/BlingBag.Specs/TestClass.cs: -------------------------------------------------------------------------------- 1 | namespace BlingBag.Specs 2 | { 3 | public class TestClass 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /lib/Moq.4.0.10827/lib/NET35/Moq.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Moq.4.0.10827/lib/NET35/Moq.dll -------------------------------------------------------------------------------- /lib/Moq.4.0.10827/lib/NET35/Moq.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Moq.4.0.10827/lib/NET35/Moq.pdb -------------------------------------------------------------------------------- /lib/Moq.4.0.10827/lib/NET40/Moq.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Moq.4.0.10827/lib/NET40/Moq.dll -------------------------------------------------------------------------------- /lib/Moq.4.0.10827/lib/NET40/Moq.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Moq.4.0.10827/lib/NET40/Moq.pdb -------------------------------------------------------------------------------- /lib/Autofac.3.0.2/Autofac.3.0.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Autofac.3.0.2/Autofac.3.0.2.nupkg -------------------------------------------------------------------------------- /lib/Moq.4.0.10827/Moq.4.0.10827.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Moq.4.0.10827/Moq.4.0.10827.nupkg -------------------------------------------------------------------------------- /lib/Autofac.3.0.2/lib/net40/Autofac.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Autofac.3.0.2/lib/net40/Autofac.dll -------------------------------------------------------------------------------- /lib/Moq.4.2.1507.0118/lib/net35/Moq.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Moq.4.2.1507.0118/lib/net35/Moq.dll -------------------------------------------------------------------------------- /lib/Moq.4.2.1507.0118/lib/net40/Moq.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Moq.4.2.1507.0118/lib/net40/Moq.dll -------------------------------------------------------------------------------- /src/nuget.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | ../lib 4 | -------------------------------------------------------------------------------- /lib/Moq.4.2.1507.0118/Moq.4.2.1507.0118.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Moq.4.2.1507.0118/Moq.4.2.1507.0118.nupkg -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Spark.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Spark.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/mspec.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/mspec.exe -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Spark.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Spark.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/mspec.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/mspec.exe -------------------------------------------------------------------------------- /lib/Moq.4.0.10827/lib/Silverlight4/Castle.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Moq.4.0.10827/lib/Silverlight4/Castle.Core.dll -------------------------------------------------------------------------------- /lib/Moq.4.2.1507.0118/lib/sl5/Moq.Silverlight.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Moq.4.2.1507.0118/lib/sl5/Moq.Silverlight.dll -------------------------------------------------------------------------------- /lib/NHibernate.3.3.1.4000/lib/Net35/NHibernate.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/NHibernate.3.3.1.4000/lib/Net35/NHibernate.dll -------------------------------------------------------------------------------- /lib/structuremap.2.6.4.1/lib/net40/StructureMap.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/structuremap.2.6.4.1/lib/net40/StructureMap.dll -------------------------------------------------------------------------------- /lib/structuremap.2.6.4.1/lib/net40/StructureMap.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/structuremap.2.6.4.1/lib/net40/StructureMap.pdb -------------------------------------------------------------------------------- /lib/structuremap.2.6.4.1/structuremap.2.6.4.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/structuremap.2.6.4.1/structuremap.2.6.4.1.nupkg -------------------------------------------------------------------------------- /src/BlingBag.AutoFac/BlingBag.AutoFac.1.3.1.3.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/src/BlingBag.AutoFac/BlingBag.AutoFac.1.3.1.3.nupkg -------------------------------------------------------------------------------- /src/BlingBag.Testing/BlingBag.Testing.1.3.1.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/src/BlingBag.Testing/BlingBag.Testing.1.3.1.0.nupkg -------------------------------------------------------------------------------- /lib/Autofac.3.0.2/lib/net40/Autofac.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Autofac.3.0.2/lib/net40/Autofac.Configuration.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/mspec-clr4.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/mspec-clr4.exe -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/mspec-x86.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/mspec-x86.exe -------------------------------------------------------------------------------- /lib/NHibernate.3.3.1.4000/NHibernate.3.3.1.4000.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/NHibernate.3.3.1.4000/NHibernate.3.3.1.4000.nupkg -------------------------------------------------------------------------------- /lib/NHibernate.3.3.1.4000/NHibernate.releasenotes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/NHibernate.3.3.1.4000/NHibernate.releasenotes.txt -------------------------------------------------------------------------------- /src/BlingBag.StructureMap.Specs/LocationChanged.cs: -------------------------------------------------------------------------------- 1 | namespace BlingBag.StructureMap.Specs 2 | { 3 | public class LocationChanged 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/CommandLine.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/mspec-clr4.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/mspec-clr4.exe -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/mspec-x86.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/mspec-x86.exe -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/CommandLine.dll -------------------------------------------------------------------------------- /lib/Moq.4.0.10827/lib/Silverlight4/Moq.Silverlight.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Moq.4.0.10827/lib/Silverlight4/Moq.Silverlight.dll -------------------------------------------------------------------------------- /lib/Moq.4.0.10827/lib/Silverlight4/Moq.Silverlight.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Moq.4.0.10827/lib/Silverlight4/Moq.Silverlight.pdb -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/mspec-x86-clr4.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/mspec-x86-clr4.exe -------------------------------------------------------------------------------- /src/BlingBag.NHibernate/BlingBag.NHibernate.1.3.1.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/src/BlingBag.NHibernate/BlingBag.NHibernate.1.3.1.0.nupkg -------------------------------------------------------------------------------- /lib/Autofac.3.0.2/lib/portable-win+net40+sl50+wp8/Autofac.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Autofac.3.0.2/lib/portable-win+net40+sl50+wp8/Autofac.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/mspec-x86-clr4.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/mspec-x86-clr4.exe -------------------------------------------------------------------------------- /src/BlingBag.AutoFac/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/BlingBag.StructureMap/BlingBag.StructureMap.1.3.1.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/src/BlingBag.StructureMap/BlingBag.StructureMap.1.3.1.1.nupkg -------------------------------------------------------------------------------- /lib/Iesi.Collections.3.2.0.4000/lib/Net35/Iesi.Collections.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Iesi.Collections.3.2.0.4000/lib/Net35/Iesi.Collections.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/TestDriven.Framework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/TestDriven.Framework.dll -------------------------------------------------------------------------------- /lib/Iesi.Collections.3.2.0.4000/Iesi.Collections.3.2.0.4000.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Iesi.Collections.3.2.0.4000/Iesi.Collections.3.2.0.4000.nupkg -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/TestDriven.Framework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/TestDriven.Framework.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/Machine.Specifications.0.7.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/Machine.Specifications.0.7.0.nupkg -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.9.3/Machine.Specifications.0.9.3.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.9.3/Machine.Specifications.0.9.3.nupkg -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/Machine.Specifications.0.5.6.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/Machine.Specifications.0.5.6.0.nupkg -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/lib/net20/Machine.Specifications.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/lib/net20/Machine.Specifications.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/lib/net40/Machine.Specifications.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/lib/net40/Machine.Specifications.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/lib/net20/Machine.Specifications.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/lib/net20/Machine.Specifications.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/lib/net40/Machine.Specifications.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/lib/net40/Machine.Specifications.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/lib/net45/Machine.Specifications.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/lib/net45/Machine.Specifications.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.Clr4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.Clr4.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.9.3/lib/net20/Machine.Specifications.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.9.3/lib/net20/Machine.Specifications.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.9.3/lib/net40/Machine.Specifications.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.9.3/lib/net40/Machine.Specifications.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.9.3/lib/net45/Machine.Specifications.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.9.3/lib/net45/Machine.Specifications.dll -------------------------------------------------------------------------------- /src/BlingBag.StructureMap/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.Clr4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.Clr4.dll -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/lib/net40/Machine.Specifications.Clr4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/lib/net40/Machine.Specifications.Clr4.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/lib/net40/Machine.Specifications.Clr4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/lib/net40/Machine.Specifications.Clr4.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/lib/net45/Machine.Specifications.Clr4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/lib/net45/Machine.Specifications.Clr4.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.Reporting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.Reporting.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.9.3/lib/net40/Machine.Specifications.Clr4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.9.3/lib/net40/Machine.Specifications.Clr4.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.9.3/lib/net45/Machine.Specifications.Clr4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.9.3/lib/net45/Machine.Specifications.Clr4.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.Reporting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.Reporting.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.TDNetRunner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.TDNetRunner.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.WatinSupport.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.WatinSupport.dll -------------------------------------------------------------------------------- /src/BlingBag/IBlingDispatcher.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace BlingBag 4 | { 5 | public interface IBlingDispatcher 6 | { 7 | Task Dispatch(object @event); 8 | } 9 | } -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.GallioAdapter.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.GallioAdapter.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.TDNetRunner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.TDNetRunner.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.WatinSupport.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.WatinSupport.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/lib/net20/Machine.Specifications.TDNetRunner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/lib/net20/Machine.Specifications.TDNetRunner.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/lib/net40/Machine.Specifications.TDNetRunner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/lib/net40/Machine.Specifications.TDNetRunner.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/lib/net45/Machine.Specifications.TDNetRunner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/lib/net45/Machine.Specifications.TDNetRunner.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.SeleniumSupport.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.SeleniumSupport.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.Should.0.7.2/Machine.Specifications.Should.0.7.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.Should.0.7.2/Machine.Specifications.Should.0.7.2.nupkg -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/lib/net20/Machine.Specifications.TDNetRunner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/lib/net20/Machine.Specifications.TDNetRunner.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/lib/net40/Machine.Specifications.TDNetRunner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/lib/net40/Machine.Specifications.TDNetRunner.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.SeleniumSupport.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.SeleniumSupport.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.WebDriverSupport.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.WebDriverSupport.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.Should.0.7.2/lib/net20/Machine.Specifications.Should.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.Should.0.7.2/lib/net20/Machine.Specifications.Should.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.Should.0.7.2/lib/net40/Machine.Specifications.Should.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.Should.0.7.2/lib/net40/Machine.Specifications.Should.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.Should.0.7.2/lib/net45/Machine.Specifications.Should.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.Should.0.7.2/lib/net45/Machine.Specifications.Should.dll -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.WebDriverSupport.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.WebDriverSupport.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.ReSharperRunner.6.1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.ReSharperRunner.6.1.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.ReSharperRunner.7.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.ReSharperRunner.7.0.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.ReSharperRunner.7.1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.ReSharperRunner.7.1.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.ReSharperRunner.8.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.ReSharperRunner.8.0.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.ReSharperRunner.8.1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.ReSharperRunner.8.1.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.Reporting.Templates.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.Reporting.Templates.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.dotCoverRunner.2.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.dotCoverRunner.2.0.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.dotCoverRunner.2.1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.dotCoverRunner.2.1.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.dotCoverRunner.2.2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.dotCoverRunner.2.2.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.dotCoverRunner.2.5.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.dotCoverRunner.2.5.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.dotCoverRunner.2.6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.dotCoverRunner.2.6.dll -------------------------------------------------------------------------------- /src/BlingBag.Specs/NameChanged.cs: -------------------------------------------------------------------------------- 1 | namespace BlingBag.Specs 2 | { 3 | public class NameChanged 4 | { 5 | public string NewName { get; set; } 6 | public Account Account { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.ReSharperRunner.4.1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.ReSharperRunner.4.1.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.ReSharperRunner.4.5.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.ReSharperRunner.4.5.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.ReSharperRunner.5.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.ReSharperRunner.5.0.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.ReSharperRunner.5.1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.ReSharperRunner.5.1.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.ReSharperRunner.6.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.ReSharperRunner.6.0.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.ReSharperRunner.6.1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.ReSharperRunner.6.1.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.ReSharperRunner.7.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.ReSharperRunner.7.0.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.Reporting.Templates.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsommardahl/BlingBag/HEAD/lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.Reporting.Templates.dll -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/mspec-clr4.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/FakeDomainLayer/IEmailClient.cs: -------------------------------------------------------------------------------- 1 | namespace BlingBag.SampleConsoleApp.FakeDomainLayer 2 | { 3 | public interface IEmailClient 4 | { 5 | void Send(string emailAddress, string subject, string body); 6 | } 7 | } -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/mspec-x86-clr4.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/BlingBag.NHibernate/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/FakeDomainLayer/IAccountFetcher.cs: -------------------------------------------------------------------------------- 1 | using BlingBag.SampleConsoleApp.FakeDomainLayer.Entities; 2 | 3 | namespace BlingBag.SampleConsoleApp.FakeDomainLayer 4 | { 5 | public interface IAccountFetcher 6 | { 7 | Account FetchById(long id); 8 | } 9 | } -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/install.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | if ($false -eq $false) 4 | { 5 | Write-Warning "This is the unsigned version of Machine.Specifications. Use 'Install-Package Machine.Specifications-Signed' to install the signed version." 6 | } -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.9.3/tools/install.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | if ($false -eq $false) 4 | { 5 | Write-Warning "This is the unsigned version of Machine.Specifications. Use 'Install-Package Machine.Specifications-Signed' to install the signed version." 6 | } -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/install.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | if ($false -eq $false) 4 | { 5 | Write-Warning "This is the unsigned version of Machine.Specifications. Use 'Install-Package Machine.Specifications-Signed' to install the signed version." 6 | } -------------------------------------------------------------------------------- /src/BlingBag.StructureMap.Specs/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/BlingBag/IBlingHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace BlingBag 4 | { 5 | public interface IBlingHandler 6 | { 7 | 8 | } 9 | 10 | public interface IBlingHandler : IBlingHandler 11 | { 12 | Task Handle(T @event); 13 | } 14 | } -------------------------------------------------------------------------------- /src/BlingBag/IBlingLogger.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace BlingBag 4 | { 5 | public interface IBlingLogger 6 | { 7 | void LogException(object handler, DateTime timeStamp, Exception exception); 8 | void LogInfo(object handler, DateTime timeStamp, string message); 9 | } 10 | } -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/Machine.Specifications.dll.tdnet: -------------------------------------------------------------------------------- 1 | 2 | Machine.Specifications 0.7.0.0 3 | Machine.Specifications.TDNetRunner.dll 4 | Machine.Specifications.TDNetRunner.SpecificationRunner 5 | -------------------------------------------------------------------------------- /src/BlingBag.Specs/LocationChanged.cs: -------------------------------------------------------------------------------- 1 | namespace BlingBag.Specs 2 | { 3 | public class LocationChanged 4 | { 5 | public string NewLocation; 6 | 7 | public LocationChanged(string newLocation) 8 | { 9 | NewLocation = newLocation; 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/mspec-clr4.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/mspec-x86-clr4.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.dll.tdnet: -------------------------------------------------------------------------------- 1 | 2 | Machine.Specifications 0.5.6-44343e6 3 | Machine.Specifications.TDNetRunner.dll 4 | Machine.Specifications.TDNetRunner.SpecificationRunner 5 | 6 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/lib/net20/Machine.Specifications.dll.tdnet: -------------------------------------------------------------------------------- 1 | 2 | Machine.Specifications 0.5.6-44343e6 3 | Machine.Specifications.TDNetRunner.dll 4 | Machine.Specifications.TDNetRunner.SpecificationRunner 5 | 6 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/lib/net40/Machine.Specifications.dll.tdnet: -------------------------------------------------------------------------------- 1 | 2 | Machine.Specifications 0.5.6-44343e6 3 | Machine.Specifications.TDNetRunner.dll 4 | Machine.Specifications.TDNetRunner.SpecificationRunner 5 | 6 | -------------------------------------------------------------------------------- /src/BlingBag.Specs/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/FakeDomainLayer/IRepository.cs: -------------------------------------------------------------------------------- 1 | using BlingBag.SampleConsoleApp.FakeDomainLayer.Entities; 2 | 3 | namespace BlingBag.SampleConsoleApp.FakeDomainLayer 4 | { 5 | public interface IRepository 6 | { 7 | T Get(long id) where T : Account; 8 | void Update(T item) where T : Account; 9 | } 10 | } -------------------------------------------------------------------------------- /src/BlingBag.Specs/NameChangedHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace BlingBag.Specs 4 | { 5 | public class NameChangedHandler : IBlingHandler 6 | { 7 | #region IBlingHandler Members 8 | 9 | public async Task Handle(NameChanged @event) 10 | { 11 | } 12 | 13 | #endregion 14 | } 15 | } -------------------------------------------------------------------------------- /src/BlingBag.Testing/EventNotDispatchedException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace BlingBag.Testing 4 | { 5 | public class EventNotDispatchedException : Exception 6 | { 7 | public EventNotDispatchedException() 8 | : base("There were no events of type '" + typeof (T).Name + "' dispatched in the test dispatcher.") 9 | { 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /src/BlingBag.Specs/LogLocationChanged.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace BlingBag.Specs 4 | { 5 | public class LogLocationChanged : IBlingHandler 6 | { 7 | #region IBlingHandler Members 8 | 9 | public async Task Handle(LocationChanged @event) 10 | { 11 | } 12 | 13 | #endregion 14 | } 15 | } -------------------------------------------------------------------------------- /src/BlingBag.Specs/TestHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace BlingBag.Specs 4 | { 5 | public class TestHandler : IBlingHandler 6 | { 7 | public object EventHandled; 8 | 9 | #region IBlingHandler Members 10 | 11 | public async Task Handle(TestClass @event) 12 | { 13 | EventHandled = @event; 14 | } 15 | 16 | #endregion 17 | } 18 | } -------------------------------------------------------------------------------- /src/BlingBag.StructureMap.Specs/Location.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace BlingBag.StructureMap.Specs 4 | { 5 | public class Location 6 | { 7 | public string Address { get; private set; } 8 | 9 | public event Action RaiseEvent; 10 | 11 | public void ChangeLocation(string address) 12 | { 13 | Address = address; 14 | RaiseEvent(new LocationChanged()); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /src/BlingBag.StructureMap.Specs/TestLocationChangedHandler.cs: -------------------------------------------------------------------------------- 1 | namespace BlingBag.StructureMap.Specs 2 | { 3 | public class TestLocationChangedHandler : IBlingHandler 4 | { 5 | public LocationChanged Handled; 6 | 7 | #region IBlingHandler Members 8 | 9 | public void Handle(LocationChanged @event) 10 | { 11 | Handled = @event; 12 | } 13 | 14 | #endregion 15 | } 16 | } -------------------------------------------------------------------------------- /lib/repositories.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/InstallResharperRunner.4.1.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v4.1\vs9.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v4.1\vs9.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v4.1\vs9.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.4.1.dll "%APPDATA%\JetBrains\ReSharper\v4.1\vs9.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.4.1.pdb "%APPDATA%\JetBrains\ReSharper\v4.1\vs9.0\Plugins" > NUL -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/InstallResharperRunner.4.5.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v4.5\vs9.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v4.5\vs9.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v4.5\vs9.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.4.5.dll "%APPDATA%\JetBrains\ReSharper\v4.5\vs9.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.4.5.pdb "%APPDATA%\JetBrains\ReSharper\v4.5\vs9.0\Plugins" > NUL -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/InstallResharperRunner.5.0 - VS2008.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v5.0\vs9.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v5.0\vs9.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v5.0\vs9.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.5.0.dll "%APPDATA%\JetBrains\ReSharper\v5.0\vs9.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.5.0.pdb "%APPDATA%\JetBrains\ReSharper\v5.0\vs9.0\Plugins" > NUL -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/InstallResharperRunner.5.1 - VS2008.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v5.1\vs9.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v5.1\vs9.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v5.1\vs9.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.5.1.dll "%APPDATA%\JetBrains\ReSharper\v5.1\vs9.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.5.1.pdb "%APPDATA%\JetBrains\ReSharper\v5.1\vs9.0\Plugins" > NUL -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/InstallResharperRunner.6.0 - VS2008.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v6.0\vs9.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v6.0\vs9.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v6.0\vs9.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.6.0.dll "%APPDATA%\JetBrains\ReSharper\v6.0\vs9.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.6.0.pdb "%APPDATA%\JetBrains\ReSharper\v6.0\vs9.0\Plugins" > NUL -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/InstallResharperRunner.6.1 - VS2008.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v6.1\vs9.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v6.1\vs9.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v6.1\vs9.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.6.1.dll "%APPDATA%\JetBrains\ReSharper\v6.1\vs9.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.6.1.pdb "%APPDATA%\JetBrains\ReSharper\v6.1\vs9.0\Plugins" > NUL -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/InstallResharperRunner.5.0 - VS2010.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v5.0\vs10.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v5.0\vs10.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v5.0\vs10.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.5.0.dll "%APPDATA%\JetBrains\ReSharper\v5.0\vs10.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.5.0.pdb "%APPDATA%\JetBrains\ReSharper\v5.0\vs10.0\Plugins" > NUL -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/InstallResharperRunner.5.1 - VS2010.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v5.1\vs10.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v5.1\vs10.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v5.1\vs10.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.5.1.dll "%APPDATA%\JetBrains\ReSharper\v5.1\vs10.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.5.1.pdb "%APPDATA%\JetBrains\ReSharper\v5.1\vs10.0\Plugins" > NUL -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/InstallResharperRunner.6.0 - VS2010.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v6.0\vs10.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v6.0\vs10.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v6.0\vs10.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.6.0.dll "%APPDATA%\JetBrains\ReSharper\v6.0\vs10.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.6.0.pdb "%APPDATA%\JetBrains\ReSharper\v6.0\vs10.0\Plugins" > NUL -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/InstallResharperRunner.6.1 - VS2010.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v6.1\vs10.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v6.1\vs10.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v6.1\vs10.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.6.1.dll "%APPDATA%\JetBrains\ReSharper\v6.1\vs10.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.6.1.pdb "%APPDATA%\JetBrains\ReSharper\v6.1\vs10.0\Plugins" > NUL -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/InstallResharperRunner.7.0 - VS2011.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v7.0\vs11.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v7.0\vs11.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v7.0\vs11.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.7.0.dll "%APPDATA%\JetBrains\ReSharper\v7.0\vs11.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.7.0.pdb "%APPDATA%\JetBrains\ReSharper\v7.0\vs11.0\Plugins" > NUL 6 | pause -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: 1.4.0.{build} 2 | shallow_clone: true 3 | assembly_info: 4 | patch: true 5 | file: '**\AssemblyInfo.*' 6 | assembly_version: '{version}' 7 | assembly_file_version: '{version}' 8 | assembly_informational_version: '{version}' 9 | nuget: 10 | account_feed: true 11 | disable_publish_on_pr: true 12 | build: 13 | publish_nuget: true 14 | verbosity: minimal 15 | test: 16 | assemblies: '*.Specs.dll' 17 | deploy: 18 | - provider: NuGet 19 | api_key: 20 | secure: hHPiLckcRQWeJe4L42auoJOxPIDRf5TVcaYv1oumZHbm6/qknPIm8+hHgPkwq9dY 21 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/InstallDotCoverRunner.2.0.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\dotCover\v2.0\Plugins" 2> NUL 2 | mkdir "%APPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec" 2> NUL 3 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec" 4 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec" > NUL 5 | copy /y Machine.Specifications.dotCoverRunner.2.0.dll "%APPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec" 6 | copy /y Machine.Specifications.dotCoverRunner.2.0.pdb "%APPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec" > NUL 7 | pause 8 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/InstallDotCoverRunner.2.1.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\dotCover\v2.1\Plugins" 2> NUL 2 | mkdir "%APPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec" 2> NUL 3 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec" 4 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec" > NUL 5 | copy /y Machine.Specifications.dotCoverRunner.2.1.dll "%APPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec" 6 | copy /y Machine.Specifications.dotCoverRunner.2.1.pdb "%APPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec" > NUL 7 | pause 8 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/InstallDotCoverRunner.2.2.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\dotCover\v2.2\Plugins" 2> NUL 2 | mkdir "%APPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec" 2> NUL 3 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec" 4 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec" > NUL 5 | copy /y Machine.Specifications.dotCoverRunner.2.2.dll "%APPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec" 6 | copy /y Machine.Specifications.dotCoverRunner.2.2.pdb "%APPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec" > NUL 7 | pause 8 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/InstallDotCoverRunner.2.5.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\dotCover\v2.5\Plugins" 2> NUL 2 | mkdir "%APPDATA%\JetBrains\dotCover\v2.5\Plugins\mspec" 2> NUL 3 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\dotCover\v2.5\Plugins\mspec" 4 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\dotCover\v2.5\Plugins\mspec" > NUL 5 | copy /y Machine.Specifications.dotCoverRunner.2.5.dll "%APPDATA%\JetBrains\dotCover\v2.5\Plugins\mspec" 6 | copy /y Machine.Specifications.dotCoverRunner.2.5.pdb "%APPDATA%\JetBrains\dotCover\v2.5\Plugins\mspec" > NUL 7 | pause 8 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/InstallDotCoverRunner.2.6.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\dotCover\v2.6\Plugins" 2> NUL 2 | mkdir "%APPDATA%\JetBrains\dotCover\v2.6\Plugins\mspec" 2> NUL 3 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\dotCover\v2.6\Plugins\mspec" 4 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\dotCover\v2.6\Plugins\mspec" > NUL 5 | copy /y Machine.Specifications.dotCoverRunner.2.6.dll "%APPDATA%\JetBrains\dotCover\v2.6\Plugins\mspec" 6 | copy /y Machine.Specifications.dotCoverRunner.2.6.pdb "%APPDATA%\JetBrains\dotCover\v2.6\Plugins\mspec" > NUL 7 | pause 8 | -------------------------------------------------------------------------------- /src/BlingBag.sln.DotSettings: -------------------------------------------------------------------------------- 1 | 2 | <data><IncludeFilters /><ExcludeFilters /></data> 3 | <data /> -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/FakeDomainLayer/Events/TheNameChanged.cs: -------------------------------------------------------------------------------- 1 | using BlingBag.SampleConsoleApp.FakeDomainLayer.Entities; 2 | 3 | namespace BlingBag.SampleConsoleApp.FakeDomainLayer.Events 4 | { 5 | public class TheNameChanged 6 | { 7 | public Account Account; 8 | public string NewName; 9 | public string OldName; 10 | 11 | public TheNameChanged(Account account, string oldName, string newName) 12 | { 13 | Account = account; 14 | OldName = oldName; 15 | NewName = newName; 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/FakeDomainLayer/FakeEmailClient.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace BlingBag.SampleConsoleApp.FakeDomainLayer 4 | { 5 | public class FakeEmailClient : IEmailClient 6 | { 7 | #region IEmailClient Members 8 | 9 | public void Send(string emailAddress, string subject, string body) 10 | { 11 | Console.WriteLine(string.Format("## (FakeEmailClient) -- Email was sent to {0}. Subject : {1} - Body: {2}", 12 | emailAddress, subject, body)); 13 | } 14 | 15 | #endregion 16 | } 17 | } -------------------------------------------------------------------------------- /src/BlingBag.Specs/User.cs: -------------------------------------------------------------------------------- 1 | namespace BlingBag.Specs 2 | { 3 | public class User 4 | { 5 | public virtual string Username { get; set; } 6 | public virtual string FirstName { get; set; } 7 | public virtual string LastName { get; set; } 8 | public virtual string ConfirmationKey { get; set; } 9 | public virtual bool IsConfirmed { get; set; } 10 | public virtual Account Account { get; set; } 11 | public event Blinger Bling; 12 | 13 | public void DoSomething() 14 | { 15 | Bling("user did something"); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /src/BlingBag.StructureMap/StructureMapBlingDispatcher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using StructureMap; 4 | 5 | namespace BlingBag.StructureMap 6 | { 7 | public class StructureMapBlingDispatcher : BlingDispatcherBase 8 | { 9 | readonly IContainer _container; 10 | 11 | public StructureMapBlingDispatcher(IContainer container) 12 | { 13 | _container = container; 14 | } 15 | 16 | protected override IEnumerable ResolveAll(Type blingHandlerType) 17 | { 18 | return _container.GetAllInstances(blingHandlerType); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /src/BlingBag/BlingBag.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $id$ 5 | $version$ 6 | $title$ 7 | $author$ 8 | Acklen Avenue 9 | http://www.apache.org/licenses/LICENSE-2.0.html 10 | http://blingbag.org 11 | false 12 | $description$ 13 | Copyright 2012 Acklen Avenue, LLC 14 | Domain Events, DDD, Architecture 15 | 16 | -------------------------------------------------------------------------------- /src/BlingBag.Specs/OrgUnit.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace BlingBag.Specs 5 | { 6 | public class OrgUnit 7 | { 8 | List _children; 9 | public int Id { get; set; } 10 | 11 | public OrgUnit Parent { get; set; } 12 | 13 | public List Children 14 | { 15 | get { return _children ?? (_children = new List()); } 16 | set { _children = value; } 17 | } 18 | 19 | public event Action Notify; 20 | 21 | public void Go() 22 | { 23 | Notify(this); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | #OS junk files 2 | [Tt]humbs.db 3 | *.DS_Store 4 | 5 | #Visual Studio files 6 | *.[Oo]bj 7 | *.user 8 | *.aps 9 | *.pch 10 | *.vspscc 11 | *.vssscc 12 | *_i.c 13 | *_p.c 14 | *.ncb 15 | *.suo 16 | *.tlb 17 | *.tlh 18 | *.bak 19 | *.[Cc]ache 20 | *.ilk 21 | *.log 22 | *.lib 23 | *.sbr 24 | *.sdf 25 | *.opensdf 26 | *.unsuccessfulbuild 27 | ipch/ 28 | obj/ 29 | [Bb]in 30 | [Dd]ebug*/ 31 | [Rr]elease*/ 32 | Ankh.NoLoad 33 | 34 | #Tooling 35 | _ReSharper*/ 36 | *.resharper 37 | [Tt]est[Rr]esult* 38 | 39 | #Project files 40 | [Bb]uild/ 41 | [Dd]eploy/ 42 | 43 | #Subversion files 44 | .svn 45 | 46 | # Office Temp Files 47 | ~$* -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/Infrastructure/StandardDomainEventsConfiguration.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using BlingBag.StructureMap; 3 | using StructureMap.Configuration.DSL; 4 | 5 | namespace BlingBag.SampleConsoleApp.Infrastructure 6 | { 7 | public class StandardDomainEventsConfiguration : Registry 8 | { 9 | public StandardDomainEventsConfiguration() 10 | { 11 | For>>().Use>>(); 12 | For>>().Use(); 13 | For().Use(); 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /src/BlingBag.AutoFac/AutoFacBlingDispatcher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using Autofac; 5 | 6 | namespace BlingBag.AutoFac 7 | { 8 | public class AutoFacBlingDispatcher : BlingDispatcherBase 9 | { 10 | readonly ILifetimeScope _container; 11 | 12 | public AutoFacBlingDispatcher(ILifetimeScope container) 13 | { 14 | _container = container; 15 | } 16 | 17 | protected override IEnumerable ResolveAll(Type blingHandlerType) 18 | { 19 | return _container.Resolve(typeof (IEnumerable<>).MakeGenericType(blingHandlerType)) as IEnumerable; 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/FakeDomainLayer/EventHandlers/LogThatNameChanged.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using BlingBag.SampleConsoleApp.FakeDomainLayer.Events; 3 | 4 | namespace BlingBag.SampleConsoleApp.FakeDomainLayer.EventHandlers 5 | { 6 | public class LogThatNameChanged : IBlingHandler 7 | { 8 | #region IBlingHandler Members 9 | 10 | public void Handle(TheNameChanged @event) 11 | { 12 | Console.WriteLine(string.Format("## (LogThatNameChanged) -- The name '{0}' changed to '{1}'.", 13 | @event.OldName, @event.NewName)); 14 | } 15 | 16 | #endregion 17 | } 18 | } -------------------------------------------------------------------------------- /src/BlingBag.Specs/Location.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace BlingBag.Specs 4 | { 5 | public class Location 6 | { 7 | public string Address { get; private set; } 8 | 9 | public Account Account { get; set; } 10 | 11 | public Account Account2 { get; set; } 12 | 13 | public List ListOfAccounts { get; set; } 14 | public ICollection CollectionOfAccounts { get; set; } 15 | 16 | public event Blinger RaiseEvent; 17 | 18 | public void ChangeLocation(string address) 19 | { 20 | Address = address; 21 | RaiseEvent(new LocationChanged(address)); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/InstallTDNetRunner.bat: -------------------------------------------------------------------------------- 1 | @echo off & if not "%ECHO%"=="" echo %ECHO% 2 | 3 | setlocal 4 | set LOCALDIR=%~dp0 5 | 6 | echo Windows Registry Editor Version 5.00 > MSpecTDNet.reg 7 | echo [HKEY_CURRENT_USER\Software\MutantDesign\TestDriven.NET\TestRunners\MSpec] >> MSpecTDNet.reg 8 | echo "Application"="" >> MSpecTDNet.reg 9 | echo "AssemblyPath"="%LOCALDIR:\=\\%Machine.Specifications.TDNetRunner.dll" >> MSpecTDNet.reg 10 | echo "TargetFrameworkAssemblyName"="Machine.Specifications" >> MSpecTDNet.reg 11 | echo "TypeName"="Machine.Specifications.TDNetRunner.SpecificationRunner" >> MSpecTDNet.reg 12 | echo @="5" >> MSpecTDNet.reg 13 | 14 | regedit MSpecTDNet.reg 15 | 16 | del MSpecTDNet.reg 17 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/InstallTDNetRunnerSilent.bat: -------------------------------------------------------------------------------- 1 | @echo off & if not "%ECHO%"=="" echo %ECHO% 2 | 3 | setlocal 4 | set LOCALDIR=%~dp0 5 | 6 | echo Windows Registry Editor Version 5.00 > MSpecTDNet.reg 7 | echo [HKEY_CURRENT_USER\Software\MutantDesign\TestDriven.NET\TestRunners\MSpec] >> MSpecTDNet.reg 8 | echo "Application"="" >> MSpecTDNet.reg 9 | echo "AssemblyPath"="%LOCALDIR:\=\\%Machine.Specifications.TDNetRunner.dll" >> MSpecTDNet.reg 10 | echo "TargetFrameworkAssemblyName"="Machine.Specifications" >> MSpecTDNet.reg 11 | echo "TypeName"="Machine.Specifications.TDNetRunner.SpecificationRunner" >> MSpecTDNet.reg 12 | echo @="5" >> MSpecTDNet.reg 13 | 14 | regedit /s MSpecTDNet.reg 15 | 16 | del MSpecTDNet.reg 17 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/InstallTDNetRunner.bat: -------------------------------------------------------------------------------- 1 | @echo off & if not "%ECHO%"=="" echo %ECHO% 2 | 3 | setlocal 4 | set LOCALDIR=%~dp0 5 | 6 | echo Windows Registry Editor Version 5.00 > MSpecTDNet.reg 7 | echo [HKEY_CURRENT_USER\Software\MutantDesign\TestDriven.NET\TestRunners\MSpec] >> MSpecTDNet.reg 8 | echo "Application"="" >> MSpecTDNet.reg 9 | echo "AssemblyPath"="%LOCALDIR:\=\\%Machine.Specifications.TDNetRunner.dll" >> MSpecTDNet.reg 10 | echo "TargetFrameworkAssemblyName"="Machine.Specifications" >> MSpecTDNet.reg 11 | echo "TypeName"="Machine.Specifications.TDNetRunner.SpecificationRunner" >> MSpecTDNet.reg 12 | echo @="5" >> MSpecTDNet.reg 13 | 14 | regedit MSpecTDNet.reg 15 | 16 | del MSpecTDNet.reg 17 | -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/FakeDomainLayer/Entities/Account.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using BlingBag.SampleConsoleApp.FakeDomainLayer.Events; 3 | 4 | namespace BlingBag.SampleConsoleApp.FakeDomainLayer.Entities 5 | { 6 | public class Account 7 | { 8 | public string Name { get; set; } 9 | 10 | public long Id { get; set; } 11 | 12 | public string EmailAddress { get; set; } 13 | 14 | public event Action NotifyObservers; 15 | 16 | public void ChangeName(string newName) 17 | { 18 | string oldName = Name; 19 | Name = newName; 20 | 21 | NotifyObservers(new TheNameChanged(this, oldName, newName)); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/InstallTDNetRunnerSilent.bat: -------------------------------------------------------------------------------- 1 | @echo off & if not "%ECHO%"=="" echo %ECHO% 2 | 3 | setlocal 4 | set LOCALDIR=%~dp0 5 | 6 | echo Windows Registry Editor Version 5.00 > MSpecTDNet.reg 7 | echo [HKEY_CURRENT_USER\Software\MutantDesign\TestDriven.NET\TestRunners\MSpec] >> MSpecTDNet.reg 8 | echo "Application"="" >> MSpecTDNet.reg 9 | echo "AssemblyPath"="%LOCALDIR:\=\\%Machine.Specifications.TDNetRunner.dll" >> MSpecTDNet.reg 10 | echo "TargetFrameworkAssemblyName"="Machine.Specifications" >> MSpecTDNet.reg 11 | echo "TypeName"="Machine.Specifications.TDNetRunner.SpecificationRunner" >> MSpecTDNet.reg 12 | echo @="5" >> MSpecTDNet.reg 13 | 14 | regedit /s MSpecTDNet.reg 15 | 16 | del MSpecTDNet.reg 17 | -------------------------------------------------------------------------------- /src/BlingBag.Testing/BlingBag.Testing.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $id$ 5 | $version$ 6 | $title$ 7 | $author$ 8 | Acklen Avenue 9 | http://www.apache.org/licenses/LICENSE-2.0.html 10 | http://blingbag.org 11 | false 12 | $description$ 13 | Copyright 2012 Acklen Avenue, LLC 14 | Domain Events, DDD, Architecture 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/BlingBag.AutoFac/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyTitle("BlingBag.AutoFac")] 5 | [assembly: 6 | AssemblyDescription("BlingBag is a library that helps implement domain events in a behavior-rich domain model.")] 7 | [assembly: AssemblyConfiguration("")] 8 | [assembly: AssemblyCompany("Acklen Avenue")] 9 | [assembly: AssemblyProduct("BlingBag.AutoFac")] 10 | [assembly: AssemblyCopyright("Copyright © Acklen Avenue, LLC 2012")] 11 | [assembly: AssemblyTrademark("")] 12 | [assembly: AssemblyCulture("")] 13 | [assembly: ComVisible(false)] 14 | [assembly: Guid("a892f09f-a8c7-42b5-89a9-77de039dc3ab")] 15 | [assembly: AssemblyVersion("1.3.1.3")] 16 | [assembly: AssemblyFileVersion("1.3.1.3")] -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/FakeDomainLayer/EventHandlers/UpdateAccountAfterNameChange.cs: -------------------------------------------------------------------------------- 1 | using BlingBag.SampleConsoleApp.FakeDomainLayer.Events; 2 | 3 | namespace BlingBag.SampleConsoleApp.FakeDomainLayer.EventHandlers 4 | { 5 | public class UpdateAccountAfterNameChange : IBlingHandler 6 | { 7 | readonly IRepository _repository; 8 | 9 | public UpdateAccountAfterNameChange(IRepository repository) 10 | { 11 | _repository = repository; 12 | } 13 | 14 | #region IBlingHandler Members 15 | 16 | public void Handle(TheNameChanged @event) 17 | { 18 | _repository.Update(@event.Account); 19 | } 20 | 21 | #endregion 22 | } 23 | } -------------------------------------------------------------------------------- /src/BlingBag.Specs/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyTitle("BlingBag.Specs")] 5 | [assembly: 6 | AssemblyDescription("BlingBag is a library that helps implement domain events in a behavior-rich domain model.")] 7 | [assembly: AssemblyConfiguration("")] 8 | [assembly: AssemblyCompany("Acklen Avenue")] 9 | [assembly: AssemblyProduct("BlingBag.Specs")] 10 | [assembly: AssemblyCopyright("Copyright © Acklen Avenue, LLC 2012")] 11 | [assembly: AssemblyTrademark("")] 12 | [assembly: AssemblyCulture("")] 13 | [assembly: ComVisible(false)] 14 | [assembly: Guid("a892f09f-a8c7-42b5-89a9-77de039dc3ab")] 15 | [assembly: AssemblyVersion("1.3.1.0")] 16 | [assembly: AssemblyFileVersion("1.3.1.0")] -------------------------------------------------------------------------------- /src/BlingBag.AutoFac/BlingBag.AutoFac.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $id$ 5 | $version$ 6 | $title$ 7 | $author$ 8 | Acklen Avenue 9 | http://www.apache.org/licenses/LICENSE-2.0.html 10 | http://blingbag.org 11 | false 12 | $description$ 13 | Copyright 2012 Acklen Avenue, LLC 14 | Domain Events, DDD, Architecture 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/BlingBag.Testing/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyTitle("BlingBag.Testing")] 5 | [assembly: 6 | AssemblyDescription("BlingBag is a library that helps implement domain events in a behavior-rich domain model.")] 7 | [assembly: AssemblyConfiguration("")] 8 | [assembly: AssemblyCompany("Acklen Avenue")] 9 | [assembly: AssemblyProduct("BlingBag.Testing")] 10 | [assembly: AssemblyCopyright("Copyright © Acklen Avenue, LLC 2012")] 11 | [assembly: AssemblyTrademark("")] 12 | [assembly: AssemblyCulture("")] 13 | [assembly: ComVisible(false)] 14 | [assembly: Guid("a892f09f-a8c7-42b5-89a9-77de039dc3ab")] 15 | [assembly: AssemblyVersion("1.3.1.0")] 16 | [assembly: AssemblyFileVersion("1.3.1.0")] -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/InstallResharperRunner.6.1.bat: -------------------------------------------------------------------------------- 1 | del "%APPDATA%\JetBrains\ReSharper\v6.1\vs9.0\Plugins\Machine.Specifications.*" 2> NUL 2 | del "%APPDATA%\JetBrains\ReSharper\v6.1\vs10.0\Plugins\Machine.Specifications.*" 2> NUL 3 | 4 | mkdir "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins" 2> NUL 5 | mkdir "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec" 2> NUL 6 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec" 7 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec" > NUL 8 | copy /y Machine.Specifications.ReSharperRunner.6.1.dll "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec" 9 | copy /y Machine.Specifications.ReSharperRunner.6.1.pdb "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec" > NUL 10 | pause 11 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/InstallResharperRunner.7.0.bat: -------------------------------------------------------------------------------- 1 | del "%APPDATA%\JetBrains\ReSharper\v7.0\vs10.0\Plugins\Machine.Specifications.*" 2> NUL 2 | del "%APPDATA%\JetBrains\ReSharper\v7.0\vs11.0\Plugins\Machine.Specifications.*" 2> NUL 3 | 4 | mkdir "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins" 2> NUL 5 | mkdir "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec" 2> NUL 6 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec" 7 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec" > NUL 8 | copy /y Machine.Specifications.ReSharperRunner.7.0.dll "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec" 9 | copy /y Machine.Specifications.ReSharperRunner.7.0.pdb "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec" > NUL 10 | pause 11 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/InstallResharperRunner.7.1.bat: -------------------------------------------------------------------------------- 1 | del "%APPDATA%\JetBrains\ReSharper\v7.1\vs10.0\Plugins\Machine.Specifications.*" 2> NUL 2 | del "%APPDATA%\JetBrains\ReSharper\v7.1\vs11.0\Plugins\Machine.Specifications.*" 2> NUL 3 | 4 | mkdir "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins" 2> NUL 5 | mkdir "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec" 2> NUL 6 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec" 7 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec" > NUL 8 | copy /y Machine.Specifications.ReSharperRunner.7.1.dll "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec" 9 | copy /y Machine.Specifications.ReSharperRunner.7.1.pdb "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec" > NUL 10 | pause 11 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/InstallResharperRunner.8.0.bat: -------------------------------------------------------------------------------- 1 | del "%APPDATA%\JetBrains\ReSharper\v8.0\vs10.0\Plugins\Machine.Specifications.*" 2> NUL 2 | del "%APPDATA%\JetBrains\ReSharper\v8.0\vs11.0\Plugins\Machine.Specifications.*" 2> NUL 3 | 4 | mkdir "%APPDATA%\JetBrains\ReSharper\v8.0\Plugins" 2> NUL 5 | mkdir "%APPDATA%\JetBrains\ReSharper\v8.0\Plugins\mspec" 2> NUL 6 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v8.0\Plugins\mspec" 7 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v8.0\Plugins\mspec" > NUL 8 | copy /y Machine.Specifications.ReSharperRunner.8.0.dll "%APPDATA%\JetBrains\ReSharper\v8.0\Plugins\mspec" 9 | copy /y Machine.Specifications.ReSharperRunner.8.0.pdb "%APPDATA%\JetBrains\ReSharper\v8.0\Plugins\mspec" > NUL 10 | pause 11 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/InstallResharperRunner.8.1.bat: -------------------------------------------------------------------------------- 1 | del "%APPDATA%\JetBrains\ReSharper\v8.1\vs10.0\Plugins\Machine.Specifications.*" 2> NUL 2 | del "%APPDATA%\JetBrains\ReSharper\v8.1\vs11.0\Plugins\Machine.Specifications.*" 2> NUL 3 | 4 | mkdir "%APPDATA%\JetBrains\ReSharper\v8.1\Plugins" 2> NUL 5 | mkdir "%APPDATA%\JetBrains\ReSharper\v8.1\Plugins\mspec" 2> NUL 6 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v8.1\Plugins\mspec" 7 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v8.1\Plugins\mspec" > NUL 8 | copy /y Machine.Specifications.ReSharperRunner.8.1.dll "%APPDATA%\JetBrains\ReSharper\v8.1\Plugins\mspec" 9 | copy /y Machine.Specifications.ReSharperRunner.8.1.pdb "%APPDATA%\JetBrains\ReSharper\v8.1\Plugins\mspec" > NUL 10 | pause 11 | -------------------------------------------------------------------------------- /lib/NHibernate.3.3.1.4000/ConfigurationTemplates/SQLite.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | NHibernate.Driver.SQLite20Driver 10 | 11 | Data Source=nhibernate.db 12 | 13 | NHibernate.Dialect.SQLiteDialect 14 | 15 | -------------------------------------------------------------------------------- /src/BlingBag.NHibernate/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyTitle("BlingBag.NHibernate")] 5 | [assembly: 6 | AssemblyDescription("BlingBag is a library that helps implement domain events in a behavior-rich domain model.")] 7 | [assembly: AssemblyConfiguration("")] 8 | [assembly: AssemblyCompany("Acklen Avenue")] 9 | [assembly: AssemblyProduct("BlingBag.NHibernate")] 10 | [assembly: AssemblyCopyright("Copyright © Acklen Avenue, LLC 2012")] 11 | [assembly: AssemblyTrademark("")] 12 | [assembly: AssemblyCulture("")] 13 | [assembly: ComVisible(false)] 14 | [assembly: Guid("a892f09f-a8c7-42b5-89a9-77de039dc3ab")] 15 | [assembly: AssemblyVersion("1.3.1.0")] 16 | [assembly: AssemblyFileVersion("1.3.1.0")] -------------------------------------------------------------------------------- /src/BlingBag.StructureMap/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyTitle("BlingBag.StructureMap")] 5 | [assembly: 6 | AssemblyDescription("BlingBag is a library that helps implement domain events in a behavior-rich domain model.")] 7 | [assembly: AssemblyConfiguration("")] 8 | [assembly: AssemblyCompany("Acklen Avenue")] 9 | [assembly: AssemblyProduct("BlingBag.StructureMap")] 10 | [assembly: AssemblyCopyright("Copyright © Acklen Avenue, LLC 2012")] 11 | [assembly: AssemblyTrademark("")] 12 | [assembly: AssemblyCulture("")] 13 | [assembly: ComVisible(false)] 14 | [assembly: Guid("a892f09f-a8c7-42b5-89a9-77de039dc3ab")] 15 | [assembly: AssemblyVersion("1.3.1.1")] 16 | [assembly: AssemblyFileVersion("1.3.1.1")] -------------------------------------------------------------------------------- /src/BlingBag.NHibernate/BlingBag.NHibernate.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $id$ 5 | $version$ 6 | $title$ 7 | $author$ 8 | Acklen Avenue 9 | http://www.apache.org/licenses/LICENSE-2.0.html 10 | http://blingbag.org 11 | false 12 | $description$ 13 | Copyright 2012 Acklen Avenue, LLC 14 | Domain Events, DDD, Architecture 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyTitle("BlingBag.SampleConsoleApp")] 5 | [assembly: 6 | AssemblyDescription("BlingBag is a library that helps implement domain events in a behavior-rich domain model.")] 7 | [assembly: AssemblyConfiguration("")] 8 | [assembly: AssemblyCompany("Acklen Avenue")] 9 | [assembly: AssemblyProduct("BlingBag.SampleConsoleApp")] 10 | [assembly: AssemblyCopyright("Copyright © Acklen Avenue, LLC 2012")] 11 | [assembly: AssemblyTrademark("")] 12 | [assembly: AssemblyCulture("")] 13 | [assembly: ComVisible(false)] 14 | [assembly: Guid("a892f09f-a8c7-42b5-89a9-77de039dc3ab")] 15 | [assembly: AssemblyVersion("1.3.1.0")] 16 | [assembly: AssemblyFileVersion("1.3.1.0")] -------------------------------------------------------------------------------- /src/BlingBag.StructureMap/BlingBag.StructureMap.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $id$ 5 | $version$ 6 | $title$ 7 | $author$ 8 | Acklen Avenue 9 | http://www.apache.org/licenses/LICENSE-2.0.html 10 | http://blingbag.org 11 | false 12 | $description$ 13 | Copyright 2012 Acklen Avenue, LLC 14 | Domain Events, DDD, Architecture 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/BlingBag.StructureMap.Specs/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyTitle("BlingBag.StructureMap.Specs")] 5 | [assembly: 6 | AssemblyDescription("BlingBag is a library that helps implement domain events in a behavior-rich domain model.")] 7 | [assembly: AssemblyConfiguration("")] 8 | [assembly: AssemblyCompany("Acklen Avenue")] 9 | [assembly: AssemblyProduct("BlingBag.StructureMap.Specs")] 10 | [assembly: AssemblyCopyright("Copyright © Acklen Avenue, LLC 2012")] 11 | [assembly: AssemblyTrademark("")] 12 | [assembly: AssemblyCulture("")] 13 | [assembly: ComVisible(false)] 14 | [assembly: Guid("a892f09f-a8c7-42b5-89a9-77de039dc3ab")] 15 | [assembly: AssemblyVersion("1.3.1.0")] 16 | [assembly: AssemblyFileVersion("1.3.1.0")] -------------------------------------------------------------------------------- /lib/NHibernate.3.3.1.4000/ConfigurationTemplates/PostgreSQL.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | NHibernate.Driver.NpgsqlDriver 10 | 11 | Server=localhost;Database=nhibernate;User ID=nhibernate;Password=nhibernate; 12 | 13 | NHibernate.Dialect.PostgreSQL82Dialect 14 | 15 | -------------------------------------------------------------------------------- /lib/NHibernate.3.3.1.4000/ConfigurationTemplates/MySql.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | NHibernate.Driver.MySqlDataDriver 11 | 12 | Database=test;Data Source=someip;User Id=blah;Password=blah 13 | 14 | NHibernate.Dialect.MySQLDialect 15 | 16 | -------------------------------------------------------------------------------- /src/BlingBag/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | [assembly: AssemblyTitle("BlingBag")] 6 | [assembly: 7 | AssemblyDescription("BlingBag is a library that helps implement domain events in a behavior-rich domain model.")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyCompany("Acklen Avenue")] 10 | [assembly: AssemblyProduct("BlingBag")] 11 | [assembly: AssemblyCopyright("Copyright © Acklen Avenue, LLC 2012")] 12 | [assembly: AssemblyTrademark("")] 13 | [assembly: AssemblyCulture("")] 14 | [assembly: ComVisible(false)] 15 | [assembly: Guid("a892f09f-a8c7-42b5-89a9-77de039dc3ab")] 16 | [assembly: AssemblyVersion("1.3.5.0")] 17 | [assembly: AssemblyFileVersion("1.3.5.0")] 18 | [assembly: InternalsVisibleTo("BlingBag.Specs", AllInternalsVisible = true)] -------------------------------------------------------------------------------- /src/BlingBag.Specs/Account.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace BlingBag.Specs 4 | { 5 | public class Account 6 | { 7 | public string Name { get; private set; } 8 | 9 | public Location Location { get; set; } 10 | 11 | public IEnumerable OldLocations { get; set; } 12 | 13 | public event Blinger NotifyObservers; 14 | 15 | public void ChangeName(string newName) 16 | { 17 | Name = newName; 18 | var nameChanged = new NameChanged 19 | { 20 | NewName = newName, 21 | Account = this, 22 | }; 23 | NotifyObservers(nameChanged); 24 | } 25 | 26 | public void DoSomething() 27 | { 28 | NotifyObservers("account did something"); 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /lib/NHibernate.3.3.1.4000/ConfigurationTemplates/MSSQL.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | NHibernate.Driver.SqlClientDriver 11 | 12 | Server=(local);initial catalog=nhibernate;Integrated Security=SSPI 13 | 14 | NHibernate.Dialect.MsSql2008Dialect 15 | 16 | -------------------------------------------------------------------------------- /lib/NHibernate.3.3.1.4000/ConfigurationTemplates/SybaseASE.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | NHibernate.Driver.SybaseAseClientDriver 10 | 11 | Data Source=10.0.0.1;Port=5000;Database=nhibernate;User ID=nhibernate;Password=password 12 | 13 | NHibernate.Dialect.SybaseASE15Dialect 14 | true=1;false=0 15 | 16 | -------------------------------------------------------------------------------- /lib/NHibernate.3.3.1.4000/ConfigurationTemplates/SybaseSQLAnywhere.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | NHibernate.Driver.SybaseSQLAnywhereDriver 10 | 11 | UID=DBA;PWD=sql;Server=localhost;DBN=nhibernate;DBF=c:\nhibernate.db;ASTOP=No 12 | 13 | NHibernate.Dialect.SybaseSQLAnywhere12Dialect 14 | true=1;false=0 15 | 16 | -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/FakeDomainLayer/InitializedAccountFetcher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using BlingBag.SampleConsoleApp.FakeDomainLayer.Entities; 3 | 4 | namespace BlingBag.SampleConsoleApp.FakeDomainLayer 5 | { 6 | public class InitializedAccountFetcher : IAccountFetcher 7 | { 8 | readonly IBlingInitializer> _initializer; 9 | readonly IRepository _repository; 10 | 11 | public InitializedAccountFetcher(IBlingInitializer> initializer, IRepository repository) 12 | { 13 | _initializer = initializer; 14 | _repository = repository; 15 | } 16 | 17 | #region IAccountFetcher Members 18 | 19 | public Account FetchById(long id) 20 | { 21 | var account = _repository.Get(id); 22 | return _initializer.Initialize(account); 23 | } 24 | 25 | #endregion 26 | } 27 | } -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/FakeDataLayer/StubRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using BlingBag.SampleConsoleApp.FakeDomainLayer; 3 | using BlingBag.SampleConsoleApp.FakeDomainLayer.Entities; 4 | 5 | namespace BlingBag.SampleConsoleApp.FakeDataLayer 6 | { 7 | public class StubRepository : IRepository 8 | { 9 | #region IRepository Members 10 | 11 | public T Get(long id) where T : Account 12 | { 13 | var account = new Account 14 | { 15 | Id = id, 16 | Name = "Bob", 17 | EmailAddress = "bob@mycompany.com" 18 | }; 19 | return (T) account; 20 | } 21 | 22 | public void Update(T item) where T : Account 23 | { 24 | Console.WriteLine("## (StubRepository) -- The account was updated in the repository."); 25 | } 26 | 27 | #endregion 28 | } 29 | } -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/FakeDomainLayer/EventHandlers/EmailTheAccountHolderAfterNameChanged.cs: -------------------------------------------------------------------------------- 1 | using BlingBag.SampleConsoleApp.FakeDomainLayer.Events; 2 | 3 | namespace BlingBag.SampleConsoleApp.FakeDomainLayer.EventHandlers 4 | { 5 | public class EmailTheAccountHolderAfterNameChanged : IBlingHandler 6 | { 7 | readonly IEmailClient _emailClient; 8 | 9 | public EmailTheAccountHolderAfterNameChanged(IEmailClient emailClient) 10 | { 11 | _emailClient = emailClient; 12 | } 13 | 14 | #region IBlingHandler Members 15 | 16 | public void Handle(TheNameChanged @event) 17 | { 18 | _emailClient.Send(@event.Account.EmailAddress, "Name Changed", 19 | string.Format("Your name has been changed from {0} to {1}.", @event.OldName, 20 | @event.NewName)); 21 | } 22 | 23 | #endregion 24 | } 25 | } -------------------------------------------------------------------------------- /lib/NHibernate.3.3.1.4000/ConfigurationTemplates/Oracle.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | NHibernate.Driver.OracleClientDriver 11 | 12 | User ID=nhibernate;Password=nhibernate;Data Source=localhost 13 | 14 | false 15 | NHibernate.Dialect.OracleDialect 16 | true 1, false 0, yes 'Y', no 'N' 17 | 18 | -------------------------------------------------------------------------------- /src/BlingBag.NHibernate/BlingInterceptor.cs: -------------------------------------------------------------------------------- 1 | using NHibernate; 2 | using NHibernate.Type; 3 | 4 | namespace BlingBag.NHibernate 5 | { 6 | public class BlingInterceptor : EmptyInterceptor 7 | { 8 | readonly IBlingInitializer _blingInitializer; 9 | 10 | public BlingInterceptor(IBlingInitializer blingInitializer) 11 | { 12 | _blingInitializer = blingInitializer; 13 | } 14 | 15 | public override bool OnLoad(object entity, object id, object[] state, string[] propertyNames, IType[] types) 16 | { 17 | _blingInitializer.Initialize(entity); 18 | return base.OnLoad(entity, id, state, propertyNames, types); 19 | } 20 | 21 | public override bool OnSave(object entity, object id, object[] state, string[] propertyNames, IType[] types) 22 | { 23 | _blingInitializer.Initialize(entity); 24 | return base.OnSave(entity, id, state, propertyNames, types); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/BlingBag.Specs/when_dispatching_a_registered_action_event.cs: -------------------------------------------------------------------------------- 1 | using Machine.Specifications; 2 | using Moq; 3 | using It = Machine.Specifications.It; 4 | 5 | namespace DomainEvents.Specs 6 | { 7 | public class when_dispatching_a_registered_action_event 8 | { 9 | static DefaultDomainEventDispatcher _dispatcher; 10 | static Mock _event; 11 | static TestHandler _testHandler; 12 | 13 | Establish context = () => 14 | { 15 | _dispatcher = new DefaultDomainEventDispatcher(); 16 | 17 | DomainEventHandlers.Register(); 18 | 19 | _testHandler = new TestHandler(); 20 | DomainEventHandlers.Resolve = x => _testHandler; 21 | 22 | _event = new Mock(); 23 | }; 24 | 25 | Because of = () => _dispatcher.Dispatch(_event.Object); 26 | 27 | It should_handle_the_event_using_the_provided_action = 28 | () => _testHandler.EventHandled.ShouldEqual(_event.Object); 29 | } 30 | } -------------------------------------------------------------------------------- /src/BlingBag.StructureMap.Specs/when_dispatching_an_event_with_handler_registered_in_the_container.cs: -------------------------------------------------------------------------------- 1 | using Machine.Specifications; 2 | using StructureMap; 3 | 4 | namespace BlingBag.StructureMap.Specs 5 | { 6 | public class when_dispatching_an_event_with_handler_registered_in_the_container 7 | { 8 | static Container _container; 9 | static TestLocationChangedHandler _handler; 10 | static IBlingDispatcher _blingDispatcher; 11 | static LocationChanged _event; 12 | 13 | Establish context = () => 14 | { 15 | _event = new LocationChanged(); 16 | 17 | _handler = new TestLocationChangedHandler(); 18 | 19 | _container = new Container(); 20 | _container.Configure(x => x.For>().Use(_handler)); 21 | 22 | _blingDispatcher = new StructureMapBlingDispatcher(_container); 23 | }; 24 | 25 | Because of = () => _blingDispatcher.Dispatch(_event); 26 | 27 | It should_dispatch_the_event_using_the_expected_handler = 28 | () => _handler.Handled.ShouldEqual(_event); 29 | } 30 | } -------------------------------------------------------------------------------- /src/BlingBag.Specs/when_changing_the_account_name.cs: -------------------------------------------------------------------------------- 1 | using Machine.Specifications; 2 | 3 | namespace BlingBag.Specs 4 | { 5 | public class when_changing_the_account_name 6 | { 7 | const string NewName = "Some new name"; 8 | static Account _account; 9 | static object _eventRaised; 10 | 11 | Establish context = () => { _account = SimulateGettingAccountFromRepository(); }; 12 | 13 | Because of = () => _account.ChangeName(NewName); 14 | 15 | It should_change_the_account_name = () => _account.Name.ShouldEqual(NewName); 16 | 17 | It should_include_the_account_in_the_name_changed_event = 18 | () => ((NameChanged) _eventRaised).Account.ShouldEqual(_account); 19 | 20 | It should_include_the_new_name_in_the_name_changed_event = 21 | () => ((NameChanged) _eventRaised).NewName.ShouldEqual(NewName); 22 | 23 | It should_notify_that_it_happened = 24 | () => _eventRaised.ShouldBeOfType(); 25 | 26 | static Account SimulateGettingAccountFromRepository() 27 | { 28 | var account = new Account(); 29 | account.NotifyObservers += x => _eventRaised = x; 30 | return account; 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /src/BlingBag.Testing/WithExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Reflection; 5 | 6 | namespace BlingBag.Testing 7 | { 8 | public static class WithExtensions 9 | { 10 | public static Func EventSelector = x => true; 11 | 12 | public static void With(this T obj, Func isTrue) 13 | { 14 | if (!isTrue(obj)) 15 | { 16 | throw new Exception("The target object didn't have the expected values."); 17 | } 18 | } 19 | 20 | public static T WithObserver(this T obj, object @event) 21 | { 22 | Func getField = 23 | ei => obj.GetType().GetField(ei.Name, 24 | BindingFlags.NonPublic | 25 | BindingFlags.Instance | 26 | BindingFlags.GetField); 27 | 28 | IEnumerable domainEventInfos = 29 | obj.GetType().GetEvents().Where(EventSelector); 30 | List fields = domainEventInfos.Select(getField).ToList(); 31 | fields.ForEach(x => x.SetValue(obj, @event)); 32 | 33 | return obj; 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/Infrastructure/Bootstrapper.cs: -------------------------------------------------------------------------------- 1 | using BlingBag.SampleConsoleApp.FakeDataLayer; 2 | using BlingBag.SampleConsoleApp.FakeDomainLayer; 3 | using BlingBag.SampleConsoleApp.FakeDomainLayer.EventHandlers; 4 | using BlingBag.SampleConsoleApp.FakeDomainLayer.Events; 5 | using StructureMap; 6 | 7 | namespace BlingBag.SampleConsoleApp.Infrastructure 8 | { 9 | public class Bootstrapper 10 | { 11 | readonly IContainer _container; 12 | 13 | public Bootstrapper(IContainer container) 14 | { 15 | _container = container; 16 | } 17 | 18 | public void Run() 19 | { 20 | _container.Configure(x => 21 | { 22 | x.AddRegistry(); 23 | x.For>().Use(); 24 | x.For>().Use(); 25 | x.For>().Use(); 26 | 27 | x.For().Use(); 28 | x.For().Use(); 29 | x.For().Use(); 30 | }); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using BlingBag.SampleConsoleApp.FakeDomainLayer; 3 | using BlingBag.SampleConsoleApp.FakeDomainLayer.Entities; 4 | using BlingBag.SampleConsoleApp.Infrastructure; 5 | using StructureMap; 6 | 7 | namespace BlingBag.SampleConsoleApp 8 | { 9 | class Program 10 | { 11 | static void Main(string[] args) 12 | { 13 | //bootstrap the application 14 | var container = new Container(); 15 | new Bootstrapper(container).Run(); 16 | 17 | //fetch an initialized domain entity 18 | var accountFetcher = container.GetInstance(); 19 | Account account = accountFetcher.FetchById(1); 20 | 21 | //show how a behavior-rich domain entity can do some cool stuff 22 | Console.WriteLine("The account name is 'Bob'."); 23 | Console.WriteLine(""); 24 | 25 | Console.ReadKey(); 26 | 27 | Console.WriteLine("We're going to change the name to 'Robert'. Ready? Press a key."); 28 | Console.WriteLine(""); 29 | 30 | Console.ReadKey(); 31 | 32 | account.ChangeName("Robert"); 33 | 34 | Console.WriteLine(""); 35 | Console.WriteLine( 36 | "There. The name has been changed. There should have been some domain events handled as a result."); 37 | 38 | Console.ReadKey(); 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /src/BlingBag/ImmediateBlingDispatcher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | 6 | namespace BlingBag 7 | { 8 | public class ImmediateBlingDispatcher : BlingDispatcherBase 9 | { 10 | public readonly IEnumerable Handlers; 11 | readonly IBlingLogger _logger; 12 | 13 | public ImmediateBlingDispatcher(IEnumerable handlers, IBlingLogger logger) 14 | { 15 | Handlers = handlers; 16 | _logger = logger; 17 | } 18 | 19 | protected override IEnumerable FindHandlers(object @event) 20 | { 21 | return 22 | Handlers.Where( 23 | x => 24 | x.GetType() 25 | .GetInterfaces() 26 | .Any(i => typeof (IBlingHandler).IsAssignableFrom(i) 27 | && (i.GenericTypeArguments.Any() 28 | && i.GenericTypeArguments[0] == @event.GetType()))); 29 | } 30 | 31 | protected override void LogInfo(object handler, DateTime timeStamp, string message) 32 | { 33 | _logger.LogInfo(handler, timeStamp, message); 34 | } 35 | 36 | protected override void LogException(object handler, DateTime timeStamp, Exception exception) 37 | { 38 | _logger.LogException(handler, timeStamp, exception); 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /lib/NHibernate.3.3.1.4000/ConfigurationTemplates/FireBird.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 17 | 18 | 19 | NHibernate.Driver.FirebirdClientDriver 20 | 21 | Server=localhost; 22 | Database=C:\nhibernate.fdb; 23 | User=SYSDBA;Password=masterkey 24 | 25 | false 26 | NHibernate.Dialect.FirebirdDialect 27 | 60 28 | true 1, false 0, yes 1, no 0 29 | 30 | 31 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/Machine.Specifications.GallioAdapter.plugin: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | Machine Specifications Adapter Plugin 7 | 0.5.6.0 8 | Provides support for running MSpec within Gallio. Requires the assemblies from MSpec. 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 26 | 27 | 29 | 30 | 31 | 32 | 35 | 36 | Machine Specifications 37 | Machine.Specifications 38 | 0.5.6.0 39 | Assembly 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /lib/Moq.4.0.10827/License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2007. Clarius Consulting, Manas Technology Solutions, InSTEDD 2 | http://code.google.com/p/moq/ 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, 6 | with or without modification, are permitted provided 7 | that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the 10 | above copyright notice, this list of conditions and 11 | the following disclaimer. 12 | 13 | * Redistributions in binary form must reproduce 14 | the above copyright notice, this list of conditions 15 | and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | * Neither the name of Clarius Consulting, Manas Technology Solutions or InSTEDD nor the 19 | names of its contributors may be used to endorse 20 | or promote products derived from this software 21 | without specific prior written permission. 22 | 23 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 24 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 25 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 26 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 28 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 29 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 30 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 31 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 32 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 33 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 34 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 | SUCH DAMAGE. 37 | 38 | [This is the BSD license, see 39 | http://www.opensource.org/licenses/bsd-license.php] -------------------------------------------------------------------------------- /src/Packages.dgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 31 | 32 | -------------------------------------------------------------------------------- /rakefile.rb: -------------------------------------------------------------------------------- 1 | MSBUILD_PATH = "C:/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe" 2 | MSPEC_PATH = "lib/Machine.Specifications.0.5.6.0/tools/mspec-clr4.exe" 3 | #MSTEST_PATH = "\"" + ENV['VS90COMNTOOLS'].gsub("Tools","IDE") + "mstest.exe\"" 4 | BUILD_PATH = File.expand_path('build') 5 | DEPLOY_PATH = File.expand_path('deploy') 6 | REPORTS_PATH = File.expand_path('testresults') 7 | SOLUTION = "src/BlingBag.sln" 8 | TRXFILE = File.join(REPORTS_PATH, SOLUTION + '.trx') 9 | CONFIG = "Debug" 10 | 11 | task :default => [:all] 12 | 13 | task :all => [:prepare, :compile, :tests, :deploy ] 14 | 15 | task :prepare do 16 | require 'fileutils' 17 | FileUtils.rm_rf BUILD_PATH 18 | end 19 | 20 | task :compile do 21 | puts 'Compiling solution...' 22 | sh "#{MSBUILD_PATH} /p:Configuration=#{CONFIG} /p:OutDir=\"#{BUILD_PATH}/\" /p:PostBuildEvent=\"\" #{SOLUTION}" 23 | end 24 | 25 | task :deploy do 26 | puts 'Preparing deployment...' 27 | mkdir DEPLOY_PATH unless File.exist?(DEPLOY_PATH) 28 | cp BUILD_PATH + "/DomainEvents.dll", DEPLOY_PATH 29 | cp BUILD_PATH + "/DomainEvents.Testing.dll", DEPLOY_PATH 30 | cp BUILD_PATH + "/DomainEvents.StructureMap.dll", DEPLOY_PATH 31 | end 32 | 33 | task :tests do 34 | puts "Locating and running MSpec tests in #{BUILD_PATH}." 35 | puts 'This can take a while, please wait...' 36 | 37 | # Create output directory if necessary 38 | mkdir REPORTS_PATH unless File.exist?(REPORTS_PATH) 39 | 40 | # Clear out old reports, but don't talk about it. 41 | verbose(false) do 42 | FileList.new("#{REPORTS_PATH}/*").each { |file| rm file } 43 | end 44 | 45 | # Find all the specs DLLs 46 | testDlls = FileList.new("#{BUILD_PATH}/*.Specs.dll") 47 | 48 | # Join the file list into a single string with quotes surrounding the file paths 49 | TEST_DLL_LIST = '"' + testDlls.join('" "') + '"' 50 | 51 | # Specify our mspec command line parameters 52 | HTML_SWITCH = "--html \"#{REPORTS_PATH}\"" 53 | XML_SWITCH = "--xml \"#{REPORTS_PATH}\\testresults.xml\"" 54 | 55 | # Run the tests and give a message on failure 56 | # But we don't want to hear the chatter, so dump the console output to a file 57 | File.new("#{REPORTS_PATH}/mspec.output.txt",'w') << `#{MSPEC_PATH} #{HTML_SWITCH} #{XML_SWITCH} #{TEST_DLL_LIST}` 58 | result = $?.to_i 59 | 60 | raise "One or more tests failed. Please see results in #{REPORTS_PATH}\\index.html" unless result == 0 61 | 62 | # If we get here, all's good 63 | puts "All tests passed" 64 | end -------------------------------------------------------------------------------- /src/BlingBag.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.30501.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BlingBag", "BlingBag\BlingBag.csproj", "{3706AACA-DFF6-470B-BAEC-FFCA79DCEE68}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BlingBag.Specs", "BlingBag.Specs\BlingBag.Specs.csproj", "{11813EB6-C1E1-4475-8D72-E82305625703}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Debug|Mixed Platforms = Debug|Mixed Platforms 14 | Debug|x86 = Debug|x86 15 | Release|Any CPU = Release|Any CPU 16 | Release|Mixed Platforms = Release|Mixed Platforms 17 | Release|x86 = Release|x86 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU 23 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU 24 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68}.Debug|x86.ActiveCfg = Debug|Any CPU 25 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68}.Release|Any CPU.ActiveCfg = Release|Any CPU 26 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68}.Release|Any CPU.Build.0 = Release|Any CPU 27 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU 28 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68}.Release|Mixed Platforms.Build.0 = Release|Any CPU 29 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68}.Release|x86.ActiveCfg = Release|Any CPU 30 | {11813EB6-C1E1-4475-8D72-E82305625703}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 31 | {11813EB6-C1E1-4475-8D72-E82305625703}.Debug|Any CPU.Build.0 = Debug|Any CPU 32 | {11813EB6-C1E1-4475-8D72-E82305625703}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU 33 | {11813EB6-C1E1-4475-8D72-E82305625703}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU 34 | {11813EB6-C1E1-4475-8D72-E82305625703}.Debug|x86.ActiveCfg = Debug|Any CPU 35 | {11813EB6-C1E1-4475-8D72-E82305625703}.Release|Any CPU.ActiveCfg = Release|Any CPU 36 | {11813EB6-C1E1-4475-8D72-E82305625703}.Release|Any CPU.Build.0 = Release|Any CPU 37 | {11813EB6-C1E1-4475-8D72-E82305625703}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU 38 | {11813EB6-C1E1-4475-8D72-E82305625703}.Release|Mixed Platforms.Build.0 = Release|Any CPU 39 | {11813EB6-C1E1-4475-8D72-E82305625703}.Release|x86.ActiveCfg = Release|Any CPU 40 | EndGlobalSection 41 | GlobalSection(SolutionProperties) = preSolution 42 | HideSolutionNode = FALSE 43 | EndGlobalSection 44 | EndGlobal 45 | -------------------------------------------------------------------------------- /src/BlingBag.Testing/BlingBag.Testing.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {5C2E30BE-687D-4C8F-ADA0-4B07D3DFCE44} 9 | Library 10 | Properties 11 | BlingBag.Testing 12 | BlingBag.Testing 13 | v4.0 14 | 512 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68} 50 | BlingBag 51 | 52 | 53 | 54 | 61 | -------------------------------------------------------------------------------- /src/BlingBag/BlingBag.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68} 9 | Library 10 | Properties 11 | BlingBag 12 | BlingBag 13 | v4.5 14 | 512 15 | 16 | 17 | 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | false 26 | 27 | 28 | pdbonly 29 | true 30 | bin\Release\ 31 | TRACE 32 | prompt 33 | 4 34 | false 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 61 | -------------------------------------------------------------------------------- /src/BlingBag/BlingDispatcherBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Linq; 4 | using System.Reflection; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlingBag 8 | { 9 | public abstract class BlingDispatcherBase : IBlingDispatcher 10 | { 11 | #region IBlingDispatcher Members 12 | 13 | public async Task Dispatch(object @event) 14 | { 15 | IEnumerable matchingBlingHandlers = FindHandlers(@event); 16 | foreach (object handler in matchingBlingHandlers) 17 | { 18 | LogInfo(handler, DateTime.UtcNow, string.Format("Dispatching {0}...", handler.GetType().Name)); 19 | 20 | try 21 | { 22 | await InvokeMethod("Handle", handler, @event); 23 | LogInfo(handler, DateTime.UtcNow, string.Format("Finished {0}.", handler.GetType().Name)); 24 | } 25 | catch (TargetInvocationException ex) 26 | { 27 | LogException(handler, DateTime.UtcNow, ex.InnerException); 28 | throw; 29 | } 30 | catch (AggregateException ex) 31 | { 32 | LogException(handler, DateTime.UtcNow, ex.InnerException); 33 | throw; 34 | } 35 | catch (Exception ex) 36 | { 37 | LogException(handler, DateTime.UtcNow, ex); 38 | throw; 39 | } 40 | } 41 | } 42 | 43 | async Task InvokeMethod(string methodName, object invokableObject, object methodArg) 44 | { 45 | try 46 | { 47 | MethodInfo handlerMethod = 48 | invokableObject.GetType() 49 | .GetMethods() 50 | .FirstOrDefault( 51 | x => 52 | x.Name == methodName && 53 | x.GetParameters().Any(p => p.ParameterType == methodArg.GetType())); 54 | 55 | if (handlerMethod == null) throw new Exception("No matching 'Handle' method found on handler."); 56 | 57 | await (Task) handlerMethod.Invoke(invokableObject, new[] {methodArg}); 58 | } 59 | catch (AggregateException ex) 60 | { 61 | throw ex.InnerException; 62 | } 63 | catch (TargetInvocationException ex) 64 | { 65 | throw ex.InnerException; 66 | } 67 | catch (Exception ex) 68 | { 69 | throw ex.GetBaseException(); 70 | } 71 | } 72 | 73 | #endregion 74 | 75 | protected abstract IEnumerable FindHandlers(object @event); 76 | protected abstract void LogInfo(object handler, DateTime timeStamp, string message); 77 | protected abstract void LogException(object handler, DateTime timeStamp, Exception exception); 78 | } 79 | } -------------------------------------------------------------------------------- /src/BlingBag.StructureMap/BlingBag.StructureMap.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {C7DC7F8A-1A48-41E3-8084-549AEF5AE244} 9 | Library 10 | Properties 11 | BlingBag.StructureMap 12 | BlingBag.StructureMap 13 | v4.0 14 | 512 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | False 36 | ..\..\lib\structuremap.2.6.4.1\lib\net40\StructureMap.dll 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68} 56 | BlingBag 57 | 58 | 59 | 60 | 67 | -------------------------------------------------------------------------------- /src/BlingBag.NHibernate/BlingBag.NHibernate.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {CC9842DA-D188-492A-963E-C69ECD14BD85} 9 | Library 10 | Properties 11 | BlingBag.NHibernate 12 | BlingBag.NHibernate 13 | v4.0 14 | 512 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | ..\..\lib\Iesi.Collections.3.2.0.4000\lib\Net35\Iesi.Collections.dll 36 | 37 | 38 | ..\..\lib\NHibernate.3.3.1.4000\lib\Net35\NHibernate.dll 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68} 55 | BlingBag 56 | 57 | 58 | 59 | 60 | 61 | 62 | 69 | -------------------------------------------------------------------------------- /src/BlingBag.AutoFac/BlingBag.AutoFac.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {DDECA8DD-AE88-4AA0-B7BC-9C2B18C075E9} 9 | Library 10 | Properties 11 | BlingBag.AutoFac 12 | BlingBag.AutoFac 13 | v4.0 14 | 512 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | False 36 | ..\..\lib\Autofac.3.0.2\lib\net40\Autofac.dll 37 | 38 | 39 | False 40 | ..\..\lib\Autofac.3.0.2\lib\net40\Autofac.Configuration.dll 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68} 57 | BlingBag 58 | 59 | 60 | 61 | 62 | 63 | 64 | 71 | -------------------------------------------------------------------------------- /lib/NHibernate.3.3.1.4000/NHibernate.readme.html: -------------------------------------------------------------------------------- 1 |

Welcome to NHibernate

2 | 3 |

NHibernate is a mature, open source object-relational mapper for the .NET framework. It is actively developed, 4 | fully featured and used in thousands of successful projects.

5 | 6 |

The NHibernate community website - http://www.nhforge.org - has a range of resources to help you get started, 7 | including wikis, blogs and reference documentation.

8 | 9 |

Latest Version

10 | 11 |

The quickest way to get the latest release of NHibernate is to add it to your project using 12 | NuGet (http://nuget.org/List/Packages/NHibernate).

13 | 14 |

Alternatively binaries are available from SourceForge at http://sourceforge.net/projects/nhibernate.

15 | 16 |

You are encouraged to review the release notes (releasenotes.txt), particularly when upgrading to a 17 | later version. The release notes will generally document any breaking changes.

18 | 19 |

Community Forums

20 | 21 |

There are two official NHibernate community forums:

22 | 23 | 27 | 28 |

Bug Reports

29 | 30 |

If you find any bugs, please report them using the JIRA bug tracker. A 31 | test-case that demonstrates the issue is usually required. Instructions on providing a test-case 32 | can be found here.

33 | 34 |

Licenses

35 | 36 |

This software is distributed under the terms of the Free Software Foundation Lesser GNU Public License (LGPL), version 2.1 (see lgpl.txt).

37 | 38 |

Credits

39 | 40 |

Many thanks to the following individuals, organisations and projects whose work is so important to the success 41 | of NHibernate (in no particular order):

42 | 43 | -------------------------------------------------------------------------------- /src/BlingBag.StructureMap.Specs/BlingBag.StructureMap.Specs.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {5F9B87BA-C8A8-438C-9D2F-AB8E7FC35407} 9 | Library 10 | Properties 11 | BlingBag.StructureMap.Specs 12 | BlingBag.StructureMap.Specs 13 | v4.0 14 | 512 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | ..\..\lib\Machine.Specifications.0.5.6.0\lib\net40\Machine.Specifications.dll 36 | 37 | 38 | ..\..\lib\Machine.Specifications.0.5.6.0\lib\net40\Machine.Specifications.Clr4.dll 39 | 40 | 41 | ..\..\lib\Moq.4.0.10827\lib\NET40\Moq.dll 42 | 43 | 44 | False 45 | ..\..\lib\structuremap.2.6.4.1\lib\net40\StructureMap.dll 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68} 68 | BlingBag 69 | 70 | 71 | 72 | 79 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2008 Machine Project 2 | Portions Copyright (c) 2008 Jacob Lewallen, Aaron Jensen 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | 22 | ***************************** 23 | Some parts licensed under MS-PL 24 | ***************************** 25 | 26 | This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. 27 | 28 | 1. Definitions 29 | 30 | The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. 31 | 32 | A "contribution" is the original software, or any additions or changes to the software. 33 | 34 | A "contributor" is any person that distributes its contribution under this license. 35 | 36 | "Licensed patents" are a contributor's patent claims that read directly on its contribution. 37 | 38 | 2. Grant of Rights 39 | 40 | (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. 41 | 42 | (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. 43 | 44 | 3. Conditions and Limitations 45 | 46 | (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. 47 | 48 | (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. 49 | 50 | (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. 51 | 52 | (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. 53 | 54 | (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.9.3/tools/License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2008 Machine Project 2 | Portions Copyright (c) 2008 Jacob Lewallen, Aaron Jensen 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | 22 | ***************************** 23 | Some parts licensed under MS-PL 24 | ***************************** 25 | 26 | This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. 27 | 28 | 1. Definitions 29 | 30 | The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. 31 | 32 | A "contribution" is the original software, or any additions or changes to the software. 33 | 34 | A "contributor" is any person that distributes its contribution under this license. 35 | 36 | "Licensed patents" are a contributor's patent claims that read directly on its contribution. 37 | 38 | 2. Grant of Rights 39 | 40 | (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. 41 | 42 | (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. 43 | 44 | 3. Conditions and Limitations 45 | 46 | (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. 47 | 48 | (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. 49 | 50 | (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. 51 | 52 | (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. 53 | 54 | (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. -------------------------------------------------------------------------------- /lib/Machine.Specifications.Should.0.7.2/License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2008 Machine Project 2 | Portions Copyright (c) 2008 Jacob Lewallen, Aaron Jensen 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | 22 | ***************************** 23 | Some parts licensed under MS-PL 24 | ***************************** 25 | 26 | This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. 27 | 28 | 1. Definitions 29 | 30 | The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. 31 | 32 | A "contribution" is the original software, or any additions or changes to the software. 33 | 34 | A "contributor" is any person that distributes its contribution under this license. 35 | 36 | "Licensed patents" are a contributor's patent claims that read directly on its contribution. 37 | 38 | 2. Grant of Rights 39 | 40 | (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. 41 | 42 | (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. 43 | 44 | 3. Conditions and Limitations 45 | 46 | (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. 47 | 48 | (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. 49 | 50 | (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. 51 | 52 | (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. 53 | 54 | (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.5.6.0/tools/License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2008 Machine Project 2 | Portions Copyright (c) 2008 Jacob Lewallen, Aaron Jensen 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | 22 | ***************************** 23 | Some parts licensed under MS-PL 24 | ***************************** 25 | 26 | This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. 27 | 28 | 1. Definitions 29 | 30 | The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. 31 | 32 | A "contribution" is the original software, or any additions or changes to the software. 33 | 34 | A "contributor" is any person that distributes its contribution under this license. 35 | 36 | "Licensed patents" are a contributor's patent claims that read directly on its contribution. 37 | 38 | 2. Grant of Rights 39 | 40 | (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. 41 | 42 | (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. 43 | 44 | 3. Conditions and Limitations 45 | 46 | (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. 47 | 48 | (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. 49 | 50 | (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. 51 | 52 | (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. 53 | 54 | (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | BlingBag 2 | ======== 3 | 4 | ### The Problem: 5 | As an excellent software developer, you want to be sure that your code is maintainable, testable, expressive, and beautiful. But sometimes those desires seem to conflict with one another. For instance, an expressive domain should contain entities that, not only include well-named properties, but also the behavior of the business's domain. But, if you include behavior in your domain entities, you run the risk of harming the application's maintainability by having classes with more than one "reason to change" or "responsibility" (see Single Responsibility Principle). 6 | 7 | ### The Solution: 8 | Well, the solution really has two parts: 1) Double-Dispatch and 2) Domain Events. Since this wiki is all about domain events with BlingBag, I'll let you read about Double-Dispatch on your own and stick to the subject at hand. So, consider the following POCO class: 9 | 10 | ```csharp 11 | public class Account 12 | { 13 | public string Name { get; set; } 14 | public long Id { get; set; } 15 | public string EmailAddress { get; set; } 16 | } 17 | ``` 18 | 19 | The above POCO is how all of my domain entities used to look. It's clean, but boring... this class does absolutely nothing. Before I met domain events, I would have created any number of domain "services" that performed actions on this Account class. The problem with this is that, in order to read the code and decypher what the Account does, you have to go service fishing and search for all the services that touch Account. It's a bit of a shame that we have such a clean code base, but one that expresses very little of the actual domain. 20 | 21 | Now, let's add some behavior. Our imaginary business has passed down a new requirement from on high: 22 | "As an account, I can change my name." 23 | 24 | So, consider the same POCO class with a bit of behavior: 25 | 26 | ```csharp 27 | public class Account 28 | { 29 | public string Name { get; private set; } 30 | public long Id { get; set; } 31 | public string EmailAddress { get; set; } 32 | 33 | public void ChangeName(string newName) 34 | { 35 | Name = newName; 36 | } 37 | } 38 | ``` 39 | 40 | This is great. We're starting to make our Account entity a little more interesting. But, we have done very little and are pretty restricted to what we can actually do. But we still have three more pieces of the requirement to implement (found in a pencil-written footnote): 41 | 42 | When account name changes... 43 | - account should be saved to the database. 44 | - should email the account owner notifying of the change 45 | - should log the change 46 | 47 | How can we do all that from inside a POCO domain entity? Well, the answer is that you can't (or shouldn't). BUT, what you CAN do is send out a signal to the rest of the domain that the name has changed and allow the domain to respond to the signal. 48 | 49 | So, consider the same POCO, now equipped with BlingBag: 50 | 51 | ```csharp 52 | public class Account 53 | { 54 | public string Name { get; private set; } 55 | public long Id { get; set; } 56 | public string EmailAddress { get; set; } 57 | 58 | public event Blinger NotifyObservers; 59 | 60 | public void ChangeName(string newName) 61 | { 62 | var oldName = Name; 63 | Name = newName; 64 | NotifyObservers(new TheNameChanged(this, oldName, newName)); 65 | } 66 | } 67 | ``` 68 | 69 | ## Behavior-Rich Domain Model - Blingin! 70 | That's more like it! Now, our domain entity has behavior that expresses the requirements of the business. At this point, any number of event handlers (observers) can respond to the TheNameChanged "event". To fulfill our client's requirements, here are some possible event handlers: 71 | 72 | * UpdateTheAccountInTheDatabaseAfterNameChange 73 | * EmailAccountOwnerAfterNameChange 74 | * LogThatAccountNameWasChanged 75 | 76 | For more information on how to install, implement or use BlingBag, [check out the wiki](BlingBag/wiki/home). 77 | 78 | For sample code, check out the [sample app in the source code](https://github.com/bsommardahl/BlingBag/tree/master/src/BlingBag.SampleConsoleApp). -------------------------------------------------------------------------------- /src/BlingBag.SampleConsoleApp/BlingBag.SampleConsoleApp.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | x86 6 | 8.0.30703 7 | 2.0 8 | {8F0C85B3-A583-4851-AE74-C84EA7B22979} 9 | Exe 10 | Properties 11 | BlingBag.SampleConsoleApp 12 | BlingBag.SampleConsoleApp 13 | v4.5 14 | 15 | 16 | 512 17 | 18 | 19 | x86 20 | true 21 | full 22 | false 23 | bin\Debug\ 24 | DEBUG;TRACE 25 | prompt 26 | 4 27 | false 28 | 29 | 30 | x86 31 | pdbonly 32 | true 33 | bin\Release\ 34 | TRACE 35 | prompt 36 | 4 37 | false 38 | 39 | 40 | 41 | False 42 | ..\..\lib\structuremap.2.6.4.1\lib\net40\StructureMap.dll 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68} 72 | BlingBag 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 88 | -------------------------------------------------------------------------------- /src/BlingBag.Specs/BlingBag.Specs.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {11813EB6-C1E1-4475-8D72-E82305625703} 9 | Library 10 | Properties 11 | BlingBag.Specs 12 | BlingBag.Specs 13 | v4.5 14 | 512 15 | 16 | 17 | 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | false 26 | 27 | 28 | pdbonly 29 | true 30 | bin\Release\ 31 | TRACE 32 | prompt 33 | 4 34 | false 35 | 36 | 37 | 38 | False 39 | ..\..\lib\Machine.Specifications.0.7.0\lib\net45\Machine.Specifications.dll 40 | 41 | 42 | False 43 | ..\..\lib\Machine.Specifications.0.7.0\lib\net45\Machine.Specifications.Clr4.dll 44 | 45 | 46 | ..\..\lib\Machine.Specifications.Should.0.7.2\lib\net45\Machine.Specifications.Should.dll 47 | 48 | 49 | False 50 | ..\..\lib\Moq.4.2.1507.0118\lib\net40\Moq.dll 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | {3706AACA-DFF6-470B-BAEC-FFCA79DCEE68} 81 | BlingBag 82 | 83 | 84 | 85 | 92 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.7.0/tools/history.txt: -------------------------------------------------------------------------------- 1 | Machine.Specifications 0.7.0 2 | ----------------------------- 3 | - Machine.Specifications.Should has been moved to seperate repository and nuget. 4 | 5 | Machine.Specifications 0.6.2 6 | ----------------------------- 7 | - Enable support for internal specs 8 | - Enable support for private nested specs 9 | 10 | Machine.Specifications 0.6.1 11 | ----------------------------- 12 | - Nuget package adds proper references for .NET 4.0 and 4.5 13 | - Nuget package excludes sources 14 | 15 | Machine.Specifications 0.6.0 16 | ----------------------------- 17 | - Should Extension Methods are moved into own assembly which simplifies things for people using other assertion libraries. 18 | - DelegateUsageAttribute is deprecated and will be remove in next version use new *DelegateAttribute types for custom delegates 19 | - Dropped support for Gallio 20 | - Resharper 8.1 support 21 | - DotCover 2.6 support 22 | 23 | Machine.Specifications 0.5.18 24 | ----------------------------- 25 | - The zip package looks just like the NuGet package, minus NuGet-specific files 26 | 27 | Machine.Specifications 0.5.17 28 | ----------------------------- 29 | - This version was accidentally released as the signed version only. It is equal 30 | to 0.5.16 unsigned. 31 | 32 | Machine.Specifications 0.5.16 33 | ----------------------------- 34 | - Capturing standard out, standard error and trace streams in ReSharper 8 35 | (7 does this for us) and the console runners. Output is added to the test result 36 | XML/HTML. (#158) 37 | - Some fixes for behaviors in ReSharper (#155) 38 | 39 | Machine.Specifications 0.5.15 40 | ----------------------------- 41 | Fixed an issue with running two spec assemblies: When the first one fails and 42 | the second one succeeds mspec.exe reported success. I needed to introduce a 43 | breaking change in the runner, so older versions are not compatible with 0.5.15. 44 | Update your ReSharper runners when upgrading to 0.5.15! 45 | 46 | Machine.Specifications 0.5.14 47 | ----------------------------- 48 | - Closed #146: MSpec doesn't fail when Machine.Specifications cannot be found for 49 | a spec assembly. Can be useful if you want to target mspec.exe to a NUnit 50 | assembly, which is now a no-op. 51 | - Closed #151: Fixed MSpec slowness with ReSharper 8. 52 | 53 | Machine.Specifications 0.5.12 54 | ----------------------------- 55 | - ReSharper 8 support 56 | - dotCover 2.5 support by Alexander Mikhailov 57 | - Documented --filters parameter for mspec.exe by Pieter Germishuys 58 | - Fix for TeamCity integration by James Crowley 59 | 60 | Machine.Specifications 0.5.11 61 | ----------------------------- 62 | 63 | - Console output (mspec.exe) is now colored by default. You can disable colored 64 | output with the --no-color switch 65 | - Added progress output for the console runner (--progress switch) 66 | - The console runner now prints a list of failed specifications at the end of 67 | the test run (for silent, progress and verbose reporting options) 68 | - Support for custom delegates (i.e. you can replace Establish, Because, It, 69 | Cleanup, Behaves_like) with your own versions as long as the delegate signatures 70 | match. Please note that this currently only supported for console and 71 | TestDriven.Net runners. ReSharper won't find your context/specs if you use 72 | custom delegates. See Machine.Specifications.Example.CustomDelegates for an 73 | example. -- Thanks Jonathan Dickinson! 74 | - Fixed an issue with the ReSharper runner and generic Behaviors like 75 | Behaves_like> a_blah_blah; 76 | - Improved double-click navigation for behavior specifications in ReSharper 77 | - Dropped support for ReSharper 6.0 78 | - Fixed bug #17 which caused ReSharper to run IAssemblyContexts for each 79 | specification in an assembly (now the behavior is the same as with the console 80 | runner - running them once per assembly) 81 | - Matt Ellis contributed code that allows you to filter for "unit test usages" 82 | in ReSharper -- thank you! 83 | 84 | Machine.Specifications 0.5.10 85 | ----------------------------- 86 | 87 | - ReSharper 7.1 support 88 | - Various fixes for ReSharper: 89 | - Retrieving Subject from outer class 90 | - Context sort order 91 | - Unimplemented specs are being reported as inconclusive 92 | 93 | Machine.Specifications 0.5.9 94 | ---------------------------- 95 | 96 | - Removed ReSharper runners for ReSharper 4.1, 4.5 and 5.0 97 | - Added runner for dotCover 2.1 98 | - Updated runner for Gallio 3.4 99 | 100 | Machine.Specifications 0.5.8 101 | ---------------------------- 102 | 103 | - ReSharper 7.0 runner for RTM 104 | The installer batches now copy the plugin to a folder that's shared between 105 | Visual Studio versions, i.e. install for both VS 2010 and VS 2012 at the same 106 | time 107 | - Some fixes for ReSharper not picking up TagsAttribute correctly 108 | - New extension method `ShouldBeLike` to test multiple object properties at once 109 | using an anonymous object. 110 | Might be useful for DTOs, we have some samples here: http://bit.ly/Op7tmP 111 | 112 | Machine.Specifications 0.5.7 113 | ---------------------------- 114 | 115 | - Updated ReSharper 7.0 EAP runner (it's the same as in the prerelease 116 | packages) 117 | - Added a new runner for dotCover 2.0 EAP 118 | - Added a new command line switch, --no-teamcity-autodetect, to disable 119 | TeamCity autodetection in certain scenarios (http://bit.ly/KrOqIh) 120 | - Added code snippets for VS to the repository (http://bit.ly/KrOrMi) 121 | 122 | Machine.Specifications 0.5.6 123 | ---------------------------- 124 | 125 | - Fixes for the ReSharper runner: 126 | Our internal unit test data structures caused the runner to silently break on 127 | renames. Corrected contexts with [Tags("foo")]; besides "foo", they also got the 128 | ReSharper category of "object". 129 | 130 | - New ShouldMatch extension method allowing for custom assertions with a 131 | Func. Thanks Tomas Ekeli! 132 | 133 | Machine.Specifications 0.5.5 134 | ---------------------------- 135 | 136 | - For CLR4 projects, there are new extension methods in the M.S.Clr4 assembly 137 | that should make testing Task easier. Thanks Albert Weinert! 138 | 139 | - Updated Gallio Adapter, works against Gallio 3.3.454. Thanks Niels Hanberg! 140 | 141 | - ReSharper 6.1 templates for MSpec's delegates - see Misc\*.DotSettings in the 142 | repository. I wrote a blog post some time ago how to use them, 143 | http://bit.ly/xRZf2s 144 | Thanks @sksbrg! 145 | 146 | - Runner for the current ReSharper 7.0 EAP for VS 11 147 | Thanks Alexander Zeitler! 148 | 149 | - Updated result supplementer for Selenium WebDriver. An example: 150 | http://bit.ly/A48A2I 151 | 152 | - Made AssertComparer public, it should be easier to write custom Should* 153 | extension methods now. 154 | -------------------------------------------------------------------------------- /lib/Machine.Specifications.0.9.3/tools/history.txt: -------------------------------------------------------------------------------- 1 | Machine.Specifications 0.9.3 2 | ----------------------------- 3 | - Fixed #170: Exceptions in Cleanup are now reported by failing the test. Previously these exceptions were swallowed. 4 | 5 | Machine.Specifications 0.9.2 6 | ----------------------------- 7 | - Fixed #278 broken shadow copy 8 | 9 | Machine.Specifications 0.9.1 10 | ----------------------------- 11 | - Fixed #255 to re-enable capture output feature. 12 | 13 | Machine.Specifications 0.9.0 14 | ----------------------------- 15 | - Split out of ReSharper, dotCover and TDNet integration 16 | - Split out console runner and reporting 17 | - Version independent running of specs 18 | 19 | Machine.Specifications 0.8.3 20 | ----------------------------- 21 | - AppVeyor support for mspec.exe with --appveyor, 22 | uses AutoDetection by default by inspecting the APPVEYOR_API_URL environment variable, 23 | detection can be disabled with --no-appveyor-autodetect 24 | - Resharper Extension Gallery support for 8.0/8.1/8.2 and dotCover 2.6/2.7 25 | Make sure you uninstall all previously Machine.Specifications plugins before installing the plugin 26 | 27 | Machine.Specifications 0.8.2 28 | ----------------------------- 29 | - Fixes specs not being loaded into Resharper 30 | - Fixes specs only temporarily shown when base class has tags attribute 31 | 32 | Machine.Specifications 0.8.1 33 | ----------------------------- 34 | - Support subject attribute on derived and base class in Resharper Runner 35 | 36 | Machine.Specifications 0.8.0 37 | ----------------------------- 38 | - Resharper 8.2 support 39 | - dotCover 2.7 support 40 | - dotCover 2.0 to 2.2 support dropped 41 | - Resharper 6.0 to 7.0 support dropped 42 | 43 | Machine.Specifications 0.7.0 44 | ----------------------------- 45 | - Machine.Specifications.Should has been moved to seperate repository and nuget. 46 | 47 | Machine.Specifications 0.6.2 48 | ----------------------------- 49 | - Enable support for internal specs 50 | - Enable support for private nested specs 51 | 52 | Machine.Specifications 0.6.1 53 | ----------------------------- 54 | - Nuget package adds proper references for .NET 4.0 and 4.5 55 | - Nuget package excludes sources 56 | 57 | Machine.Specifications 0.6.0 58 | ----------------------------- 59 | - Should Extension Methods are moved into own assembly which simplifies things for people using other assertion libraries. 60 | - DelegateUsageAttribute is deprecated and will be remove in next version use new *DelegateAttribute types for custom delegates 61 | - Dropped support for Gallio 62 | - Resharper 8.1 support 63 | - DotCover 2.6 support 64 | 65 | Machine.Specifications 0.5.18 66 | ----------------------------- 67 | - The zip package looks just like the NuGet package, minus NuGet-specific files 68 | 69 | Machine.Specifications 0.5.17 70 | ----------------------------- 71 | - This version was accidentally released as the signed version only. It is equal 72 | to 0.5.16 unsigned. 73 | 74 | Machine.Specifications 0.5.16 75 | ----------------------------- 76 | - Capturing standard out, standard error and trace streams in ReSharper 8 77 | (7 does this for us) and the console runners. Output is added to the test result 78 | XML/HTML. (#158) 79 | - Some fixes for behaviors in ReSharper (#155) 80 | 81 | Machine.Specifications 0.5.15 82 | ----------------------------- 83 | Fixed an issue with running two spec assemblies: When the first one fails and 84 | the second one succeeds mspec.exe reported success. I needed to introduce a 85 | breaking change in the runner, so older versions are not compatible with 0.5.15. 86 | Update your ReSharper runners when upgrading to 0.5.15! 87 | 88 | Machine.Specifications 0.5.14 89 | ----------------------------- 90 | - Closed #146: MSpec doesn't fail when Machine.Specifications cannot be found for 91 | a spec assembly. Can be useful if you want to target mspec.exe to a NUnit 92 | assembly, which is now a no-op. 93 | - Closed #151: Fixed MSpec slowness with ReSharper 8. 94 | 95 | Machine.Specifications 0.5.12 96 | ----------------------------- 97 | - ReSharper 8 support 98 | - dotCover 2.5 support by Alexander Mikhailov 99 | - Documented --filters parameter for mspec.exe by Pieter Germishuys 100 | - Fix for TeamCity integration by James Crowley 101 | 102 | Machine.Specifications 0.5.11 103 | ----------------------------- 104 | 105 | - Console output (mspec.exe) is now colored by default. You can disable colored 106 | output with the --no-color switch 107 | - Added progress output for the console runner (--progress switch) 108 | - The console runner now prints a list of failed specifications at the end of 109 | the test run (for silent, progress and verbose reporting options) 110 | - Support for custom delegates (i.e. you can replace Establish, Because, It, 111 | Cleanup, Behaves_like) with your own versions as long as the delegate signatures 112 | match. Please note that this currently only supported for console and 113 | TestDriven.Net runners. ReSharper won't find your context/specs if you use 114 | custom delegates. See Machine.Specifications.Example.CustomDelegates for an 115 | example. -- Thanks Jonathan Dickinson! 116 | - Fixed an issue with the ReSharper runner and generic Behaviors like 117 | Behaves_like> a_blah_blah; 118 | - Improved double-click navigation for behavior specifications in ReSharper 119 | - Dropped support for ReSharper 6.0 120 | - Fixed bug #17 which caused ReSharper to run IAssemblyContexts for each 121 | specification in an assembly (now the behavior is the same as with the console 122 | runner - running them once per assembly) 123 | - Matt Ellis contributed code that allows you to filter for "unit test usages" 124 | in ReSharper -- thank you! 125 | 126 | Machine.Specifications 0.5.10 127 | ----------------------------- 128 | 129 | - ReSharper 7.1 support 130 | - Various fixes for ReSharper: 131 | - Retrieving Subject from outer class 132 | - Context sort order 133 | - Unimplemented specs are being reported as inconclusive 134 | 135 | Machine.Specifications 0.5.9 136 | ---------------------------- 137 | 138 | - Removed ReSharper runners for ReSharper 4.1, 4.5 and 5.0 139 | - Added runner for dotCover 2.1 140 | - Updated runner for Gallio 3.4 141 | 142 | Machine.Specifications 0.5.8 143 | ---------------------------- 144 | 145 | - ReSharper 7.0 runner for RTM 146 | The installer batches now copy the plugin to a folder that's shared between 147 | Visual Studio versions, i.e. install for both VS 2010 and VS 2012 at the same 148 | time 149 | - Some fixes for ReSharper not picking up TagsAttribute correctly 150 | - New extension method `ShouldBeLike` to test multiple object properties at once 151 | using an anonymous object. 152 | Might be useful for DTOs, we have some samples here: http://bit.ly/Op7tmP 153 | 154 | Machine.Specifications 0.5.7 155 | ---------------------------- 156 | 157 | - Updated ReSharper 7.0 EAP runner (it's the same as in the prerelease 158 | packages) 159 | - Added a new runner for dotCover 2.0 EAP 160 | - Added a new command line switch, --no-teamcity-autodetect, to disable 161 | TeamCity autodetection in certain scenarios (http://bit.ly/KrOqIh) 162 | - Added code snippets for VS to the repository (http://bit.ly/KrOrMi) 163 | 164 | Machine.Specifications 0.5.6 165 | ---------------------------- 166 | 167 | - Fixes for the ReSharper runner: 168 | Our internal unit test data structures caused the runner to silently break on 169 | renames. Corrected contexts with [Tags("foo")]; besides "foo", they also got the 170 | ReSharper category of "object". 171 | 172 | - New ShouldMatch extension method allowing for custom assertions with a 173 | Func. Thanks Tomas Ekeli! 174 | 175 | Machine.Specifications 0.5.5 176 | ---------------------------- 177 | 178 | - For CLR4 projects, there are new extension methods in the M.S.Clr4 assembly 179 | that should make testing Task easier. Thanks Albert Weinert! 180 | 181 | - Updated Gallio Adapter, works against Gallio 3.3.454. Thanks Niels Hanberg! 182 | 183 | - ReSharper 6.1 templates for MSpec's delegates - see Misc\*.DotSettings in the 184 | repository. I wrote a blog post some time ago how to use them, 185 | http://bit.ly/xRZf2s 186 | Thanks @sksbrg! 187 | 188 | - Runner for the current ReSharper 7.0 EAP for VS 11 189 | Thanks Alexander Zeitler! 190 | 191 | - Updated result supplementer for Selenium WebDriver. An example: 192 | http://bit.ly/A48A2I 193 | 194 | - Made AssertComparer public, it should be easier to write custom Should* 195 | extension methods now. 196 | -------------------------------------------------------------------------------- /lib/NHibernate.3.3.1.4000/nhibernate-configuration.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -- This schema was automatically generated by Syntext Dtd2Schema and changed for NH use -- 5 | -- conversion tool (from file: hibernate-configuration-3.0.dtd) -- 6 | -- Copyright (C) 2002, 2003 Syntext Inc. See http://www.syntext.com for updates. -- 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | There are 3 default short-cut values 17 | - lcg : default for .NET2.0 and higher. 18 | - codedom : CodeDOM-based bytecode provider (mostly for .NET1.1). 19 | - null : Disable the reflection optimization completely. 20 | In addition you can specify the AssemblyQualifiedName of your custom bytecode-provider (implementation of IBytecodeProvider). 21 | Note: the bytecode-provider will be tooks in account only when specified in the app.config or web.config. 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | There are 3 possible combinations of mapping attributes 57 | 1 - resource & assembly: NHibernate will read the mapping resource from the specified assembly 58 | 2 - file only: NHibernate will read the mapping from the file. 59 | 3 - assembly only: NHibernate will find all the resources ending in hbm.xml from the assembly. 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | --------------------------------------------------------------------------------