public async Task MultipleWrittenValuesCanBeRead() { var storage = new MemoryDataCache(); var shas = new Dictionary <string, string>(); foreach (var value in TestValues.SelectMany(x => x).Cast <string>()) { var sha = await storage.Store(async stream => { var bytes = Encoding.UTF8.GetBytes(value); await stream.WriteAsync(bytes, 0, bytes.Length); }); shas[value] = sha; } foreach (var value in shas.Keys) { using (var stream = await storage.Open(shas[value])) using (var reader = new StreamReader(stream, Encoding.UTF8)) { var read = await reader.ReadToEndAsync(); read.ShouldBe(value); } } }
public async Task UnknownShaThrows() { var storage = new MemoryDataCache(); var exception = await Assert.ThrowsAsync <FileNotFoundException>(async() => { await storage.Open("unknown"); }); exception.FileName.ShouldBe("unknown"); }
public async Task WrittenValuesCanBeRead(string value) { var storage = new MemoryDataCache(); var sha = await storage.Store(async stream => { var bytes = Encoding.UTF8.GetBytes(value); await stream.WriteAsync(bytes, 0, bytes.Length); }); using (var stream = await storage.Open(sha)) using (var reader = new StreamReader(stream, Encoding.UTF8)) { var read = await reader.ReadToEndAsync(); read.ShouldBe(value); } }
public void Construct() { var storage = new MemoryDataCache(); storage.ShouldNotBeNull(); }