master
1using MbUnit.Framework;
2using Notepad.Infrastructure.Container;
3using Rhino.Mocks;
4
5namespace Notepad.Infrastructure.Logging {
6 public class LogSpecs {}
7
8 [TestFixture]
9 public class when_creating_a_logger_for_a_particular_type_ {
10 private MockRepository mockery;
11 private ILogFactory factory;
12
13 [SetUp]
14 public void SetUp() {
15 mockery = new MockRepository();
16 factory = mockery.DynamicMock<ILogFactory>();
17
18 var resolver = mockery.DynamicMock<IDependencyRegistry>();
19 SetupResult.For(resolver.FindAnImplementationOf<ILogFactory>()).Return(factory);
20
21 Resolve.InitializeWith(resolver);
22 }
23
24 [Test]
25 public void should_leverage_the_log_factory_to_create_a_logger_for_the_given_type() {
26 var logger = mockery.DynamicMock<ILogger>();
27 using (mockery.Record()) {
28 Expect
29 .Call(factory.CreateFor(GetType()))
30 .Return(logger)
31 .Repeat
32 .AtLeastOnce();
33 }
34
35 using (mockery.Playback()) {
36 Log.For(this);
37 }
38 }
39 }
40}