|
1 | 1 | const OverlayTopology = require('../../src/logic/OverlayTopology')
|
2 | 2 |
|
| 3 | +const maxNeighborsPerNodeArray = [4, 8, 12, 16] |
| 4 | + |
3 | 5 | test('forming overlay topology', () => {
|
4 | 6 | const topology = new OverlayTopology(3, (arr) => arr, (arr) => arr[0])
|
5 | 7 |
|
@@ -226,41 +228,45 @@ test('forming overlay topology', () => {
|
226 | 228 | })
|
227 | 229 |
|
228 | 230 | test('unknown nodes are discarded', () => {
|
229 |
| - const topology = new OverlayTopology(3) |
| 231 | + maxNeighborsPerNodeArray.forEach((maxNeighborsPerNode) => { |
| 232 | + const topology = new OverlayTopology(maxNeighborsPerNode) |
230 | 233 |
|
231 |
| - topology.update('node-1', []) |
232 |
| - topology.update('node-2', []) |
233 |
| - topology.update('node-3', []) |
| 234 | + topology.update('node-1', []) |
| 235 | + topology.update('node-2', []) |
| 236 | + topology.update('node-3', []) |
234 | 237 |
|
235 |
| - topology.update('node-1', ['node-2', 'node-3', 'node-4']) |
236 |
| - expect(topology.state()).toEqual({ |
237 |
| - 'node-1': [ |
238 |
| - 'node-2', |
239 |
| - 'node-3' |
240 |
| - ], |
241 |
| - 'node-2': [ |
242 |
| - 'node-1' |
243 |
| - ], |
244 |
| - 'node-3': [ |
245 |
| - 'node-1' |
246 |
| - ] |
| 238 | + topology.update('node-1', ['node-2', 'node-3', 'node-4']) |
| 239 | + expect(topology.state()).toEqual({ |
| 240 | + 'node-1': [ |
| 241 | + 'node-2', |
| 242 | + 'node-3' |
| 243 | + ], |
| 244 | + 'node-2': [ |
| 245 | + 'node-1' |
| 246 | + ], |
| 247 | + 'node-3': [ |
| 248 | + 'node-1' |
| 249 | + ] |
| 250 | + }) |
247 | 251 | })
|
248 | 252 | })
|
249 | 253 |
|
250 | 254 | // TODO: remove or write better, since not the best way to test randomness
|
251 | 255 | test('100 rounds of typical operation does not lead to invariant exception', () => {
|
252 |
| - for (let i = 0; i < 100; ++i) { |
253 |
| - const topology = new OverlayTopology(4) |
254 |
| - topology.update('node-1', []) |
255 |
| - topology.update('node-2', []) |
256 |
| - topology.formInstructions('node-2') |
257 |
| - topology.update('node-3', []) |
258 |
| - topology.formInstructions('node-3') |
259 |
| - topology.update('node-4', []) |
260 |
| - topology.formInstructions('node-4') |
261 |
| - topology.update('node-5', []) |
262 |
| - topology.formInstructions('node-5') |
263 |
| - topology.update('node-0', []) |
264 |
| - topology.formInstructions('node-0') |
265 |
| - } |
| 256 | + maxNeighborsPerNodeArray.forEach((maxNeighborsPerNode) => { |
| 257 | + for (let i = 0; i < 100; ++i) { |
| 258 | + const topology = new OverlayTopology(maxNeighborsPerNode) |
| 259 | + topology.update('node-1', []) |
| 260 | + topology.update('node-2', []) |
| 261 | + topology.formInstructions('node-2') |
| 262 | + topology.update('node-3', []) |
| 263 | + topology.formInstructions('node-3') |
| 264 | + topology.update('node-4', []) |
| 265 | + topology.formInstructions('node-4') |
| 266 | + topology.update('node-5', []) |
| 267 | + topology.formInstructions('node-5') |
| 268 | + topology.update('node-0', []) |
| 269 | + topology.formInstructions('node-0') |
| 270 | + } |
| 271 | + }) |
266 | 272 | })
|
0 commit comments