public async Task ReadAsync_SmallDataSingleRead_Success() { // Arrange var data = Encoding.UTF8.GetBytes("Hello world"); var ms = new MemoryStream(Encoding.UTF8.GetBytes(Convert.ToBase64String(data))); var base64Stream = new Base64ResponseStream(ms); // Act var buffer = new byte[1024]; var read = await base64Stream.ReadAsync(buffer); // Assert Assert.AreEqual(read, data.Length); CollectionAssert.AreEqual(data, data.AsSpan(0, read).ToArray()); }
public async Task ReadAsync_VariableReadSize_Success(string message, int readSize) { // Arrange var data = Encoding.UTF8.GetBytes(message); var ms = new MemoryStream(Encoding.UTF8.GetBytes(Convert.ToBase64String(data))); var base64Stream = new Base64ResponseStream(ms); // Act var allData = new List <byte>(); var buffer = new byte[readSize]; int read; while ((read = await base64Stream.ReadAsync(buffer)) > 0) { allData.AddRange(buffer.AsSpan(0, read).ToArray()); } var readData = allData.ToArray(); // Assert CollectionAssert.AreEqual(data, readData); }