diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/labs/structs/multimap_test.html')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/labs/structs/multimap_test.html | 332 |
1 files changed, 0 insertions, 332 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/labs/structs/multimap_test.html b/contexts/data/lib/closure-library/closure/goog/labs/structs/multimap_test.html deleted file mode 100644 index 38390e7..0000000 --- a/contexts/data/lib/closure-library/closure/goog/labs/structs/multimap_test.html +++ /dev/null @@ -1,332 +0,0 @@ -<!DOCTYPE html> -<html> -<!-- -Copyright 2012 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.labs.structs.Multimap</title> -<script src="../../base.js"></script> -<script> - goog.require('goog.dispose'); - goog.require('goog.labs.structs.Multimap'); - goog.require('goog.testing.jsunit'); -</script> -</head> -<body> -<script> -var map; - - -function setUp() { - map = new goog.labs.structs.Multimap(); -} - - -function testGetCountWithEmptyMultimap() { - assertEquals(0, map.getCount()); - assertTrue(map.isEmpty()); -} - - -function testClone() { - map.add('k', 'v'); - map.addAllValues('k2', ['v', 'v1', 'v2']); - - var map2 = map.clone(); - - assertSameElements(['v'], map.get('k')); - assertSameElements(['v', 'v1', 'v2'], map.get('k2')); -} - - -function testAdd() { - map.add('key', 'v'); - assertEquals(1, map.getCount()); - map.add('key', 'v2'); - assertEquals(2, map.getCount()); - map.add('key', 'v3'); - assertEquals(3, map.getCount()); - - var values = map.get('key'); - assertEquals(3, values.length); - assertContains('v', values); - assertContains('v2', values); - assertContains('v3', values); -} - - -function testAddValues() { - map.addAllValues('key', ['v', 'v2', 'v3']); - assertSameElements(['v', 'v2', 'v3'], map.get('key')); - - map.add('key2', 'a'); - map.addAllValues('key2', ['v', 'v2', 'v3']); - assertSameElements(['a', 'v', 'v2', 'v3'], map.get('key2')); -} - - -function testAddAllWithMultimap() { - map.add('k', 'v'); - map.addAllValues('k2', ['v', 'v1', 'v2']); - - var map2 = new goog.labs.structs.Multimap(); - map2.add('k2', 'v'); - map2.addAllValues('k3', ['a', 'a1', 'a2']); - - map.addAllFromMultimap(map2); - assertSameElements(['v'], map.get('k')); - assertSameElements(['v', 'v1', 'v2', 'v'], map.get('k2')); - assertSameElements(['a', 'a1', 'a2'], map.get('k3')); -} - - -function testAddAllWithMap() { - map.add('k', 'v'); - map.addAllValues('k2', ['v', 'v1', 'v2']); - - var map2 = new goog.labs.structs.Map(); - map2.set('k2', 'v'); - map2.set('k3', 'a'); - - map.addAllFromMultimap(map2); - assertSameElements(['v'], map.get('k')); - assertSameElements(['v', 'v1', 'v2', 'v'], map.get('k2')); - assertSameElements(['a'], map.get('k3')); -} - - -function testReplaceValues() { - map.add('key', 'v'); - map.add('key', 'v2'); - - map.replaceValues('key', [0, 1, 2]); - assertSameElements([0, 1, 2], map.get('key')); - assertEquals(3, map.getCount()); - - map.replaceValues('key', ['v']); - assertSameElements(['v'], map.get('key')); - assertEquals(1, map.getCount()); - - map.replaceValues('key', []); - assertSameElements([], map.get('key')); - assertEquals(0, map.getCount()); -} - - -function testRemove() { - map.add('key', 'v'); - map.add('key', 'v2'); - map.add('key', 'v3'); - - assertTrue(map.remove('key', 'v')); - var values = map.get('key'); - assertEquals(2, map.getCount()); - assertEquals(2, values.length); - assertContains('v2', values); - assertContains('v3', values); - assertFalse(map.remove('key', 'v')); - - assertTrue(map.remove('key', 'v2')); - values = map.get('key'); - assertEquals(1, map.getCount()); - assertEquals(1, values.length); - assertContains('v3', values); - assertFalse(map.remove('key', 'v2')); - - assertTrue(map.remove('key', 'v3')); - map.remove('key', 'v3'); - assertTrue(map.isEmpty()); - assertEquals(0, map.get('key').length); - assertFalse(map.remove('key', 'v2')); -} - - -function testRemoveWithNaN() { - map.add('key', NaN); - map.add('key', NaN); - - assertTrue(map.remove('key', NaN)); - var values = map.get('key'); - assertEquals(1, values.length); - assertTrue(isNaN(values[0])); - - assertTrue(map.remove('key', NaN)); - assertEquals(0, map.get('key').length); - assertFalse(map.remove('key', NaN)); -} - - -function testRemoveWithNegativeZero() { - map.add('key', 0); - map.add('key', -0); - - assertTrue(map.remove('key', -0)); - var values = map.get('key'); - assertEquals(1, values.length); - assertTrue(1 / values[0] === 1 / 0); - assertFalse(map.remove('key', -0)); - - map.add('key', -0); - - assertTrue(map.remove('key', 0)); - var values = map.get('key'); - assertEquals(1, values.length); - assertTrue(1 / values[0] === 1 / -0); - assertFalse(map.remove('key', 0)); - - assertTrue(map.remove('key', -0)); - assertEquals(0, map.get('key').length); -} - - -function testRemoveAll() { - map.add('key', 'v'); - map.add('key', 'v2'); - map.add('key', 'v3'); - map.add('key', 'v4'); - map.add('key2', 'v'); - - assertTrue(map.removeAll('key')); - assertSameElements([], map.get('key')); - assertSameElements(['v'], map.get('key2')); - assertFalse(map.removeAll('key')); - assertEquals(1, map.getCount()); - - assertTrue(map.removeAll('key2')); - assertSameElements([], map.get('key2')); - assertFalse(map.removeAll('key2')); - assertTrue(map.isEmpty()); -} - - -function testAddWithDuplicateValue() { - map.add('key', 'v'); - map.add('key', 'v'); - map.add('key', 'v'); - assertArrayEquals(['v', 'v', 'v'], map.get('key')); -} - - -function testContainsEntry() { - assertFalse(map.containsEntry('k', 'v')); - assertFalse(map.containsEntry('k', 'v2')); - assertFalse(map.containsEntry('k2', 'v')); - - map.add('k', 'v'); - assertTrue(map.containsEntry('k', 'v')); - assertFalse(map.containsEntry('k', 'v2')); - assertFalse(map.containsEntry('k2', 'v')); - - map.add('k', 'v2'); - assertTrue(map.containsEntry('k', 'v')); - assertTrue(map.containsEntry('k', 'v2')); - assertFalse(map.containsEntry('k2', 'v')); - - map.add('k2', 'v'); - assertTrue(map.containsEntry('k', 'v')); - assertTrue(map.containsEntry('k', 'v2')); - assertTrue(map.containsEntry('k2', 'v')); -} - - -function testContainsKey() { - assertFalse(map.containsKey('k')); - assertFalse(map.containsKey('k2')); - - map.add('k', 'v'); - assertTrue(map.containsKey('k')); - map.add('k2', 'v'); - assertTrue(map.containsKey('k2')); - - map.remove('k', 'v'); - assertFalse(map.containsKey('k')); - map.remove('k2', 'v'); - assertFalse(map.containsKey('k2')); -} - - -function testContainsValue() { - assertFalse(map.containsValue('v')); - assertFalse(map.containsValue('v2')); - - map.add('key', 'v'); - assertTrue(map.containsValue('v')); - map.add('key', 'v2'); - assertTrue(map.containsValue('v2')); -} - - -function testGetEntries() { - map.add('key', 'v'); - map.add('key', 'v2'); - map.add('key2', 'v3'); - - var entries = map.getEntries(); - assertEquals(3, entries.length); - assertContainsEntry(['key', 'v'], entries); - assertContainsEntry(['key', 'v2'], entries); - assertContainsEntry(['key2', 'v3'], entries); -} - - -function testGetKeys() { - map.add('key', 'v'); - map.add('key', 'v2'); - map.add('key2', 'v3'); - map.add('key3', 'v4'); - map.removeAll('key3'); - - assertSameElements(['key', 'key2'], map.getKeys()); -} - - -function testGetKeys() { - map.add('key', 'v'); - map.add('key', 'v2'); - map.add('key2', 'v2'); - map.add('key3', 'v4'); - map.removeAll('key3'); - - assertSameElements(['v', 'v2', 'v2'], map.getValues()); -} - - -function testGetReturnsDefensiveCopyOfUnderlyingData() { - map.add('key', 'v'); - map.add('key', 'v2'); - map.add('key', 'v3'); - - var values = map.get('key'); - values.push('v4'); - assertFalse(map.containsEntry('key', 'v4')); -} - - -function testClear() { - map.add('key', 'v'); - map.add('key', 'v2'); - map.add('key2', 'v3'); - - map.clear(); - assertTrue(map.isEmpty()); - assertSameElements([], map.getEntries()); -} - - -function assertContainsEntry(entry, entryList) { - for (var i = 0; i < entryList.length; ++i) { - if (entry[0] == entryList[i][0] && entry[1] === entryList[i][1]) { - return; - } - } - fail('Did not find entry: ' + entry + ' in: ' + entryList); -} -</script> -</body> -</html> |