public void Backward() { var log = new OpDataPersister(Cfg4Mb); log.Append(ToBytes(1)); log.Append(ToBytes(2)); log.Append(ToBytes(3)); log.Append(ToBytes(4)); log.Append(ToBytes(5)); var iter = log.Backward().GetEnumerator(); ; iter.MoveNext(); Assert.That(ToInt(iter.Current.Payload), Is.EqualTo(5)); iter.MoveNext(); Assert.That(ToInt(iter.Current.Payload), Is.EqualTo(4)); iter.MoveNext(); Assert.That(ToInt(iter.Current.Payload), Is.EqualTo(3)); iter.MoveNext(); Assert.That(ToInt(iter.Current.Payload), Is.EqualTo(2)); iter.MoveNext(); Assert.That(ToInt(iter.Current.Payload), Is.EqualTo(1)); }
public void Backward_a_slice() { var log = new OpDataPersister(Cfg4Mb); log.Append(ToBytes(1)); log.Append(ToBytes(2)); log.Append(ToBytes(3)); log.Append(ToBytes(4)); log.Append(ToBytes(5)); var items = new List<int>(); foreach (var v in log.Backward(int.MaxValue, 2)) items.Add(BitConverter.ToInt32(v.Payload, 0)); Assert.That(items[0], Is.EqualTo(5)); Assert.That(items[1], Is.EqualTo(4)); Assert.That(items.Count, Is.EqualTo(2)); }
public void Backward_from_position() { var log = new OpDataPersister(Cfg4Mb); log.Append(ToBytes(14)); log.Append(ToBytes(2)); var idx = log.Append(ToBytes(34)); log.Append(ToBytes(234)); log.Append(ToBytes(455)); var iter = log.Backward(idx).GetEnumerator(); ; iter.MoveNext(); Assert.That(ToInt(iter.Current.Payload), Is.EqualTo(34)); iter.MoveNext(); Assert.That(ToInt(iter.Current.Payload), Is.EqualTo(2)); iter.MoveNext(); Assert.That(ToInt(iter.Current.Payload), Is.EqualTo(14)); Assert.That(iter.MoveNext(), Is.False); }
public void ListBackwardTest() { var wr = new OpDataPersister(Cfg4K); for (int i = 0; i < 100; i++) wr.Append(BitConverter.GetBytes(i)); wr.Dispose(); var rd = new OpDataPersister(Cfg4K); long prev = long.MaxValue; foreach (var op in rd.Backward()) { var position = op.Position; Assert.That(position, Is.LessThan(prev)); Console.WriteLine(op.Position + " " + BitConverter.ToInt32(op.Payload, 0)); prev = position; } }