opusdev/vector-similarity-api
1
1var tape = require('tape')2var pager = require('./')3 4tape('get page', function (t) {5 var pages = pager(1024)6 7 var page = pages.get(0)8 9 t.same(page.offset, 0)10 t.same(page.buffer, Buffer.alloc(1024))11 t.end()12})13 14tape('get page twice', function (t) {15 var pages = pager(1024)16 t.same(pages.length, 0)17 18 var page = pages.get(0)19 20 t.same(page.offset, 0)21 t.same(page.buffer, Buffer.alloc(1024))22 t.same(pages.length, 1)23 24 var other = pages.get(0)25 26 t.same(other, page)27 t.end()28})29 30tape('get no mutable page', function (t) {31 var pages = pager(1024)32 33 t.ok(!pages.get(141, true))34 t.ok(pages.get(141))35 t.ok(pages.get(141, true))36 37 t.end()38})39 40tape('get far out page', function (t) {41 var pages = pager(1024)42 43 var page = pages.get(1000000)44 45 t.same(page.offset, 1000000 * 1024)46 t.same(page.buffer, Buffer.alloc(1024))47 t.same(pages.length, 1000000 + 1)48 49 var other = pages.get(1)50 51 t.same(other.offset, 1024)52 t.same(other.buffer, Buffer.alloc(1024))53 t.same(pages.length, 1000000 + 1)54 t.ok(other !== page)55 56 t.end()57})58 59tape('updates', function (t) {60 var pages = pager(1024)61 62 t.same(pages.lastUpdate(), null)63 64 var page = pages.get(10)65 66 page.buffer[42] = 167 pages.updated(page)68 69 t.same(pages.lastUpdate(), page)70 t.same(pages.lastUpdate(), null)71 72 page.buffer[42] = 273 pages.updated(page)74 pages.updated(page)75 76 t.same(pages.lastUpdate(), page)77 t.same(pages.lastUpdate(), null)78 79 t.end()80})81 