public async Task Verifies_that_processing_saves_files_to_disk()
        {
            using (var tmpFolder = new TempFolder())
            {
                //Arragne
                DateTimeProvider.GetNow().Returns(23.June(2013).At(23, 0, 0));
                var sut = CreateSut(tmpFolder.Path);

                //Act
                sut.Add("msg1");
                await sut.WaitFor(s => s.IsQueueEmpty);

                //Assert
                var expectedFileName = Path.Combine(tmpFolder.Path, @"20130623\msg1.log");
                File.Exists(expectedFileName).Should().BeTrue();
            }
        }
        public async Task Verifies_that_next_folder_is_created_after_midnight_is_crossed()
        {
            using (var tmpFolder = new TempFolder())
            {
                //Arragne
                DateTimeProvider.GetNow().Returns(23.June(2013).At(23, 59, 59),
                                                  24.June(2013).At(0, 0, 1));
                var sut = CreateSut(tmpFolder.Path);

                //Act
                sut.Add("msg1");
                sut.Add("msg2");
                await sut.WaitFor(s => s.IsQueueEmpty);

                //Assert
                var expectedFileName1 = Path.Combine(tmpFolder.Path, @"20130623\msg1.log");
                var expectedFileName2 = Path.Combine(tmpFolder.Path, @"20130624\msg2.log");
                File.Exists(expectedFileName1).Should().BeTrue();
                File.Exists(expectedFileName2).Should().BeTrue();
            }
        }