public void ReadFrom_Correctly_Reads_Data_From_Input_Stream() { var buffer = new ArrayBuffer(bufferSize); byte[] streamData = GenerateData(5); var stream = A.Fake<IInputStream>(); A.CallTo(() => stream.Receive(A<byte[]>._, A<int>._, A<int>._)).Invokes(foc => { var buffer1 = foc.GetArgument<byte[]>(0); int offset = foc.GetArgument<int>(1); int count = foc.GetArgument<int>(2); Array.Copy(streamData, 0, buffer1, offset, streamData.Length); }).Returns(streamData.Length); int readed = buffer.ReadFrom(stream); Assert.That(readed, Is.EqualTo(streamData.Length)); Assert.That(buffer.Length, Is.EqualTo(streamData.Length)); VerifyBufferData(buffer, streamData, 0, streamData.Length); }