public void Unchanged_log_file_is_not_added_to_existing_zip___just_deleted() { // This file... // CreateLogFile(new DateTime(2008, 9, 3), "The content A"); // ...is now in this zip-file: CreateArchiveFile(new DateTime(2008, 9, 3), "UEsDBBQAAAAIAAAAIzmvQCjGEgAAABAAAAAaAAAAMjAwODA5MDMtTXlBcHAtTXlMb2cuTXlF" + "eHR7v3t/SEaqQnJ+XklqXomCIwBQSwMEFAAAAAgAAAAjORURIV8SAAAAEAAAABwAAAAyMDA4" + "MDkwMy1NeUFwcC1NeUxvZy5NeUV4dC4xe797f0hGqkJyfl5Jal6JghMAUEsBAjMAFAAAAAgAA" + "AAjOa9AKMYSAAAAEAAAABoAAAAAAAAAAAAAAAAAAAAAADIwMDgwOTAzLU15QXBwLU15TG9nL" + "k15RXh0UEsBAjMAFAAAAAgAAAAjORURIV8SAAAAEAAAABwAAAAAAAAAAAAAAAAASgAAADIwMD" + "gwOTAzLU15QXBwLU15TG9nLk15RXh0LjFQSwUGAAAAAAIAAgCSAAAAlgAAAAAA"); // ...but then /this/ file suddenly appeared CreateLogFile(new DateTime(2008, 9, 3), "The content B", ".1"); _trigger.Trig(); _fileSystem.AssertFileList( LOG_DIR + "Archived_20080903.zip"); _fileSystem.GetFileAccessInfo(LOG_DIR + "Archived_20080903.zip").Writes.ShouldBe(0); _fileSystem.GetFile(LOG_DIR + "Archived_20080903.zip").ContentAsBase64 .ShouldBe("UEsDBBQAAAAIAAAAIzmvQCjGEgAAABAAAAAaAAAAMjAwODA5MDMtTXlBcHAtTXlMb2cuTXlF" + "eHR7v3t/SEaqQnJ+XklqXomCIwBQSwMEFAAAAAgAAAAjORURIV8SAAAAEAAAABwAAAAyMDA4" + "MDkwMy1NeUFwcC1NeUxvZy5NeUV4dC4xe797f0hGqkJyfl5Jal6JghMAUEsBAjMAFAAAAAgAA" + "AAjOa9AKMYSAAAAEAAAABoAAAAAAAAAAAAAAAAAAAAAADIwMDgwOTAzLU15QXBwLU15TG9nL" + "k15RXh0UEsBAjMAFAAAAAgAAAAjORURIV8SAAAAEAAAABwAAAAAAAAAAAAAAAAASgAAADIwMD" + "gwOTAzLU15QXBwLU15TG9nLk15RXh0LjFQSwUGAAAAAAIAAgCSAAAAlgAAAAAA"); }
public void Read_SeveralTimes_VerifyReload() { var fileSystem = new FakeFileSystem(DateTimeProvider.Singleton); var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "settings.xml"); IFakeFile settingsFile = fileSystem.SetFileFromUtf8String(path, ExpectedSettingsFile1); DateTime currentTime = new DateTime(2016, 1, 1, 12, 0, 0); var dateTimeProviderMock = new Mock <IDateTimeProvider>(); dateTimeProviderMock .Setup(x => x.Time()) .Returns(() => currentTime); var settingsInternal = new SettingsInternal(fileSystem, dateTimeProviderMock.Object); var value = settingsInternal.GetSetting("key"); // should cause reload currentTime = currentTime.AddSeconds(32); value = settingsInternal.GetSetting("key"); currentTime = currentTime.AddSeconds(32); // should cause reload value = settingsInternal.GetSetting("key"); FileAccessInfo fileAccessInfo = fileSystem.GetFileAccessInfo(path); Assert.That(fileAccessInfo.Reads, Is.EqualTo(2)); Assert.That(fileAccessInfo.Writes, Is.EqualTo(0)); }