Exemplo n.º 1
0
        public async Task WriteByte_Async_Stream()
        {
            var testData = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 };

            using (var f = new GenericFile())
            {
                f.EnableInMemoryLoad = false;
                f.CreateFile(new byte[8]);
                await f.WriteAsync(0, testData[0]);

                await f.WriteAsync(1, testData[1]);

                await f.WriteAsync(2, testData[2]);

                await f.WriteAsync(3, testData[3]);

                await f.WriteAsync(4, testData[4]);

                await f.WriteAsync(5, testData[5]);

                await f.WriteAsync(6, testData[6]);

                await f.WriteAsync(7, testData[7]);

                Assert.AreEqual(testData[0], await f.ReadAsync(0));
                Assert.AreEqual(testData[1], await f.ReadAsync(1));
                Assert.AreEqual(testData[2], await f.ReadAsync(2));
                Assert.AreEqual(testData[3], await f.ReadAsync(3));
                Assert.AreEqual(testData[4], await f.ReadAsync(4));
                Assert.AreEqual(testData[5], await f.ReadAsync(5));
                Assert.AreEqual(testData[6], await f.ReadAsync(6));
                Assert.AreEqual(testData[7], await f.ReadAsync(7));
            }
        }
Exemplo n.º 2
0
        public virtual async Task Save(string filename, IFileSystem provider)
        {
            PreSave();
            var buffer = new byte[(int)Math.Ceiling(Bits.Count / (decimal)8) - 1];

            using (var f = new GenericFile())
            {
                f.CreateFile(buffer);
                for (int i = 0; i < buffer.Length; i++)
                {
                    await f.WriteAsync(i, (byte)Bits.GetInt(i, 0, 8));
                }
                await f.Save(filename, provider);
            }
            FileSaved?.Invoke(this, new EventArgs());
        }