public void TestGCSubfolderFiles() { var subfolderCache = new CacheFileSystem(root, IONull.That, null); var path = Path.Combine(root, "foo/bar.zip"); Directory.CreateDirectory(Path.Combine(root, "foo")); File.WriteAllText(path, zero); Assert.AreEqual(zero, subfolderCache.Read("foo/bar.zip").ToText()); var file = new FileInfo(path); file.LastAccessTime = DateTime.Now.AddSeconds(-1000); cache.GC(600, 1024 * 1024 * 1024); Assert.AreEqual(false, subfolderCache.Contains("foo/bar.zip")); }
public void TestWrite() { cache.Write("foo", "foo"); Assert.AreEqual("foo", cache.Read("foo").ToText()); }
public static void LoadCache(CacheFileSystem fileSystem, ExtendedFrameworkVersion frameworkVersion) { if (assemblyCache.ContainsKey(frameworkVersion)) assemblyCache[frameworkVersion].Clear(); else assemblyCache.Add(frameworkVersion, new List<string>()); string fileName = GetFileName(frameworkVersion); Stream stream = fileSystem.Read(fileName); if (stream == null) return; using (BinaryReader reader = new BinaryReader(stream)) { bool hasAssemblyCache = reader.ReadBoolean(); if (hasAssemblyCache) assemblyCache[frameworkVersion].AddRange(ReadStrings(reader)); namespaceCache.Clear(); namespaceCache.AddRange(ReadStrings(reader)); } }