public void ReadBytesAsync_in_write_only_mode() { using (JsonStreamMock jsonStream = new JsonStreamMock(new MemoryStream(), Modes.WriteOnly)) { ForbiddenOperationException exception = Assert.ThrowsException <ForbiddenOperationException>(() => { jsonStream.ReadBytesAsync().GetAwaiter().GetResult(); }); Assert.AreEqual("Can't read in WriteOnly mode.", exception.Message); } }
public void ReadBytesAsync_using_optimized_constructor() { using (JsonStreamMock jsonStream = new JsonStreamMock(Modes.ReadAndWrite, GetTestFileName())) { ForbiddenOperationException exception = Assert.ThrowsException <ForbiddenOperationException>(() => { jsonStream.ReadBytesAsync().GetAwaiter().GetResult(); }); Assert.AreEqual("Do not call any async method when using optimized constructor.", exception.Message); } }
public void WriteBytesAsync_using_optimized_constructor() { using (File.Create(GetTestFileName())) { } using (IJsonStream jsonStream = new JsonStream(Modes.ReadAndWrite, GetTestFileName())) { byte[] bytes = null; ForbiddenOperationException ex = Assert.ThrowsException <ForbiddenOperationException>(() => { jsonStream.WriteBytesAsync(bytes, false).GetAwaiter().GetResult(); }); Assert.AreEqual("Do not call any async method when using optimized constructor.", ex.Message); } }
public void ReadBytes_using_WriteOnly_mode() { Stream stream = new MemoryStream(); ForbiddenOperationException exception = Assert.ThrowsException <ForbiddenOperationException>(() => { using (IJsonStream jsonStream = new JsonStream(stream, Modes.WriteOnly)) { byte[] bytes = jsonStream.ReadBytes(); } }); Assert.AreEqual("Can't read in WriteOnly mode.", exception.Message); }
public void WriteBytesAsync_using_ReadOnly_mode() { Stream stream = new MemoryStream(); using (IJsonStream jsonStream = new JsonStream(stream, Modes.ReadOnly)) { byte[] bytes = null; ForbiddenOperationException ex = Assert.ThrowsException <ForbiddenOperationException>(() => { jsonStream.WriteBytesAsync(bytes, false).GetAwaiter().GetResult(); }); Assert.AreEqual("Can't write in ReadOnly mode.", ex.Message); } }