//TODO That is not ready to be used with some IoC container like Castle or Unity
        public AsyncMessagePersister(IMessageWriterFactory factory, IMessageFactory messageFactory, IDateFactory dateFactory)
        {
            this.messageWriterFactory = factory;
            this.dateFactory          = dateFactory;
            this.messageFactory       = messageFactory;
            this.writer = CreateMessageWriter(factory);

            if (this.writer != null)
            {
                this.runThread = new Thread(this.Processing);
                this.runThread.Start();
            }
            else
            {
                //TODO instead of Console.Writeline it could be some other persister like log4net log
                Console.WriteLine("Cannot initialize Async Log!");
            }
        }
        private static IMessageWriter ConfigureStubsAndMocksForAsyncLog(out IMessagePersister persister,
                                                                        string testString,
                                                                        DateTime logTimeStamp,
                                                                        IDateFactory dateFactory,
                                                                        out IMessageWriterFactory mockMessageWriterFactory,
                                                                        int expecteNumberOfTimesCreateToCall)
        {
            mockMessageWriterFactory = MockRepository.GenerateMock <IMessageWriterFactory>();
            IMessageWriter  mockWriter         = MockRepository.GenerateMock <IMessageWriter>();
            IMessageFactory stubMessageFactory = MockRepository.GenerateStub <IMessageFactory>();
            IMessage        stubMessage        = MockRepository.GenerateStub <IMessage>();

            stubMessage.Stub(x => x.FormatMessage()).Return(testString);
            stubMessage.Timestamp = logTimeStamp;
            stubMessageFactory.Stub(x => x.GetMessage(Arg <string> .Is.Anything, Arg <DateTime> .Is.Anything))
            .Return(stubMessage);
            mockMessageWriterFactory.Expect(x => x.Create()).Return(mockWriter).Repeat.Times(expecteNumberOfTimesCreateToCall);
            persister = new AsyncMessagePersister(mockMessageWriterFactory, stubMessageFactory, dateFactory);
            return(mockWriter);
        }
Example #3
0
 public UpdatePcsSubmissionWindowSettingsHandler(IDateFactory dateFactory, IConfigurationManagerWrapper configurationManagerWrapper)
 {
     this.dateFactory = dateFactory;
     this.configurationManagerWrapper = configurationManagerWrapper;
 }