This commit is contained in:
Raven Scott
2026-05-20 23:57:33 -04:00
parent ac60c93151
commit 226fca591d
86 changed files with 200 additions and 162 deletions
@@ -0,0 +1,36 @@
require('bare-process/global')
const test = require('brittle')
const { HyperP2PMemeticSpread, PROTOCOL } = require('../index.js')
test('exports', (t) => {
t.ok(HyperP2PMemeticSpread)
t.is(PROTOCOL, 'memetic-spread/v1')
})
test('infect increases strain', async (t) => {
const m = new HyperP2PMemeticSpread()
m.infect('meme-1', 'peer-a')
m.infect('meme-1', 'peer-b')
t.is(m.strain('meme-1'), 2)
await m.close()
})
test('spreadStats', async (t) => {
const m = new HyperP2PMemeticSpread()
m.infect('m', 'p')
t.is(m.spreadStats().totalMemes, 1)
await m.close()
})
test('validation', async (t) => {
const m = new HyperP2PMemeticSpread()
try { m.infect(null, 'p') } catch (e) { t.ok(e) }
await m.close()
})
test('getStats', async (t) => {
const m = new HyperP2PMemeticSpread()
m.infect('x', 'y')
t.is(m.getStats().infections, 1)
await m.close()
})