123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- module('lunr.SortedSet')
- test('adding an element that doesn\'t exist into the set', function () {
- var set = new lunr.SortedSet
- equal(set.length, 0)
- set.add('foo')
- equal(set.length, 1)
- })
- test('adding an element that does exist into the set', function () {
- var set = new lunr.SortedSet
- set.add('foo')
- equal(set.length, 1)
- set.add('foo')
- equal(set.length, 1)
- })
- test('sort is maintained when adding elements to the set', function () {
- var set = new lunr.SortedSet
- set.add('b')
- set.add('d')
- set.add('a')
- set.add('c')
- deepEqual(set.elements, ['a', 'b', 'c', 'd'])
- })
- test('adding more than one element to the set in one go', function () {
- var set = new lunr.SortedSet
- set.add('foo', 'bar', 'baz', 'foo')
- equal(set.length, 3)
- })
- test('converting to an array', function () {
- var set = new lunr.SortedSet
- set.add('foo', 'bar', 'baz')
- deepEqual(set.toArray(), ['bar', 'baz', 'foo'])
- })
- test('mapping the set', function () {
- var set = new lunr.SortedSet, a = []
- set.add('foo', 'bar')
- set.forEach(function (t) { a.push(t) })
- deepEqual(a, ['bar', 'foo'])
- })
- test('getting the index of an item in the set', function () {
- var set = new lunr.SortedSet
- equal(set.indexOf('non member'), -1)
- set.add('foo')
- equal(set.indexOf('foo'), 0)
- equal(set.indexOf('non member'), -1)
- set.add('bar')
- equal(set.indexOf('foo'), 1)
- equal(set.indexOf('bar'), 0)
- equal(set.indexOf('non member'), -1)
- })
- test('intersecting this set with another set', function () {
- var set1 = new lunr.SortedSet,
- set2 = new lunr.SortedSet,
- setIntersect
- set1.add('foo', 'bar')
- set2.add('baz', 'foo')
- setIntersect = set1.intersect(set2)
- ok(setIntersect.indexOf('foo') > -1)
- ok(setIntersect.indexOf('bar') == -1)
- ok(setIntersect.indexOf('baz') == -1)
- })
- test('unioning this set with another set', function () {
- var set1 = new lunr.SortedSet,
- set2 = new lunr.SortedSet,
- setUnion
- set1.add('foo', 'bar')
- set2.add('baz', 'foo')
- setUnion = set1.union(set2)
- ok(setUnion.indexOf('foo') > -1)
- ok(setUnion.indexOf('bar') > -1)
- ok(setUnion.indexOf('baz') > -1)
- equal(setUnion.length ,3)
- })
- test('serialising', function () {
- var emptySet = new lunr.SortedSet,
- nonEmptySet = new lunr.SortedSet
- nonEmptySet.add(1,2,3,4)
- deepEqual(emptySet.toJSON(), [])
- deepEqual(nonEmptySet.toJSON(), [1,2,3,4])
- })
- test('loading serialised dump', function () {
- var serialisedData = [1,2,3,4],
- set = lunr.SortedSet.load(serialisedData)
- equal(set.length, 4)
- deepEqual(set.elements, [1,2,3,4])
- })
|