diff options
Diffstat (limited to 'test/csharp/SequenceTest.cs')
-rw-r--r-- | test/csharp/SequenceTest.cs | 69 |
1 files changed, 63 insertions, 6 deletions
diff --git a/test/csharp/SequenceTest.cs b/test/csharp/SequenceTest.cs index 1e965965..16143e92 100644 --- a/test/csharp/SequenceTest.cs +++ b/test/csharp/SequenceTest.cs @@ -1,7 +1,7 @@ /*- * See the file LICENSE for redistribution information. * - * Copyright (c) 2009, 2012 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2015 Oracle and/or its affiliates. All rights reserved. * */ using System; @@ -108,7 +108,7 @@ namespace CsharpAPITest * Check the delta of two sequence number get * from sequence. */ - int delta = 100; + uint delta = 100; long seqNum1 = seq.Get(delta); long seqNum2 = seq.Get(delta); Assert.AreEqual(delta, seqNum2 - seqNum1); @@ -136,7 +136,7 @@ namespace CsharpAPITest * Check the delta of two sequence number get * from sequence. */ - int delta = 100; + uint delta = 100; long seqNum1 = seq.Get(delta, true); long seqNum2 = seq.Get(delta, true); Assert.AreEqual(delta, seqNum2 - seqNum1); @@ -165,7 +165,7 @@ namespace CsharpAPITest * Check the delta of two sequence number get * from sequence. */ - int delta = 100; + uint delta = 100; Transaction txn = env.BeginTransaction(); long seqNum1 = seq.Get(delta, txn); long seqNum2 = seq.Get(delta, txn); @@ -300,6 +300,63 @@ namespace CsharpAPITest db.Close(); } + [Test] + public void TestSequenceStatPrint() + { + testName = "TestSequenceStatPrint"; + SetUpTest(true); + + string[] messageInfo = new string[] + { "The number of sequence locks that required waiting (0%)", + "The current sequence value", + "The cached sequence value", + "The last cached sequence value", + "The minimum sequence value", + "The maximum sequence value", + "The cache size", + "Sequence flags" + }; + + DatabaseEnvironment env; + BTreeDatabase db; + Sequence seq; + OpenNewSequenceInEnv(testHome, testName, out env, out db, out seq); + + // Confirm message file does not exist. + string messageFile = testHome + "/" + "msgfile"; + Assert.AreEqual(false, File.Exists(messageFile)); + + // Call set_msgfile() of env. + env.Msgfile = messageFile; + + // Print env statistic to message file. + seq.PrintStats(); + + // Confirm message file exists now. + Assert.AreEqual(true, File.Exists(messageFile)); + + env.Msgfile = ""; + int counter = 0; + string line; + line = null; + + // Read the message file line by line. + System.IO.StreamReader file = new System.IO.StreamReader(@"" + messageFile); + while ((line = file.ReadLine()) != null) + { + string[] tempStr = line.Split('\t'); + // Confirm the content of the message file. + Assert.AreEqual(tempStr[1], messageInfo[counter]); + counter++; + } + Assert.AreNotEqual(counter, 0); + + file.Close(); + seq.Close(); + db.Close(); + env.Close(); + } + public void OpenNewSequence(string dbFileName, out BTreeDatabase db, out Sequence seq) { @@ -313,7 +370,7 @@ namespace CsharpAPITest SequenceConfig seqConfig = new SequenceConfig(); seqConfig.BackingDatabase = db; seqConfig.CacheSize = 1000; - seqConfig.Creation = CreatePolicy.ALWAYS; + seqConfig.Creation = CreatePolicy.ALWAYS; seqConfig.Decrement = false; seqConfig.FreeThreaded = true; seqConfig.Increment = true; @@ -365,7 +422,7 @@ namespace CsharpAPITest public static void Confirm(XmlElement xmlElement, Sequence seq, bool compulsory) { - Configuration.ConfirmInt(xmlElement, "CacheSize", + Configuration.ConfirmUint(xmlElement, "CacheSize", seq.Cachesize, compulsory); Configuration.ConfirmBool(xmlElement, "Decrement", seq.Decrement, compulsory); |