public void TestSequence() { TDBTransaction t = new TDBTransaction(); TDataBase db = DBAccess.Connect("TestInsertMultipleRows", FDataBase); bool SubmissionOK = true; db.WriteTransaction(ref t, ref SubmissionOK, delegate { Int64 PreviousSequence = db.GetNextSequenceValue("seq_statement_number", t); Int64 NextSequence = db.GetNextSequenceValue("seq_statement_number", t); Assert.AreEqual(PreviousSequence + 1, NextSequence, "next sequence is one more than previous sequence"); Int64 CurrentSequence = db.GetCurrentSequenceValue("seq_statement_number", t); Assert.AreEqual(CurrentSequence, NextSequence, "current sequence value should be the last used sequence value"); db.RestartSequence("seq_statement_number", t, CurrentSequence); Int64 CurrentSequenceAfterReset = db.GetCurrentSequenceValue("seq_statement_number", t); Assert.AreEqual(CurrentSequence, CurrentSequenceAfterReset, "after reset we want the same current sequence"); Int64 NextSequenceAfterReset = db.GetNextSequenceValue("seq_statement_number", t); Assert.AreEqual(CurrentSequence + 1, NextSequenceAfterReset, "after reset we don't want the previous last sequence number to be repeated"); }); }