master
 1using System.Collections.Generic;
 2using MbUnit.Framework;
 3using Notepad.Domain.Repositories;
 4using Notepad.Infrastructure.Container;
 5using Rhino.Mocks;
 6
 7namespace Notepad.DataAccess.Repositories {
 8    public class DefaultRepositorySpecs {}
 9
10    [TestFixture]
11    public class when_retrieving_all_the_items_from_the_default_repository {
12        private MockRepository mockery;
13        private IDependencyRegistry registry;
14
15        [SetUp]
16        public void SetUp() {
17            mockery = new MockRepository();
18            registry = mockery.DynamicMock<IDependencyRegistry>();
19        }
20
21        [Test]
22        public void should_leverage_the_resolver_to_retrieve_all_the_implementations() {
23            var intsToReturn = new List<int>();
24
25            using (mockery.Record()) {
26                Expect
27                    .Call(registry.AllImplementationsOf<int>())
28                    .Return(intsToReturn)
29                    .Repeat
30                    .AtLeastOnce();
31            }
32
33            using (mockery.Playback()) {
34                CreateSUT().All();
35            }
36        }
37
38        private IRepository<int> CreateSUT() {
39            return new DefaultRepository<int>(registry);
40        }
41    }
42}