summaryrefslogtreecommitdiff
path: root/db-4.8.30/test/scr037/SecondaryBTreeDatabaseConfigTest.cs
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2016-12-17 21:28:53 -0800
committerJesse Morgan <jesse@jesterpm.net>2016-12-17 21:28:53 -0800
commit54df2afaa61c6a03cbb4a33c9b90fa572b6d07b8 (patch)
tree18147b92b969d25ffbe61935fb63035cac820dd0 /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.cs115
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);
+ }
+ }
+}