public void FilesAreCreatedInCorrectSubfolders() { _sut.GetArchive("a"); _sut.GetArchive("b/b"); _sut.GetArchive("c/c/c"); _sut.GetArchive("d/d/d/d"); _sut.Dispose(); Assert.True(Directory.Exists(_root)); Assert.True(File.Exists(Path.Combine(_root, "a/.zipfolder"))); Assert.True(File.Exists(Path.Combine(_root, "b/b/.zipfolder"))); Assert.True(File.Exists(Path.Combine(_root, "c/c/c/.zipfolder"))); Assert.True(File.Exists(Path.Combine(_root, "d/d/d/d/.zipfolder"))); }
public void ExistingFilesAreNotOverwritten() { _sut.Dispose(); Directory.CreateDirectory(Path.Combine(_root, "a")); var metaFile = Path.Combine(_root, @"a\.zipfolder"); var zip0 = Path.Combine(_root, @"a\0.zip"); var zip1 = Path.Combine(_root, @"a\1.zip"); // setup fake data from previous run File.WriteAllText(metaFile, "test"); using (var testZip = new WritingArchive(zip0)) { testZip.Add("test"); } // new initialization _sut = new ZipFolderLRUCache <string>(_root, 2); var a = _sut.GetArchive("a"); a.Add("x"); _sut.Dispose(); Assert.True(File.Exists(metaFile)); Assert.True(File.Exists(zip0)); Assert.True(File.Exists(zip1)); Assert.AreEqual("test", File.ReadAllText(metaFile)); AssertZipContent(zip0, "test"); AssertZipContent(zip1, "x"); }
public void ComplexKeysArePossibleThoughNotRecommended() { var sut = new ZipFolderLRUCache <List <string> >(_root, 2); var key = new List <string> { "a", "b" }; sut.GetArchive(key); sut.Dispose(); var metaFile = Path.Combine(_root, "[a,b]\\.zipfolder"); var actual = File.ReadAllText(metaFile); var expected = key.ToFormattedJson(); Assert.AreEqual(expected, actual); }
public void CloseCache() { _cache.Dispose(); }