diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2016-12-17 21:28:53 -0800 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2016-12-17 21:28:53 -0800 |
commit | 54df2afaa61c6a03cbb4a33c9b90fa572b6d07b8 (patch) | |
tree | 18147b92b969d25ffbe61935fb63035cac820dd0 /db-4.8.30/test/scr037/SecondaryBTreeDatabaseConfigTest.cs |
Berkeley DB 4.8 with rust build script for linux.
Diffstat (limited to 'db-4.8.30/test/scr037/SecondaryBTreeDatabaseConfigTest.cs')
-rw-r--r-- | db-4.8.30/test/scr037/SecondaryBTreeDatabaseConfigTest.cs | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/db-4.8.30/test/scr037/SecondaryBTreeDatabaseConfigTest.cs b/db-4.8.30/test/scr037/SecondaryBTreeDatabaseConfigTest.cs new file mode 100644 index 0000000..09724af --- /dev/null +++ b/db-4.8.30/test/scr037/SecondaryBTreeDatabaseConfigTest.cs @@ -0,0 +1,115 @@ +/*- + * See the file LICENSE for redistribution information. + * + * Copyright (c) 2009 Oracle. All rights reserved. + * + */ +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Text; +using System.Xml; +using NUnit.Framework; +using BerkeleyDB; + +namespace CsharpAPITest +{ + [TestFixture] + public class SecondaryBTreeDatabaseConfigTest + { + private string testFixtureHome; + private string testFixtureName; + private string testName; + private string testHome; + + [TestFixtureSetUp] + public void RunBeforeTests() + { + testFixtureName = "SecondaryBTreeDatabaseConfigTest"; + testFixtureHome = "./TestOut/" + testFixtureName; + + Configuration.ClearDir(testFixtureHome); + } + + [Test] + public void TestConfig() + { + testName = "TestConfig"; + testHome = testFixtureHome + "/" + testName; + string dbFileName = testHome + "/" + testName + ".db"; + + Configuration.ClearDir(testHome); + XmlElement xmlElem = Configuration.TestSetUp( + testFixtureName, testName); + + // Open a primary btree database. + BTreeDatabaseConfig btreeDBConfig = + new BTreeDatabaseConfig(); + btreeDBConfig.Creation = CreatePolicy.IF_NEEDED; + BTreeDatabase btreeDB = BTreeDatabase.Open( + dbFileName, btreeDBConfig); + + SecondaryBTreeDatabaseConfig secDBConfig = + new SecondaryBTreeDatabaseConfig(btreeDB, null); + + Config(xmlElem, ref secDBConfig, true); + Confirm(xmlElem, secDBConfig, true); + + // Close the primary btree database. + btreeDB.Close(); + } + + public static void Confirm(XmlElement xmlElement, + SecondaryBTreeDatabaseConfig secBtreeDBConfig, + bool compulsory) + { + SecondaryDatabaseConfig secDBConfig = + secBtreeDBConfig; + SecondaryDatabaseConfigTest.Confirm(xmlElement, + secDBConfig, compulsory); + + // Confirm secondary btree database specific configuration. + Configuration.ConfirmCreatePolicy(xmlElement, + "Creation", secBtreeDBConfig.Creation, compulsory); + Configuration.ConfirmDuplicatesPolicy(xmlElement, + "Duplicates", secBtreeDBConfig.Duplicates, compulsory); + Configuration.ConfirmUint(xmlElement, "MinKeysPerPage", + secBtreeDBConfig.MinKeysPerPage, compulsory); + Configuration.ConfirmBool(xmlElement, + "NoReverseSplitting", + secBtreeDBConfig.NoReverseSplitting, compulsory); + Configuration.ConfirmBool(xmlElement, + "UseRecordNumbers", + secBtreeDBConfig.UseRecordNumbers, + compulsory); + } + + public static void Config(XmlElement xmlElement, + ref SecondaryBTreeDatabaseConfig secBtreeDBConfig, + bool compulsory) + { + uint minKeysPerPage = new uint(); + + SecondaryDatabaseConfig secDBConfig = secBtreeDBConfig; + SecondaryDatabaseConfigTest.Config(xmlElement, + ref secDBConfig, compulsory); + + // Configure specific fields/properties of Btree db + Configuration.ConfigCreatePolicy(xmlElement, + "Creation", ref secBtreeDBConfig.Creation, compulsory); + Configuration.ConfigDuplicatesPolicy(xmlElement, + "Duplicates", ref secBtreeDBConfig.Duplicates, + compulsory); + if (Configuration.ConfigUint(xmlElement, + "MinKeysPerPage", ref minKeysPerPage, compulsory)) + secBtreeDBConfig.MinKeysPerPage = minKeysPerPage; + Configuration.ConfigBool(xmlElement, + "NoReverseSplitting", + ref secBtreeDBConfig.NoReverseSplitting, compulsory); + Configuration.ConfigBool(xmlElement, + "UseRecordNumbers", + ref secBtreeDBConfig.UseRecordNumbers, compulsory); + } + } +} |