public void Unlinked_Nodes_Are_Removed_From_Total() { var rootNode = _provider.GetRootNode(2); var node1 = _provider.CreateNode(2); var node2 = _provider.CreateNode(2); rootNode.ChildrenAddresses.Add(node1.Address); rootNode.ChildrenAddresses.Add(node2.Address); _provider.Flush(); var newProvider = new RecordBTreeDataProvider <object>( _session, _manager, new BTreeNodeBsonSerializer <object>(), "Root"); rootNode = newProvider.GetRootNode(2); newProvider.GetNode(node2.Address); rootNode.ChildrenAddresses.RemoveRange(1, 1); newProvider.Flush(); newProvider = new RecordBTreeDataProvider <object>( _session, _manager, new BTreeNodeBsonSerializer <object>(), "Root"); Assert.AreEqual(2, newProvider.MetaRecord.NumberOfNodes); }
public void Initialize() { _session = new Session(new TestPlatform(), "root"); _manager = new TestRecordManager(); _provider = new RecordBTreeDataProvider <object>( _session, _manager, new BTreeNodeBsonSerializer <object>(), "Root"); }
public void Construction_Uses_Existing_Meta_Record() { var secondProvider = new RecordBTreeDataProvider <object>( _session, _manager, new BTreeNodeBsonSerializer <object>(), "Root"); Assert.AreEqual(_provider.MetaRecord.Record.Header.Address, secondProvider.MetaRecord.Record.Header.Address); }
public void Get_Node_Loads_From_Record() { var node = _provider.CreateNode(2); var dataProvider = new RecordBTreeDataProvider <object>( _session, _manager, new BTreeNodeBsonSerializer <object>(), "Root"); var loadedNode = dataProvider.GetNode(node.Address); Assert.AreEqual(node.Address, loadedNode.Address); }
public void Get_RootNode_Returns_Same_Node() { _provider.GetRootNode(2); _provider.Flush(); var newProvider = new RecordBTreeDataProvider <object>( _session, _manager, new BTreeNodeBsonSerializer <object>(), "Root"); newProvider.GetRootNode(2); Assert.AreEqual(2, _manager.Records.Values.Count()); //metarecord and rootnode }
public void Get_Node_Caches_Node() { var node = _provider.CreateNode(2); var newProvider = new RecordBTreeDataProvider <object>( _session, _manager, new BTreeNodeBsonSerializer <object>(), "Root"); node = newProvider.GetNode(node.Address); // get with new provider node.ChildrenAddresses.Add(12); node = newProvider.GetNode(node.Address); //get it again Assert.AreEqual(12, node.ChildrenAddresses[0]); }
public void Flush_Updates_MetaRecord_NumberOfNodes() { var rootNode = _provider.GetRootNode(2); var node1 = _provider.CreateNode(2); var node2 = _provider.CreateNode(2); rootNode.ChildrenAddresses.Add(node1.Address); rootNode.ChildrenAddresses.Add(node2.Address); _provider.Flush(); var newProvider = new RecordBTreeDataProvider <object>( _session, _manager, new BTreeNodeBsonSerializer <object>(), "Root"); Assert.AreEqual(3, newProvider.MetaRecord.NumberOfNodes); }