コード例 #1
0
        public void SaveRestorePositionTest1()
        {
            MemoryStream memoryStream = new MemoryStream();

            using (FileEncodingOutputStream stream = CreateFileEncodingOutputStream(memoryStream)) {
                IStreamPosition position = stream.SavePosition();
                Assert.IsNotNull(position);
                stream.RestorePosition(position);

                WriteBitString(stream, "11111111");
                Assert.AreEqual(new byte[] { 0xFF }, memoryStream.ToArray());
            }
        }
コード例 #2
0
        public void SaveRestorePositionTest2()
        {
            MemoryStream memoryStream = new MemoryStream();

            using (FileEncodingOutputStream stream = CreateFileEncodingOutputStream(memoryStream)) {
                IStreamPosition p1 = stream.SavePosition();
                WriteBitString(stream, "11111111");
                IStreamPosition p2 = stream.SavePosition();
                WriteBitString(stream, "00000000");
                IStreamPosition p3 = stream.SavePosition();
                WriteBitString(stream, "11111111");
                IStreamPosition p4 = stream.SavePosition();

                stream.RestorePosition(p2);
                WriteBitString(stream, "10010110");
                stream.RestorePosition(p1);
                WriteBitString(stream, "10011001");
                stream.RestorePosition(p4);
                WriteBitString(stream, "00000001");
                stream.RestorePosition(p3);
                WriteBitString(stream, "00001111");
                Assert.AreEqual(new byte[] { 0x99, 0x69, 0xF0, 0x80 }, memoryStream.ToArray());
            }
        }
コード例 #3
0
 public void RestorePositionGuardTest()
 {
     using (FileEncodingOutputStream stream = CreateFileEncodingOutputStream(new MemoryStream())) {
         Assert.Throws <ArgumentNullException>(() => stream.RestorePosition(null));
     }
 }