def test_insert(self): tree = BTree() tree.arity = 4 tree.insert(1) self.assertIsNotNone(tree.root) self.assertListEqual(tree.root.keys, [1], "Inserting to empty B-Tree order 2.") tree.insert(7) tree.insert(2) self.assertIsNotNone(tree.root) self.assertListEqual(tree.root.keys, [1, 2, 7], "Inserting to B-Tree without splitting.") tree.insert(5) self.assertIsNotNone(tree.root) msg = "Inserting to B-Tree with splitting of root." self.assertListEqual(tree.root.keys, [2], msg) self.assertListEqual(tree.root.children[0].keys, [1], msg) self.assertListEqual(tree.root.children[1].keys, [5, 7], msg) tree.insert(12) tree.insert(8) self.assertIsNotNone(tree.root) msg = "Inserting to B-Tree with splitting of leaf." self.assertListEqual(tree.root.keys, [2, 7], msg) self.assertListEqual(tree.root.children[0].keys, [1], msg) self.assertListEqual(tree.root.children[1].keys, [5], msg) self.assertListEqual(tree.root.children[2].keys, [8, 12], msg)