main
1using MbUnit.Framework;
2using Rhino.Mocks;
3
4namespace Spec.Dox.Test
5{
6 [TestFixture]
7 public abstract class context_spec
8 {
9 [SetUp]
10 public void SetUp()
11 {
12 UnderTheseConditions();
13 BecauseOf();
14 }
15
16 [TearDown]
17 public virtual void Cleanup() {}
18
19 protected abstract void UnderTheseConditions();
20
21 protected abstract void BecauseOf();
22
23 protected TypeToMock Mock<TypeToMock>() where TypeToMock : class
24 {
25 return MockRepository.GenerateMock<TypeToMock>();
26 }
27
28 protected TypeToMock Stub<TypeToMock>() where TypeToMock : class
29 {
30 return MockRepository.GenerateStub<TypeToMock>();
31 }
32 }
33
34 [TestFixture]
35 public abstract class context_spec<SystemUnderTest>
36 {
37 [SetUp]
38 public void SetUp()
39 {
40 sut = EstablishContext();
41 Because();
42 }
43
44 [TearDown]
45 public virtual void Cleanup() {}
46
47 protected abstract SystemUnderTest EstablishContext();
48
49 protected abstract void Because();
50
51 protected TypeToMock Dependency<TypeToMock>() where TypeToMock : class
52 {
53 return MockRepository.GenerateMock<TypeToMock>();
54 }
55
56 protected TypeToMock Stub<TypeToMock>() where TypeToMock : class
57 {
58 return MockRepository.GenerateStub<TypeToMock>();
59 }
60
61 protected SystemUnderTest sut { get; private set; }
62 }
63}