예제 #1
0
 /// <exception cref="System.Exception"></exception>
 private void AssertReadWriteString(IoAdapter adapter, string str)
 {
     byte[] data = Sharpen.Runtime.GetBytesForString(str);
     byte[] read = new byte[2048];
     adapter.Seek(0);
     adapter.Write(data);
     adapter.Seek(0);
     adapter.Read(read);
     Assert.AreEqual(str, Sharpen.Runtime.GetStringForBytes(read, 0, data.Length));
 }
예제 #2
0
        /// <exception cref="System.Exception"></exception>
        private void AssertReadWriteAheadFileEnd(IoAdapter adapter, string str)
        {
            var data = Runtime.GetBytesForString(str);
            var read = new byte[2048];

            adapter.Seek(10);
            var readBytes = adapter.Read(data);

            Assert.AreEqual(-1, readBytes);
            Assert.AreEqual(0, adapter.GetLength());
            adapter.Seek(0);
            readBytes = adapter.Read(data);
            Assert.AreEqual(-1, readBytes);
            Assert.AreEqual(0, adapter.GetLength());
            adapter.Seek(10);
            adapter.Write(data);
            Assert.AreEqual(10 + data.Length, adapter.GetLength());
            adapter.Seek(0);
            readBytes = adapter.Read(read);
            Assert.AreEqual(10 + data.Length, readBytes);
            adapter.Seek(20 + data.Length);
            readBytes = adapter.Read(read);
            Assert.AreEqual(-1, readBytes);
            adapter.Seek(1024 + data.Length);
            readBytes = adapter.Read(read);
            Assert.AreEqual(-1, readBytes);
            adapter.Seek(1200);
            adapter.Write(data);
            adapter.Seek(0);
            readBytes = adapter.Read(read);
            Assert.AreEqual(1200 + data.Length, readBytes);
        }
예제 #3
0
 public virtual void Replay(IoAdapter adapter)
 {
     adapter.Seek(_address);
 }