69 lines
1.1 KiB
JavaScript
Raw Normal View History

'use strict'
const test = require('tape')
const SparseArray = require('../')
let arr
test('allows to be constructed', (t) => {
arr = new SparseArray()
t.end()
})
test('get an index that is not set returns undefined', (t) => {
t.equal(arr.get(9), undefined)
t.end()
})
test('can set a 9th and 6th positions', (t) => {
arr.set(9, 'v9')
arr.set(6, 'v6')
t.end()
})
test('length is 10', (t) => {
t.equal(arr.length, 10)
t.end()
})
test('can get those values', (t) => {
t.equal(arr.get(9), 'v9')
t.equal(arr.get(6), 'v6')
t.end()
})
test('delete 6th position', (t) => {
arr.unset(6)
t.end()
})
test('length is still 10', (t) => {
t.equal(arr.length, 10)
t.end()
})
test('position 6 is gone', (t) => {
t.equal(arr.get(6), undefined)
t.end()
})
test('can still get position 9', (t) => {
t.equal(arr.get(9), 'v9')
t.end()
})
test('delete 9th position', (t) => {
arr.unset(9)
t.end()
})
test('can not get position 9', (t) => {
t.equal(arr.get(9), undefined)
t.end()
})
test('length is now 0', (t) => {
t.equal(arr.length, 0)
t.end()
})