Exemplo n.º 1
0
        static IBlockCompressor SetupBlockCompressor(
            ProducerConsumer <IByteChunk> readerToProcessorsChain,
            IBlockCompressorUowOutputFactory outputFactory)
        {
            var blockCompressorUowFactory = new BlockCompressorUowFactory(readerToProcessorsChain,
                                                                          outputFactory,
                                                                          new GzipStream());
            var starter = new BlockCompressorStarter(new ThreadingImpl(),
                                                     blockCompressorUowFactory);

            return(new BlockCompressor(CompressThreadsCount, starter));
        }
        public void BlockCompressorStraterShouldWorkAsExpected()
        {
            // Arrange
            var compressAction = new Action(() => { });
            var uow            = MockRepository.GenerateMock <IBlockCompressorUow>();

            uow.Expect(t => t.CompressAction(JobType.Compress)).Repeat.Once().Return(compressAction);
            var uowFactory = MockRepository.GenerateMock <IBlockCompressorUowFactory>();

            uowFactory.Expect(t => t.Create()).Repeat.Once().Return(uow);
            var threading = MockRepository.GenerateMock <IThreading>();

            threading.Expect(t => t.ThreadStart(compressAction)).Repeat.Once();

            var starter = new BlockCompressorStarter(threading, uowFactory);

            // Act
            starter.StartCompress(JobType.Compress);

            // Assert
            threading.VerifyAllExpectations();
            uowFactory.VerifyAllExpectations();
            uow.VerifyAllExpectations();
        }