/// <summary>
        /// Creates a mockup of the domain object builder.
        /// </summary>
        /// <returns>Mockup of the domain object builder.</returns>
        private IDomainObjectBuilder CreateDomainObjectBuilder(IEnumerable <Brevhoved> letterHeadCollection = null)
        {
            IDomainObjectBuilder domainObjectBuilderMock = MockRepository.GenerateMock <IDomainObjectBuilder>();

            domainObjectBuilderMock.Stub(m => m.BuildMany <BrevhovedView, Brevhoved>(Arg <IEnumerable <BrevhovedView> > .Is.Anything))
            .Return(letterHeadCollection ?? _fixture.CreateMany <Brevhoved>(_random.Next(3, 7)).ToList())
            .Repeat.Any();
            return(domainObjectBuilderMock);
        }
        /// <summary>
        /// Danner repository til fælles elementer i domænet.
        /// </summary>
        /// <param name="channelFactory">Implementering af en ChannelFactory.</param>
        /// <param name="mySqlDataProvider">Implementering af data provider til MySql.</param>
        /// <param name="domainObjectBuilder">Implementering af domæneobjekt bygger.</param>
        public FællesRepository(IChannelFactory channelFactory, IMySqlDataProvider mySqlDataProvider, IDomainObjectBuilder domainObjectBuilder)
        {
            ArgumentNullGuard.NotNull(channelFactory, nameof(channelFactory))
            .NotNull(mySqlDataProvider, nameof(mySqlDataProvider))
            .NotNull(domainObjectBuilder, nameof(domainObjectBuilder));

            _channelFactory      = channelFactory;
            _mySqlDataProvider   = mySqlDataProvider;
            _domainObjectBuilder = domainObjectBuilder;
        }
Esempio n. 3
0
 /// <summary>
 /// Danner repository til adressekartoteket.
 /// </summary>
 /// <param name="channelFactory">Implementering af en ChannelFactory.</param>
 /// <param name="domainObjectBuilder">Implementering af domæneobjekt bygger.</param>
 public AdresseRepository(IChannelFactory channelFactory, IDomainObjectBuilder domainObjectBuilder)
 {
     if (channelFactory == null)
     {
         throw new ArgumentNullException("channelFactory");
     }
     if (domainObjectBuilder == null)
     {
         throw new ArgumentNullException("domainObjectBuilder");
     }
     _channelFactory      = channelFactory;
     _domainObjectBuilder = domainObjectBuilder;
 }
        public void TestAtBrevhovedGetAllHenterAlleBrevhoveder()
        {
            IEnumerable <BrevhovedView> letterHeadViewCollection = _fixture.CreateMany <BrevhovedView>(_random.Next(3, 7)).ToList();
            IChannelFactory             channelFactory           = CreateChannelFactory(letterHeadViewCollection);

            IEnumerable <Brevhoved> letterHeadCollection = _fixture.CreateMany <Brevhoved>(letterHeadViewCollection.Count()).ToList();
            IDomainObjectBuilder    domainObjectBuilder  = CreateDomainObjectBuilder(letterHeadCollection);

            IFællesRepository sut = new FællesRepository(channelFactory, CreateMySqlDataProvider(), domainObjectBuilder);

            Assert.That(sut, Is.Not.Null);

            IEnumerable <Brevhoved> letterheads = sut.BrevhovedGetAll();

            // ReSharper disable PossibleMultipleEnumeration
            Assert.That(letterheads, Is.Not.Null);
            Assert.That(letterheads, Is.Not.Empty);
            Assert.That(letterheads.Count(), Is.EqualTo(letterHeadCollection.Count()));
            Assert.That(letterheads, Is.EqualTo(letterHeadCollection));
            // ReSharper restore PossibleMultipleEnumeration

            channelFactory.AssertWasCalled(m => m.CreateChannel <IFællesRepositoryService>(Arg <string> .Is.Anything), opt => opt.Repeat.Once());
            domainObjectBuilder.AssertWasCalled(m => m.BuildMany <BrevhovedView, Brevhoved>(Arg <IEnumerable <BrevhovedView> > .Is.Equal(letterHeadViewCollection)), opt => opt.Repeat.Once());
        }