diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/structs/avltree_test.html')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/structs/avltree_test.html | 251 |
1 files changed, 0 insertions, 251 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/structs/avltree_test.html b/contexts/data/lib/closure-library/closure/goog/structs/avltree_test.html deleted file mode 100644 index 144047d..0000000 --- a/contexts/data/lib/closure-library/closure/goog/structs/avltree_test.html +++ /dev/null @@ -1,251 +0,0 @@ -<!DOCTYPE html> -<html> -<!-- -Copyright 2007 The Closure Library Authors. All Rights Reserved. - -Use of this source code is governed by the Apache License, Version 2.0. -See the COPYING file for details. ---> -<head> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<title>Closure Unit Tests - goog.structs.AvlTree</title> -<script src="../base.js"></script> -<script> - goog.require('goog.structs'); - goog.require('goog.structs.AvlTree'); - goog.require('goog.testing.jsunit'); -</script> -</head> -<body> -<script> - - /** - * This test verifies that we can insert strings into the AvlTree and have - * them be stored and sorted correctly by the default comparator. - */ - function testInsertsWithDefaultComparator() { - var tree = new goog.structs.AvlTree(); - var values = ['bill', 'blake', 'elliot', 'jacob', 'john', 'myles', 'ted']; - - // Insert strings into tree out of order - tree.add(values[4]); - tree.add(values[3]); - tree.add(values[0]); - tree.add(values[6]); - tree.add(values[5]); - tree.add(values[1]); - tree.add(values[2]); - - // Verify strings are stored in sorted order - var i = 0; - tree.inOrderTraverse(function(value) { - assertEquals(values[i], value); - i += 1; - }); - assertEquals(i, values.length); - }; - - /** - * This test verifies that we can insert strings into and remove strings from - * the AvlTree and have the only the non-removed values be stored and sorted - * correctly by the default comparator. - */ - function testRemovesWithDefaultComparator() { - var tree = new goog.structs.AvlTree(); - var values = ['bill', 'blake', 'elliot', 'jacob', 'john', 'myles', 'ted']; - - // Insert strings into tree out of order - tree.add('frodo'); - tree.add(values[4]); - tree.add(values[3]); - tree.add(values[0]); - tree.add(values[6]); - tree.add('samwise'); - tree.add(values[5]); - tree.add(values[1]); - tree.add(values[2]); - tree.add('pippin'); - - // Remove strings from tree - assertEquals(tree.remove('samwise'), 'samwise'); - assertEquals(tree.remove('pippin'), 'pippin'); - assertEquals(tree.remove('frodo'), 'frodo'); - assertEquals(tree.remove('merry'), null); - - - // Verify strings are stored in sorted order - var i = 0; - tree.inOrderTraverse(function(value) { - assertEquals(values[i], value); - i += 1; - }); - assertEquals(i, values.length); - }; - - /** - * This test verifies that we can insert values into and remove values from - * the AvlTree and have them be stored and sorted correctly by a custom - * comparator. - */ - function testInsertsAndRemovesWithCustomComparator() { - var tree = new goog.structs.AvlTree(function(a, b) { - return a - b; - }); - - var NUM_TO_INSERT = 37; - var valuesToRemove = [1, 0, 6, 7, 36]; - - // Insert ints into tree out of order - var values = []; - for (var i = 0; i < NUM_TO_INSERT; i += 1) { - tree.add(i); - values.push(i); - } - - for (var i = 0; i < valuesToRemove.length; i += 1) { - assertEquals(tree.remove(valuesToRemove[i]), valuesToRemove[i]); - goog.array.remove(values, valuesToRemove[i]); - } - assertEquals(tree.remove(-1), null); - assertEquals(tree.remove(37), null); - - // Verify strings are stored in sorted order - var i = 0; - tree.inOrderTraverse(function(value) { - assertEquals(values[i], value); - i += 1; - }); - assertEquals(i, values.length); - }; - - /** - * This test verifies that we can insert values into and remove values from - * the AvlTree and have it maintain the AVL-Tree upperbound on its height. - */ - function testAvlTreeHeight() { - var tree = new goog.structs.AvlTree(function(a, b) { - return a - b; - }); - - var NUM_TO_INSERT = 2000; - var NUM_TO_REMOVE = 500; - - // Insert ints into tree out of order - for (var i = 0; i < NUM_TO_INSERT; i += 1) { - tree.add(i); - } - - // Remove valuse - for (var i = 0; i < NUM_TO_REMOVE; i += 1) { - tree.remove(i); - } - - assertTrue(tree.getHeight() <= 1.4405 * - (Math.log(NUM_TO_INSERT - NUM_TO_REMOVE + 2) / Math.log(2)) - 1.3277); - }; - - /** - * This test verifies that we can insert values into and remove values from - * the AvlTree and have its contains method correctly determine the values it - * is contains. - */ - function testAvlTreeContains() { - var tree = new goog.structs.AvlTree(); - var values = ['bill', 'blake', 'elliot', 'jacob', 'john', 'myles', 'ted']; - - // Insert strings into tree out of order - tree.add('frodo'); - tree.add(values[4]); - tree.add(values[3]); - tree.add(values[0]); - tree.add(values[6]); - tree.add('samwise'); - tree.add(values[5]); - tree.add(values[1]); - tree.add(values[2]); - tree.add('pippin'); - - // Remove strings from tree - assertEquals(tree.remove('samwise'), 'samwise'); - assertEquals(tree.remove('pippin'), 'pippin'); - assertEquals(tree.remove('frodo'), 'frodo'); - - for (var i = 0; i < values.length; i += 1) { - assertTrue(tree.contains(values[i])); - } - assertFalse(tree.contains('samwise')); - assertFalse(tree.contains('pippin')); - assertFalse(tree.contains('frodo')); - }; - - /** - * This test verifies that we can insert values into and remove values from - * the AvlTree and have its minValue and maxValue routines return the correct - * min and max values contained by the tree. - */ - function testMinAndMaxValues() { - var tree = new goog.structs.AvlTree(function(a, b) { - return a - b; - }); - - var NUM_TO_INSERT = 2000; - var NUM_TO_REMOVE = 500; - - // Insert ints into tree out of order - for (var i = 0; i < NUM_TO_INSERT; i += 1) { - tree.add(i); - } - - // Remove valuse - for (var i = 0; i < NUM_TO_REMOVE; i += 1) { - tree.remove(i); - } - - assertEquals(tree.getMinimum(), NUM_TO_REMOVE); - assertEquals(tree.getMaximum(), NUM_TO_INSERT - 1); - }; - - /** - * This test verifies that we can insert values into and remove values from - * the AvlTree and traverse the tree in reverse order using the - * reverseOrderTraverse routine. - */ - function testReverseOrderTraverse() { - var tree = new goog.structs.AvlTree(function(a, b) { - return a - b; - }); - - var NUM_TO_INSERT = 2000; - var NUM_TO_REMOVE = 500; - - // Insert ints into tree out of order - for (var i = 0; i < NUM_TO_INSERT; i += 1) { - tree.add(i); - } - - // Remove valuse - for (var i = 0; i < NUM_TO_REMOVE; i += 1) { - tree.remove(i); - } - - var i = NUM_TO_INSERT - 1; - tree.reverseOrderTraverse(function(value) { - assertEquals(value, i); - i -= 1; - }); - assertEquals(i, NUM_TO_REMOVE - 1); - }; - - /** - * Verifies correct behavior of getCount(). See http://b/4347755 - */ - function testGetCountBehavior() { - var tree = new goog.structs.AvlTree(); - tree.add(1); - tree.remove(1); - assertEquals(0, tree.getCount()); - } - -</script> -</body> -</html> |