public void all_records_can_be_read_sequentially_page_by_page_in_forward_pass() { var recs = new[] {_p2, _p4, _p1, _p3, _p5}; // in committed order int count = 0; var pos = new TFPos(0, 0); IndexReadAllResult result; while ((result = ReadIndex.ReadAllEventsForward(pos, 1)).Records.Count != 0) { Assert.AreEqual(1, result.Records.Count); Assert.AreEqual(recs[count], result.Records[0].Event); pos = result.NextPos; count += 1; } Assert.AreEqual(recs.Length, count); }
public void all_records_can_be_read_sequentially_page_by_page_in_backward_pass() { var recs = new[] { _p5, _p3, _p1, _p4, _p2 }; // in reverse committed order int count = 0; var pos = new TFPos(Db.Config.WriterCheckpoint.Read(), Db.Config.WriterCheckpoint.Read()); ReadAllResult result; while ((result = ReadIndex.ReadAllEventsBackward(pos, 1, false)).Records.Count != 0) { Assert.AreEqual(1, result.Records.Count); Assert.AreEqual(recs[count], result.Records[0].Event); pos = result.NextPos; count += 1; } Assert.AreEqual(recs.Length, count); }
public void position_returned_for_prev_page_when_traversing_forward_allow_to_traverse_backward_correctly() { var recs = new[] { _p2, _p4, _p1, _p3, _p5 }; // in committed order int count = 0; var pos = new TFPos(0, 0); IndexReadAllResult result; while ((result = ReadIndex.ReadAllEventsForward(pos, 1)).Records.Count != 0) { Assert.AreEqual(1, result.Records.Count); Assert.AreEqual(recs[count], result.Records[0].Event); var localPos = result.PrevPos; int localCount = 0; IndexReadAllResult localResult; while ((localResult = ReadIndex.ReadAllEventsBackward(localPos, 1)).Records.Count != 0) { Assert.AreEqual(1, localResult.Records.Count); Assert.AreEqual(recs[count - 1 - localCount], localResult.Records[0].Event); localPos = localResult.NextPos; localCount += 1; } pos = result.NextPos; count += 1; } Assert.AreEqual(recs.Length, count); }