예제 #1
0
        public void inflateByteCount()
        {
            var inflated = new EasyBuffer();
            var deflated = decodeBase64(
                "eJxzz09RyEjNKVAoLdZRKE9VL0pVyMxTKMlIVchIzEspVshPU0jNS8/MS00tKtYDAF6CD5s=");
            InflaterSource source = new InflaterSource(deflated, new Inflater());

            source.Read(inflated, 11);
            source.Dispose();
            Assert.AreEqual("God help us", inflated.ReadUtf8());
            Assert.AreEqual(0, inflated.Size);
        }
예제 #2
0
 public void inflateIntoNonemptySink()
 {
     for (int i = 0; i < Segment.SIZE; i++)
     {
         var inflated = new EasyBuffer().WriteUtf8(repeat('a', i));
         var deflated = decodeBase64(
             "eJxzz09RyEjNKVAoLdZRKE9VL0pVyMxTKMlIVchIzEspVshPU0jNS8/MS00tKtYDAF6CD5s=");
         InflaterSource source = new InflaterSource(deflated, new Inflater());
         while (source.Read(inflated, int.MaxValue) > 0)
         {
         }
         inflated.Skip(i);
         Assert.AreEqual("God help us, we're in the hands of engineers.", inflated.ReadUtf8());
     }
 }
예제 #3
0
 public string ReadUtf8()
 {
     _easyBuffer.WriteAll(_source);
     return(_easyBuffer.ReadUtf8());
 }