private unsafe ColumnStreamWithRetry <T, TCodec> CreateCs <T, TCodec>(TCodec codec, byte[] data)
            where T : unmanaged
            where TCodec : ICodec <T>
        {
            var memory = new System.IO.MemoryStream();

            var stream = new ColumnStreamWithRetry <T, TCodec>(memory, codec, 1024);

            stream.WriteAndReset(data, sizeof(byte));

            _streams.Add(stream);
            return(stream);
        }
        public void Setup()
        {
            var data = Factory.CreateRandomBytes(WROTE);
            var ptr  = Marshal.AllocHGlobal(READ);

            _unmanagedPtr.Add(ptr);
            _rData    = (byte *)ptr;
            _readData = new byte[READ];

            _csFullClassBase = CreateCsb(new VoidCodecFullStream(), data);
            //_csTemplateCodecBase = CreateCsb(new TemplateVoidCodec(), data);
            //_csFullTemplateBase = CreateCstb(new TemplateVoidCodec(), data);
            _csFullClass   = CreateCs <byte, VoidCodec <byte> >(new VoidCodec <byte>(), data);
            _csUnsafeClass = CreateCsub <byte>(new VoidCodec <byte>(), data);
            //_csTemplateCodec1 = CreateCs(new TemplateVoidCodec(), data);
            //_csFullTemplateCodec = CreateCst(new TemplateVoidCodec(), data);
        }