public void RemembersAbsentXmlAfterFirstRead() { var mem = new CachedByteContents(new RamContents(), 1024); mem.Xml("a/b/c.xml", () => new XDocument(new XElement("elem", "content"))); Assert.Equal( "<elem>content</elem>", mem.Xml("a/b/c.xml", () => new XDocument()).ToString() ); }
public void DoesNotCacheBytes() { var mem = new ConcurrentDictionary <string, byte[]>(); var cached = new CachedByteContents(new RamContents(mem), 1024); cached.Bytes("a/b/c.dat", () => new byte[0]).ToString(); byte[] unused; mem.TryRemove("a/b/c.dat", out unused); Assert.Throws <ApplicationException>(() => cached.Xml("a/b/c.dat", () => throw new ApplicationException()).ToString() ); }