Commit c827d73

mokhan <mokhan@ce5e1baf-6525-42e4-a1b2-857ea38da20a>
2009-02-23 21:14:19
converting specs.
git-svn-id: https://svn.xp-dev.com/svn/mokhan-mo.money@3 ce5e1baf-6525-42e4-a1b2-857ea38da20a
1 parent 268572f
Changed files (67)
trunk
src
MyMoney
DataAccess
Domain
Infrastructure
Presentation
Testing
Utility
trunk/src/MyMoney/DataAccess/db40/spiking/db40_spike_specs.cs
@@ -1,67 +1,51 @@
 using System.Collections.Generic;
 using System.IO;
 using Db4objects.Db4o;
+using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 using MyMoney.Utility.Extensions;
 
 namespace MyMoney.DataAccess.db40.spiking
 {
-    public class db40_spike_specs
-    {}
-
-    [Concern(typeof(Db4oFactory))]
-    public class when_opening_an_existing_database_ : context_specification
+    [Concern(typeof (Db4oFactory))]
+    public class when_opening_an_existing_database_ : concerns_for
     {
-        public override void before_each_observation()
-        {
-            the_database_file = Path.GetTempFileName();
-            database = Db4oFactory.OpenFile(the_database_file);
-            base.before_each_observation();
-        }
+        before_each_observation be = () => { };
 
-        protected override void context()
-        {
-            original = new TestObject(88, "mo");
-            database.Store(original);
-        }
+        context c = () =>
+                        {
+                            original = new TestObject(88, "mo");
+                                             the_database_file = Path.GetTempFileName();
+                                             database = Db4oFactory.OpenFile(the_database_file);
+                        };
 
-        protected override void because()
-        {
-            database.Close();
-            database.Dispose();
-            database = Db4oFactory.OpenFile(the_database_file);
-            results = database.Query<ITestObject>().databind();
-        }
+        because b = () =>
+                        {
+                            database.Store(original);
+                            database.Close();
+                            database.Dispose();
+                            database = Db4oFactory.OpenFile(the_database_file);
+                            results = database.Query<ITestObject>().databind();
+                        };
 
-        [Observation]
-        public void it_should_be_able_to_load_the_original_contents()
-        {
-            results.should_contain(original);
-        }
+        it should_be_able_to_load_the_original_contents = () => results.should_contain(original);
 
-        [Observation]
-        public void they_should_be_equal()
-        {
-            new TestObject(99, "gretzky").Equals(new TestObject(99, "gretzky"));
-        }
+        it they_should_be_equal = () => new TestObject(99, "gretzky").Equals(new TestObject(99, "gretzky"));
 
-        [Observation]
-        public void it_should_only_contain_the_original_item()
-        {
-            results.Count.should_be_equal_to(1);
-        }
+        it should_only_contain_the_original_item = () => results.Count.should_be_equal_to(1);
 
-        public override void after_each_observation()
-        {
-            database.Close();
-            database.Dispose();
-        }
+        after_each_observation ae = () =>
+                                        {
+                                            database.Close();
+                                            database.Dispose();
+                                        };
 
-        private ITestObject original;
-        private string the_database_file;
-        private IList<ITestObject> results;
-        private IObjectContainer database;
+        static ITestObject original;
+        static string the_database_file;
+        static IList<ITestObject> results;
+        static IObjectContainer database;
     }
 
     public interface ITestObject
@@ -98,7 +82,8 @@ namespace MyMoney.DataAccess.db40.spiking
 
         public override int GetHashCode()
         {
-            unchecked {
+            unchecked
+            {
                 return (Id*397) ^ (Name != null ? Name.GetHashCode() : 0);
             }
         }
trunk/src/MyMoney/DataAccess/db40/db4o_repository_specs.cs
@@ -4,6 +4,7 @@ using jpboodhoo.bdd.contexts;
 using MyMoney.Domain.Core;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.DataAccess.db40
 {
trunk/src/MyMoney/DataAccess/db40/session_factory_specs.cs
@@ -3,6 +3,7 @@ using jpboodhoo.bdd.contexts;
 using MyMoney.Presentation.Model.Projects;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.DataAccess.db40
 {
trunk/src/MyMoney/DataAccess/repositories/bill_repository_specs.cs
@@ -1,38 +1,24 @@
 using System.Collections.Generic;
+using jpboodhoo.bdd.contexts;
 using MyMoney.Domain.accounting.billing;
-using MyMoney.Domain.Core;
 using MyMoney.Testing.Extensions;
-using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.DataAccess.repositories
 {
-    public class bill_repository_specs
+    public class when_loading_all_the_bills_from_the_repository : behaves_like_a_repository
     {
-    }
-
-    [Concern(typeof (IRepository))]
-    public class when_loading_all_the_bills_from_the_repository : database_context_spec
-    {
-        [Observation]
-        public void it_should_return_all_the_bills_in_the_database()
-        {
-            results.should_contain(first_bill);
-        }
+        it should_return_all_the_bills_in_the_database = () => results.should_contain(first_bill);
 
-        protected override IRepository context()
-        {
-            var repository = base.context();
-            first_bill = an<IBill>();
-            repository.save(first_bill);
-            return repository;
-        }
+        context c = () => { first_bill = an<IBill>(); };
 
-        protected override void because()
-        {
-            results = sut.all<IBill>();
-        }
+        because b = () =>
+                        {
+                            sut.save(first_bill);
+                            results = sut.all<IBill>();
+                        };
 
-        private IEnumerable<IBill> results;
-        private IBill first_bill;
+        static IEnumerable<IBill> results;
+        static IBill first_bill;
     }
 }
\ No newline at end of file
trunk/src/MyMoney/Domain/accounting/billing/bill_specs.cs
@@ -2,6 +2,7 @@ using System;
 using MyMoney.Domain.Core;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Domain.accounting.billing
 {
trunk/src/MyMoney/Domain/accounting/billing/company_specs.cs
@@ -3,6 +3,7 @@ using MyMoney.Domain.accounting.financial_growth;
 using MyMoney.Domain.Core;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Domain.accounting.billing
 {
trunk/src/MyMoney/Domain/accounting/account_holder_specs.cs
@@ -5,6 +5,7 @@ using MyMoney.Domain.accounting.financial_growth;
 using MyMoney.Domain.Core;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Domain.accounting
 {
trunk/src/MyMoney/Domain/accounting/GeneralLedgerSpecs.cs
@@ -4,6 +4,7 @@ using MyMoney.Domain.accounting.billing;
 using MyMoney.Domain.Core;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Domain.accounting
 {
trunk/src/MyMoney/Domain/Core/date_specs.cs
@@ -1,5 +1,6 @@
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Domain.Core
 {
trunk/src/MyMoney/Domain/Core/money_extensions_specs.cs
@@ -1,5 +1,6 @@
 using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Domain.Core
 {
trunk/src/MyMoney/Domain/Core/money_specs.cs
@@ -1,5 +1,6 @@
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Domain.Core
 {
trunk/src/MyMoney/Domain/Core/range_specs.cs
@@ -1,5 +1,6 @@
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Domain.Core
 {
trunk/src/MyMoney/Infrastructure/Container/Windsor/windsor_dependency_registry_specs.cs
@@ -2,6 +2,7 @@ using Castle.Core;
 using Castle.Windsor;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Infrastructure.Container.Windsor
 {
trunk/src/MyMoney/Infrastructure/Container/ResolveSpecs.cs
@@ -4,6 +4,7 @@ using MyMoney.Presentation.Core;
 using MyMoney.Testing;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Infrastructure.Container
 {
trunk/src/MyMoney/Infrastructure/interceptors/lazy_specs.cs
@@ -2,6 +2,7 @@ using jpboodhoo.bdd.contexts;
 using MyMoney.Infrastructure.Container;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Infrastructure.interceptors
 {
trunk/src/MyMoney/Infrastructure/Logging/LogSpecs.cs
@@ -2,6 +2,7 @@ using jpboodhoo.bdd.contexts;
 using MyMoney.Infrastructure.Container;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Infrastructure.Logging
 {
trunk/src/MyMoney/Infrastructure/registries/default_registry_specs.cs
@@ -4,6 +4,7 @@ using MyMoney.Domain.Core;
 using MyMoney.Infrastructure.Container;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Infrastructure.registries
 {
trunk/src/MyMoney/Infrastructure/Threading/background_thread_factory_specs.cs
@@ -2,6 +2,7 @@ using jpboodhoo.bdd.contexts;
 using MyMoney.Infrastructure.Container;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 using MyMoney.Utility.Core;
 
 namespace MyMoney.Infrastructure.Threading
trunk/src/MyMoney/Infrastructure/Threading/background_thread_specs.cs
@@ -1,6 +1,7 @@
 using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 using MyMoney.Utility.Core;
 using Rhino.Mocks;
 
trunk/src/MyMoney/Infrastructure/Threading/command_processor_specs.cs
@@ -1,6 +1,7 @@
 using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 using MyMoney.Utility.Core;
 
 namespace MyMoney.Infrastructure.Threading
trunk/src/MyMoney/Infrastructure/Threading/interval_timer_specs.cs
@@ -3,6 +3,7 @@ using System.Timers;
 using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 using Rhino.Mocks;
 
 namespace MyMoney.Infrastructure.Threading
trunk/src/MyMoney/Infrastructure/Threading/timer_factory_specs.cs
@@ -3,6 +3,7 @@ using System.Timers;
 using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Infrastructure.Threading
 {
trunk/src/MyMoney/Infrastructure/transactions/unit_of_work_registry_specs.cs
@@ -2,6 +2,7 @@ using jpboodhoo.bdd.contexts;
 using MyMoney.Domain.Core;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Infrastructure.transactions
 {
trunk/src/MyMoney/Infrastructure/transactions/unit_of_work_specs.cs
@@ -1,6 +1,7 @@
 using MyMoney.Domain.Core;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Infrastructure.transactions
 {
trunk/src/MyMoney/Presentation/Context/the_application_context_specs.cs
@@ -5,6 +5,7 @@ using MyMoney.Presentation.Presenters.Commands;
 using MyMoney.Presentation.Views.Shell;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 using Rhino.Mocks;
 
 namespace MyMoney.Presentation.Context
trunk/src/MyMoney/Presentation/Core/application_controller_specs.cs
@@ -5,6 +5,7 @@ using MyMoney.Presentation.Views.core;
 using MyMoney.Presentation.Views.Shell;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Core
 {
trunk/src/MyMoney/Presentation/Databindings/binding_selector_specs.cs
@@ -2,6 +2,7 @@ using System;
 using System.Linq.Expressions;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Databindings
 {
trunk/src/MyMoney/Presentation/Databindings/ComboBoxDataBindingSpecs.cs
@@ -2,6 +2,7 @@ using System.Windows.Forms;
 using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Databindings
 {
trunk/src/MyMoney/Presentation/Databindings/date_time_property_binding_specs.cs
@@ -3,6 +3,7 @@ using System.Windows.Forms;
 using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Databindings
 {
trunk/src/MyMoney/Presentation/Databindings/property_binder_specs.cs
@@ -2,6 +2,7 @@ using System.Reflection;
 using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Databindings
 {
trunk/src/MyMoney/Presentation/Databindings/property_inspector_specs.cs
@@ -2,6 +2,7 @@ using System.Reflection;
 using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Databindings
 {
trunk/src/MyMoney/Presentation/Databindings/TextBoxDataBindingSpecs.cs
@@ -2,6 +2,7 @@ using System.Windows.Forms;
 using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Databindings
 {
trunk/src/MyMoney/Presentation/Model/Menu/File/Commands/exit_command_specs.cs
@@ -4,6 +4,7 @@ using MyMoney.Infrastructure.System;
 using MyMoney.Presentation.Model.messages;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Model.Menu.File.Commands
 {
trunk/src/MyMoney/Presentation/Model/Menu/File/Commands/new_command_specs.cs
@@ -3,6 +3,7 @@ using MyMoney.Presentation.Model.Projects;
 using MyMoney.Presentation.Presenters.Commands;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Model.Menu.File.Commands
 {
trunk/src/MyMoney/Presentation/Model/Menu/File/Commands/open_command_specs.cs
@@ -4,6 +4,7 @@ using MyMoney.Presentation.Presenters.Commands;
 using MyMoney.Presentation.Views.dialogs;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Model.Menu.File.Commands
 {
trunk/src/MyMoney/Presentation/Model/Menu/File/Commands/save_as_command_specs.cs
@@ -3,6 +3,7 @@ using MyMoney.Presentation.Model.Projects;
 using MyMoney.Presentation.Views.dialogs;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Model.Menu.File.Commands
 {
trunk/src/MyMoney/Presentation/Model/Menu/File/Commands/save_command_specs.cs
@@ -2,6 +2,7 @@ using jpboodhoo.bdd.contexts;
 using MyMoney.Presentation.Model.Projects;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Model.Menu.File.Commands
 {
trunk/src/MyMoney/Presentation/Model/Navigation/navigation_tree_visitor_specs.cs
@@ -3,6 +3,7 @@ using jpboodhoo.bdd.contexts;
 using MyMoney.Infrastructure.Container;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Model.Navigation
 {
trunk/src/MyMoney/Presentation/Model/Navigation/tree_branch_specs.cs
@@ -2,6 +2,7 @@ using System.Windows.Forms;
 using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 using MyMoney.Utility.Core;
 using Rhino.Mocks;
 
trunk/src/MyMoney/Presentation/Model/Projects/current_project_specs.cs
@@ -5,6 +5,7 @@ using MyMoney.Infrastructure.eventing;
 using MyMoney.Testing;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Model.Projects
 {
trunk/src/MyMoney/Presentation/Model/reporting/report_binding_extensions_specs.cs
@@ -3,6 +3,7 @@ using DataDynamics.ActiveReports;
 using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Model.reporting
 {
trunk/src/MyMoney/Presentation/Presenters/Commands/run_the_specs.cs
@@ -2,6 +2,7 @@ using jpboodhoo.bdd.contexts;
 using MyMoney.Presentation.Core;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Presenters.Commands
 {
trunk/src/MyMoney/Presentation/Presenters/income/add_new_income_presenter_specs.cs
@@ -8,6 +8,7 @@ using MyMoney.Presentation.Views.income;
 using MyMoney.Tasks.application;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Presenters.income
 {
trunk/src/MyMoney/Presentation/Presenters/Menu/Help/about_the_application_presenter_specs.cs
@@ -2,6 +2,7 @@ using jpboodhoo.bdd.contexts;
 using MyMoney.Presentation.Views.Menu.Help;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Presenters.Menu.Help
 {
trunk/src/MyMoney/Presentation/Presenters/Menu/main_menu_presenter_specs.cs
@@ -3,6 +3,7 @@ using MyMoney.Presentation.Model.Menu;
 using MyMoney.Presentation.Views.Menu;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Presenters.Menu
 {
trunk/src/MyMoney/Presentation/Presenters/Navigation/navigation_presenter_specs.cs
@@ -3,6 +3,7 @@ using MyMoney.Presentation.Model.Navigation;
 using MyMoney.Presentation.Views.Navigation;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Presenters.Navigation
 {
trunk/src/MyMoney/Presentation/Presenters/Shell/load_application_shell_specs.cs
@@ -4,6 +4,7 @@ using MyMoney.Presentation.Presenters.Commands;
 using MyMoney.Presentation.Views.Shell;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Presenters.Shell
 {
trunk/src/MyMoney/Presentation/Presenters/Shell/notification_icon_presenter_specs.cs
@@ -4,6 +4,7 @@ using MyMoney.Presentation.Resources;
 using MyMoney.Presentation.Views.Shell;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Presenters.Shell
 {
trunk/src/MyMoney/Presentation/Presenters/Shell/status_bar_presenter_specs.cs
@@ -3,6 +3,7 @@ using MyMoney.Presentation.Resources;
 using MyMoney.Presentation.Views.Shell;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Presenters.Shell
 {
trunk/src/MyMoney/Presentation/Presenters/Shell/title_bar_presenter_specs.cs
@@ -5,6 +5,7 @@ using MyMoney.Presentation.Model.Projects;
 using MyMoney.Presentation.Views.Shell;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Presenters.Shell
 {
trunk/src/MyMoney/Presentation/Presenters/Startup/splash_screen_presenter_specs.cs
@@ -4,6 +4,7 @@ using MyMoney.Infrastructure.Threading;
 using MyMoney.Presentation.Views.Startup;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Presenters.Startup
 {
trunk/src/MyMoney/Presentation/Presenters/add_company_presenter_specs.cs
@@ -4,6 +4,7 @@ using MyMoney.Presentation.Views;
 using MyMoney.Tasks.application;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Presenters
 {
trunk/src/MyMoney/Presentation/Views/Menu/main_menu_view_specs.cs
@@ -4,6 +4,7 @@ using MyMoney.Presentation.Views.Menu.Mappers;
 using MyMoney.Presentation.Views.Shell;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Presentation.Views.Menu
 {
trunk/src/MyMoney/Testing/Extensions/context_specification.cs
@@ -1,48 +0,0 @@
-using MbUnit.Framework;
-using MyMoney.Domain.Core;
-using MyMoney.Testing.MetaData;
-using Rhino.Mocks;
-
-namespace MyMoney.Testing.Extensions
-{
-    [Observations]
-    public abstract class context_specification
-    {
-        [SetUp]
-        public virtual void before_each_observation()
-        {
-            context();
-            initialize_the_sut();
-            because();
-        }
-
-        [TearDown]
-        public virtual void after_each_observation()
-        {
-            Clock.reset();
-        }
-
-        protected abstract void context();
-
-        protected virtual void initialize_the_sut()
-        {
-        }
-
-        protected abstract void because();
-
-        protected TypeToMock the_dependency<TypeToMock>() where TypeToMock : class
-        {
-            return MockRepository.GenerateMock<TypeToMock>();
-        }
-
-        protected TypeToMock an<TypeToMock>() where TypeToMock : class
-        {
-            return MockRepository.GenerateMock<TypeToMock>();
-        }
-
-        protected T when_the<T>(T item)
-        {
-            return item;
-        }
-    }
-}
\ No newline at end of file
trunk/src/MyMoney/Testing/Extensions/database_context_spec.cs
@@ -1,15 +0,0 @@
-using MyMoney.Domain.Core;
-using MyMoney.Infrastructure.Container;
-using MyMoney.Testing.MetaData;
-
-namespace MyMoney.Testing.Extensions
-{
-    [run_in_real_container]
-    public abstract class database_context_spec : old_context_specification<IRepository>
-    {
-        protected override IRepository context()
-        {
-            return resolve.dependency_for<IRepository>();
-        }
-    }
-}
\ No newline at end of file
trunk/src/MyMoney/Testing/spechelpers/contexts/behaves_like_a_repository.cs
@@ -0,0 +1,16 @@
+using MyMoney.Domain.Core;
+using MyMoney.Infrastructure.Container;
+using MyMoney.Testing.MetaData;
+
+namespace MyMoney.Testing.spechelpers.contexts
+{
+    [run_in_real_container]
+    [Concern(typeof (IRepository))]
+    public abstract class behaves_like_a_repository : concerns_for<IRepository>
+    {
+        public override IRepository create_sut()
+        {
+            return resolve.dependency_for<IRepository>();
+        }
+    }
+}
\ No newline at end of file
trunk/src/MyMoney/Testing/Extensions/concerns_for.cs → trunk/src/MyMoney/Testing/spechelpers/contexts/concerns_for.cs
@@ -1,7 +1,8 @@
 using jpboodhoo.bdd.mbunit.standard.observations;
+using MyMoney.Testing.Extensions;
 using Rhino.Mocks;
 
-namespace MyMoney.Testing.Extensions
+namespace MyMoney.Testing.spechelpers.contexts
 {
     public abstract class concerns_for<Contract> : observations_for_a_sut_without_a_contract<Contract>,
                                                    IHideObjectMembers
trunk/src/MyMoney/Testing/spechelpers/contexts/context_specification.cs
@@ -0,0 +1,48 @@
+using MbUnit.Framework;
+using MyMoney.Domain.Core;
+using MyMoney.Testing.MetaData;
+using Rhino.Mocks;
+
+namespace MyMoney.Testing.spechelpers.contexts
+{
+    //[Observations]
+    //public abstract class context_specification
+    //{
+    //    [SetUp]
+    //    public virtual void before_each_observation()
+    //    {
+    //        context();
+    //        initialize_the_sut();
+    //        because();
+    //    }
+
+    //    [TearDown]
+    //    public virtual void after_each_observation()
+    //    {
+    //        Clock.reset();
+    //    }
+
+    //    protected abstract void context();
+
+    //    protected virtual void initialize_the_sut()
+    //    {
+    //    }
+
+    //    protected abstract void because();
+
+    //    protected TypeToMock the_dependency<TypeToMock>() where TypeToMock : class
+    //    {
+    //        return MockRepository.GenerateMock<TypeToMock>();
+    //    }
+
+    //    protected TypeToMock an<TypeToMock>() where TypeToMock : class
+    //    {
+    //        return MockRepository.GenerateMock<TypeToMock>();
+    //    }
+
+    //    protected T when_the<T>(T item)
+    //    {
+    //        return item;
+    //    }
+    //}
+}
\ No newline at end of file
trunk/src/MyMoney/Testing/Extensions/old_context_specification.cs → trunk/src/MyMoney/Testing/spechelpers/contexts/old_context_specification.cs
@@ -2,7 +2,7 @@ using MbUnit.Framework;
 using MyMoney.Testing.MetaData;
 using Rhino.Mocks;
 
-namespace MyMoney.Testing.Extensions
+namespace MyMoney.Testing.spechelpers.contexts
 {
     [Observations]
     public abstract class old_context_specification<SystemUnderTest>
trunk/src/MyMoney/Testing/Extensions/assertion_extensions.cs → trunk/src/MyMoney/Testing/spechelpers/core/assertion_extensions.cs
File renamed without changes
trunk/src/MyMoney/Testing/spechelpers/core/BDDAssertions.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
 using System.Linq;
 using MbUnit.Framework;
 
-namespace MyMoney.Testing.spechelpers
+namespace MyMoney.Testing.spechelpers.core
 {
     public static class BDDAssertions
     {
trunk/src/MyMoney/Testing/Extensions/IHideObjectMembers.cs → trunk/src/MyMoney/Testing/spechelpers/core/IHideObjectMembers.cs
File renamed without changes
trunk/src/MyMoney/Testing/Extensions/method_call_occurance.cs → trunk/src/MyMoney/Testing/spechelpers/core/method_call_occurance.cs
File renamed without changes
trunk/src/MyMoney/Testing/Extensions/mocking_extensions.cs → trunk/src/MyMoney/Testing/spechelpers/core/mocking_extensions.cs
File renamed without changes
trunk/src/MyMoney/Utility/Extensions/mapping_extensions_specs.cs
@@ -1,6 +1,7 @@
 using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
 using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 using MyMoney.Utility.Core;
 
 namespace MyMoney.Utility.Extensions
trunk/src/MyMoney/Utility/Extensions/numeric_conversions_specs.cs
@@ -1,49 +1,30 @@
 using jpboodhoo.bdd.contexts;
 using MyMoney.Testing.Extensions;
-using MyMoney.Testing.MetaData;
+using MyMoney.Testing.spechelpers.contexts;
 
 namespace MyMoney.Utility.Extensions
 {
     public class when_converting_a_valid_string_to_a_long : concerns_for
     {
-        it should_return_the_correct_result = () =>
-        {
-            result.should_be_equal_to(88L);
-        };
-
-        context c = () =>
-                {
-                    valid_numeric_string = "88";
-                };
-
-        because b = () =>
-                {
-                    result = valid_numeric_string.to_long();
-                };
-
-        private static long result;
-        private static string valid_numeric_string;
+        it should_return_the_correct_result = () => result.should_be_equal_to(88L);
+
+        context c = () => { valid_numeric_string = "88"; };
+
+        because b = () => { result = valid_numeric_string.to_long(); };
+
+        static long result;
+        static string valid_numeric_string;
     }
 
-    public class when_converting_a_valid_string_to_an_int : context_specification
+    public class when_converting_a_valid_string_to_an_int : concerns_for
     {
-        [Observation]
-        public void it_should_return_the_correct_result()
-        {
-            result.should_be_equal_to(66);
-        }
-
-        protected override void context()
-        {
-            valid_numeric_string = "66";
-        }
-
-        protected override void because()
-        {
-            result = valid_numeric_string.to_int();
-        }
-
-        private int result;
-        private string valid_numeric_string;
+        it should_return_the_correct_result = () => result.should_be_equal_to(66);
+
+        context c = () => { valid_numeric_string = "66"; };
+
+        because b = () => { result = valid_numeric_string.to_int(); };
+
+        static int result;
+        static string valid_numeric_string;
     }
 }
\ No newline at end of file
trunk/src/MyMoney/MyMoney.csproj
@@ -394,14 +394,14 @@
     <Compile Include="Tasks\application\customer_tasks.cs" />
     <Compile Include="Tasks\application\file_system_tasks.cs" />
     <Compile Include="Tasks\application\income_tasks.cs" />
-    <Compile Include="Testing\Extensions\concerns_for.cs" />
-    <Compile Include="Testing\Extensions\context_specification.cs" />
-    <Compile Include="Testing\Extensions\database_context_spec.cs" />
-    <Compile Include="Testing\Extensions\IHideObjectMembers.cs" />
+    <Compile Include="Testing\spechelpers\contexts\concerns_for.cs" />
+    <Compile Include="Testing\spechelpers\contexts\context_specification.cs" />
+    <Compile Include="Testing\spechelpers\contexts\behaves_like_a_repository.cs" />
+    <Compile Include="Testing\spechelpers\core\IHideObjectMembers.cs" />
     <Compile Include="Testing\MetaData\Observation.cs" />
     <Compile Include="Testing\MetaData\Observations.cs" />
-    <Compile Include="Testing\Extensions\old_context_specification.cs" />
-    <Compile Include="Testing\Extensions\method_call_occurance.cs" />
+    <Compile Include="Testing\spechelpers\contexts\old_context_specification.cs" />
+    <Compile Include="Testing\spechelpers\core\method_call_occurance.cs" />
     <Compile Include="Testing\MetaData\run_in_real_container.cs" />
     <Compile Include="Testing\spechelpers\core\BDDAssertions.cs" />
     <Compile Include="Utility\Core\chained_mapper.cs" />
@@ -585,8 +585,8 @@
       <DesignTimeSharedInput>True</DesignTimeSharedInput>
     </Compile>
     <Compile Include="Testing\Call.cs" />
-    <Compile Include="Testing\Extensions\assertion_extensions.cs" />
-    <Compile Include="Testing\Extensions\mocking_extensions.cs" />
+    <Compile Include="Testing\spechelpers\core\assertion_extensions.cs" />
+    <Compile Include="Testing\spechelpers\core\mocking_extensions.cs" />
     <Compile Include="Testing\MetaData\ConcernAttribute.cs" />
     <Compile Include="windows.ui\start_the_application.cs" />
     <Compile Include="windows.ui\wire_up_the_container.cs" />
@@ -602,8 +602,8 @@
     <Folder Include="Presentation\Presenters\messages\" />
     <Folder Include="Tasks\domain\" />
     <Folder Include="Tasks\Stubs\" />
+    <Folder Include="Testing\Extensions\" />
     <Folder Include="Testing\spechelpers\concerns\" />
-    <Folder Include="Testing\spechelpers\contexts\" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.