added nearly complete p2p implementation

This commit is contained in:
mrfry 2023-03-20 18:02:45 +01:00
parent 11dacdae64
commit 5c22f575dd
25 changed files with 14320 additions and 12563 deletions

View file

@ -0,0 +1,38 @@
import { getAvailableQdbIndexes } from '../utils/qdbUtils'
import { emptyQdb } from './testData'
test('getAvailableQdbIndexes works, normal order', () => {
const qdbs = [0, 1, 2, 3, 4].map((x) => {
return { ...emptyQdb, index: x }
})
const [index] = getAvailableQdbIndexes(qdbs)
expect(index).toBe(5)
})
test('getAvailableQdbIndexes works, one missing', () => {
const qdbs = [0, 1, 2, 3, 5].map((x) => {
return { ...emptyQdb, index: x }
})
const [index] = getAvailableQdbIndexes(qdbs)
expect(index).toBe(4)
})
test('getAvailableQdbIndexes works, empty qdb', () => {
const [index] = getAvailableQdbIndexes([])
expect(index).toBe(0)
})
test('getAvailableQdbIndexes works, multiple count', () => {
const qdbs = [0, 1, 2, 3, 5].map((x) => {
return { ...emptyQdb, index: x }
})
let indexes = getAvailableQdbIndexes(qdbs)
expect(indexes.length).toBe(1)
expect(indexes[0]).toBe(4)
indexes = getAvailableQdbIndexes(qdbs, 5)
expect(indexes).toStrictEqual([4, 6, 7, 8, 9])
})