void DoWork5ReadCheck() { _sw.Restart(); using (var stream = new PositionLessStreamProxy("data.btdb")) using (IKeyValueDB db = new KeyValueDB()) { db.Open(stream, false); using (var trStat = db.StartTransaction()) { Console.WriteLine(trStat.CalculateStats().ToString()); } using (var trCheck = db.StartTransaction()) { long pureDataLengthCheck = 0; if (trCheck.FindFirstKey()) { do { pureDataLengthCheck += trCheck.ReadKey().Length + trCheck.ReadValue().Length; } while (trCheck.FindNextKey()); } if (pureDataLengthCheck != 396130000) { throw new Exception("Bug"); } } using (var trStat = db.StartTransaction()) { Console.WriteLine(trStat.CalculateStats().ToString()); } } _sw.Stop(); Console.WriteLine("Time: {0,15}ms", _sw.Elapsed.TotalMilliseconds); }
public void ReadingStreamManaged() { using (var s = File.OpenRead(TestFileName)) using (var p = new PositionLessStreamProxy(s, false)) { Assert.Equal(1, p.Read(buff, 0, buff.Length, 0)); Assert.Equal(11, buff[0]); Assert.Equal(0, p.Read(buff, 0, buff.Length, 1)); Assert.Equal(0, p.Read(buff, 0, buff.Length, 1)); Assert.Equal(0, p.Read(buff, 0, buff.Length, 10)); } }