summaryrefslogtreecommitdiff
path: root/src/specs
diff options
context:
space:
mode:
Diffstat (limited to 'src/specs')
-rwxr-xr-xsrc/specs/Mock.cs7
-rwxr-xr-xsrc/specs/RoboMomSpecs.cs2
-rwxr-xr-xsrc/specs/infrastructure/EventAggregatorSpec.cs12
3 files changed, 18 insertions, 3 deletions
diff --git a/src/specs/Mock.cs b/src/specs/Mock.cs
index 6712e45..5ecdae2 100755
--- a/src/specs/Mock.cs
+++ b/src/specs/Mock.cs
@@ -5,7 +5,7 @@ namespace specs
{
public static class Mock
{
- public static T An<T>() where T : class
+ public static T an<T>() where T : class
{
return MockRepository.GenerateMock<T>();
}
@@ -14,5 +14,10 @@ namespace specs
{
mock.AssertWasCalled(command);
}
+
+ public static void should_not_have_received<T>(this T mock, Action<T> command)
+ {
+ mock.AssertWasNotCalled(command);
+ }
}
} \ No newline at end of file
diff --git a/src/specs/RoboMomSpecs.cs b/src/specs/RoboMomSpecs.cs
index f388923..69034d6 100755
--- a/src/specs/RoboMomSpecs.cs
+++ b/src/specs/RoboMomSpecs.cs
@@ -9,7 +9,7 @@ namespace specs
{
Establish context = () =>
{
- publisher = Mock.An<IPublishEvents>();
+ publisher = Mock.an<IPublishEvents>();
sut = new RoboMom(publisher);
};
diff --git a/src/specs/infrastructure/EventAggregatorSpec.cs b/src/specs/infrastructure/EventAggregatorSpec.cs
index 4d6be1b..f6b0ccb 100755
--- a/src/specs/infrastructure/EventAggregatorSpec.cs
+++ b/src/specs/infrastructure/EventAggregatorSpec.cs
@@ -1,5 +1,7 @@
+using System.Data;
using Machine.Specifications;
using core.infrastructure;
+using Rhino.Mocks;
namespace specs.infrastructure
{
@@ -19,18 +21,26 @@ namespace specs.infrastructure
subscriber.received(x => x.notify("hello"));
};
+ It should_not_notify_subscribers_who_are_not_interested_in_that_particular_event = () =>
+ {
+ uninterested_subscriber.should_not_have_received(x => x.notify(Arg<IDbCommand>.Is.Anything));
+ };
+
Establish context = () =>
{
- subscriber = Mock.An<ISubscribeTo<string>>();
+ subscriber = Mock.an<ISubscribeTo<string>>();
+ uninterested_subscriber = Mock.an<ISubscribeTo<IDbCommand>>();
};
Because of = () =>
{
+ sut.register(uninterested_subscriber);
sut.register(subscriber);
sut.publish("hello");
};
static ISubscribeTo<string> subscriber;
+ static ISubscribeTo<IDbCommand> uninterested_subscriber;
}
}
} \ No newline at end of file