7
7
"github.com/spacemeshos/go-spacemesh/mesh"
8
8
"github.com/spacemeshos/go-spacemesh/rand"
9
9
"github.com/stretchr/testify/assert"
10
+ "github.com/stretchr/testify/require"
10
11
"math"
11
12
"os"
12
13
"runtime"
@@ -352,12 +353,12 @@ func createLayer2(index types.LayerID, view *types.Layer, votes []*types.Layer,
352
353
for idx , pat := range patterns {
353
354
for _ , id := range pat {
354
355
b := votes [idx ].Blocks ()[id ]
355
- bl .AddVote (types . BlockID ( b .ID () ))
356
+ bl .AddVote (b .ID ())
356
357
}
357
358
}
358
359
if view != nil && len (view .Blocks ()) > 0 {
359
360
for _ , prevBloc := range view .Blocks () {
360
- bl .AddView (types . BlockID ( prevBloc .ID () ))
361
+ bl .AddView (prevBloc .ID ())
361
362
}
362
363
}
363
364
@@ -374,88 +375,88 @@ func TestNinjaTortoise_LayerWithNoVotes(t *testing.T) {
374
375
mdb := getInMemMesh ()
375
376
alg := newNinjaTortoise (200 , mdb , 5 , lg )
376
377
377
- l := createLayer2 (0 , nil , []* types.Layer {}, 154 )
378
+ l := createLayer2 (0 , nil , []* types.Layer {}, 128 )
378
379
AddLayer (mdb , l )
379
380
alg .handleIncomingLayer (l )
380
381
381
- l1 := createLayer2 (1 , l , []* types.Layer {l }, 141 )
382
+ l1 := createLayer2 (1 , l , []* types.Layer {l }, 117 )
382
383
AddLayer (mdb , l1 )
383
384
alg .handleIncomingLayer (l1 )
384
385
385
- l2 := createLayer2 (2 , l1 , []* types.Layer {l1 , l }, 129 )
386
+ l2 := createLayer2 (2 , l1 , []* types.Layer {l1 , l }, 107 )
386
387
AddLayer (mdb , l2 )
387
388
alg .handleIncomingLayer (l2 )
388
389
389
- l3 := createLayer2 (3 , l2 , []* types.Layer {l2 , l1 , l }, 132 )
390
+ l3 := createLayer2 (3 , l2 , []* types.Layer {l2 , l1 , l }, 110 )
390
391
AddLayer (mdb , l3 )
391
392
alg .handleIncomingLayer (l3 )
392
393
393
- l4 := createLayer2 (4 , l3 , []* types.Layer {l3 , l2 , l1 , l }, 138 )
394
+ l4 := createLayer2 (4 , l3 , []* types.Layer {l3 , l2 , l1 , l }, 115 )
394
395
AddLayer (mdb , l4 )
395
396
alg .handleIncomingLayer (l4 )
396
397
397
- l5 := createLayer2 (5 , l4 , []* types.Layer {l4 , l3 , l2 , l1 , l }, 158 )
398
+ l5 := createLayer2 (5 , l4 , []* types.Layer {l4 , l3 , l2 , l1 , l }, 131 )
398
399
AddLayer (mdb , l5 )
399
400
alg .handleIncomingLayer (l5 )
400
401
401
- l6 := createLayer2 (6 , l5 , []* types.Layer {l5 , l4 , l3 , l2 , l1 }, 155 )
402
+ l6 := createLayer2 (6 , l5 , []* types.Layer {l5 , l4 , l3 , l2 , l1 }, 129 )
402
403
AddLayer (mdb , l6 )
403
404
alg .handleIncomingLayer (l6 )
404
405
//
405
- l7 := createLayer2 (7 , l6 , []* types.Layer {l6 , l5 , l4 , l3 , l2 }, 130 )
406
+ l7 := createLayer2 (7 , l6 , []* types.Layer {l6 , l5 , l4 , l3 , l2 }, 108 )
406
407
AddLayer (mdb , l7 )
407
408
alg .handleIncomingLayer (l7 )
408
409
409
- l8 := createLayer2 (8 , l7 , []* types.Layer {l6 , l5 , l4 , l3 }, 150 )
410
+ l8 := createLayer2 (8 , l7 , []* types.Layer {l6 , l5 , l4 , l3 }, 125 )
410
411
AddLayer (mdb , l8 )
411
412
alg .handleIncomingLayer (l8 )
412
413
413
- l9 := createLayer2 (9 , l8 , []* types.Layer {l8 , l7 , l6 , l5 , l4 }, 134 )
414
+ l9 := createLayer2 (9 , l8 , []* types.Layer {l8 , l7 , l6 , l5 , l4 }, 112 )
414
415
AddLayer (mdb , l9 )
415
416
alg .handleIncomingLayer (l9 )
416
417
417
- l10 := createLayer2 (10 , l9 , []* types.Layer {l9 , l8 , l7 , l6 , l5 }, 148 )
418
+ l10 := createLayer2 (10 , l9 , []* types.Layer {l9 , l8 , l7 , l6 , l5 }, 124 )
418
419
AddLayer (mdb , l10 )
419
420
alg .handleIncomingLayer (l10 )
420
421
421
- l11 := createLayer2 (11 , l10 , []* types.Layer {l10 , l9 , l8 , l7 , l6 }, 147 )
422
+ l11 := createLayer2 (11 , l10 , []* types.Layer {l10 , l9 , l8 , l7 , l6 }, 122 )
422
423
AddLayer (mdb , l11 )
423
424
alg .handleIncomingLayer (l11 )
424
425
425
- assert . True (t , alg .PBase .Layer () == 7 )
426
+ require . Equal (t , types . LayerID ( 7 ), alg .PBase .Layer (), "unexpected pbase" )
426
427
427
- //now l7 one votes to be contextually valid in the eyes of layer 12 good pattern
428
- l12 := createLayer2 (12 , l11 , []* types.Layer {l11 , l10 , l9 , l8 , l7 }, 171 )
428
+ // now l7 one votes to be contextually valid in the eyes of layer 12 good pattern
429
+ l12 := createLayer2 (12 , l11 , []* types.Layer {l11 , l10 , l9 , l8 , l7 }, 142 )
429
430
AddLayer (mdb , l12 )
430
431
alg .handleIncomingLayer (l12 )
431
432
432
- assert . True (t , alg .PBase .Layer () == 7 )
433
+ require . Equal (t , types . LayerID ( 7 ), alg .PBase .Layer (), "unexpected pbase" )
433
434
434
- l13 := createLayer2 (13 , l12 , []* types.Layer {l12 , l11 , l10 , l9 , l8 }, 126 )
435
+ l13 := createLayer2 (13 , l12 , []* types.Layer {l12 , l11 , l10 , l9 , l8 }, 105 )
435
436
AddLayer (mdb , l13 )
436
437
alg .handleIncomingLayer (l13 )
437
438
438
- //now l7 has the exact amount of votes to be contextually valid which will make 12 good pattern complete
439
- l121 := createLayer2 (12 , l11 , []* types.Layer {l11 , l10 , l9 , l8 , l7 }, 1 )
440
- AddLayer (mdb , l121 )
441
- alg .handleIncomingLayer (l121 )
439
+ // now l7 has the exact amount of votes to be contextually valid which will make 12 good pattern complete
440
+ l12b := createLayer2 (12 , l11 , []* types.Layer {l11 , l10 , l9 , l8 , l7 }, 1 )
441
+ AddLayer (mdb , l12b )
442
+ alg .handleIncomingLayer (l12b )
442
443
443
- assert . True (t , alg .PBase .Layer () == 7 )
444
+ require . Equal (t , types . LayerID ( 7 ), alg .PBase .Layer (), "unexpected pbase" )
444
445
445
- l14 := createLayer2 (14 , l13 , []* types.Layer {l13 , l12 , l121 , l11 , l10 , l9 }, 148 )
446
+ l14 := createLayer2 (14 , l13 , []* types.Layer {l13 , l12 , l12b , l11 , l10 , l9 }, 123 )
446
447
AddLayer (mdb , l14 )
447
448
alg .handleIncomingLayer (l14 )
448
449
449
- l15 := createLayer2 (15 , l14 , []* types.Layer {l14 , l13 , l121 , l12 , l11 , l10 }, 150 )
450
+ l15 := createLayer2 (15 , l14 , []* types.Layer {l14 , l13 , l12b , l12 , l11 , l10 }, 125 )
450
451
AddLayer (mdb , l15 )
451
452
alg .handleIncomingLayer (l15 )
452
453
453
- assert . True (t , alg .PBase .Layer () == 7 )
454
+ require . Equal (t , types . LayerID ( 7 ), alg .PBase .Layer (), "unexpected pbase" )
454
455
455
- l16 := createLayer2 (16 , l15 , []* types.Layer {l15 , l14 , l121 , l13 , l12 , l11 }, 121 )
456
+ l16 := createLayer2 (16 , l15 , []* types.Layer {l15 , l14 , l12b , l13 , l12 , l11 }, 100 )
456
457
AddLayer (mdb , l16 )
457
458
alg .handleIncomingLayer (l16 )
458
- assert . True (t , alg .PBase .Layer () == 15 )
459
+ require . Equal (t , types . LayerID ( 15 ), alg .PBase .Layer (), "unexpected pbase" )
459
460
}
460
461
461
462
func TestNinjaTortoise_LayerWithNoVotes2 (t * testing.T ) {
@@ -464,76 +465,76 @@ func TestNinjaTortoise_LayerWithNoVotes2(t *testing.T) {
464
465
mdb := getInMemMesh ()
465
466
alg := newNinjaTortoise (200 , mdb , 5 , lg )
466
467
467
- l := createLayer2 (0 , nil , []* types.Layer {}, 154 )
468
+ l := createLayer2 (0 , nil , []* types.Layer {}, 128 )
468
469
AddLayer (mdb , l )
469
470
alg .handleIncomingLayer (l )
470
471
471
- l1 := createLayer2 (1 , l , []* types.Layer {l }, 141 )
472
+ l1 := createLayer2 (1 , l , []* types.Layer {l }, 117 )
472
473
AddLayer (mdb , l1 )
473
474
alg .handleIncomingLayer (l1 )
474
475
475
- l2 := createLayer2 (2 , l1 , []* types.Layer {l1 , l }, 129 )
476
+ l2 := createLayer2 (2 , l1 , []* types.Layer {l1 , l }, 107 )
476
477
AddLayer (mdb , l2 )
477
478
alg .handleIncomingLayer (l2 )
478
479
479
- l3 := createLayer2 (3 , l2 , []* types.Layer {l2 , l1 , l }, 132 )
480
+ l3 := createLayer2 (3 , l2 , []* types.Layer {l2 , l1 , l }, 116 )
480
481
AddLayer (mdb , l3 )
481
482
alg .handleIncomingLayer (l3 )
482
483
483
- l4 := createLayer2 (4 , l3 , []* types.Layer {l3 , l2 , l1 , l }, 138 )
484
+ l4 := createLayer2 (4 , l3 , []* types.Layer {l3 , l2 , l1 , l }, 115 )
484
485
AddLayer (mdb , l4 )
485
486
alg .handleIncomingLayer (l4 )
486
487
487
- l5 := createLayer2 (5 , l4 , []* types.Layer {l4 , l3 , l2 , l1 , l }, 158 )
488
+ l5 := createLayer2 (5 , l4 , []* types.Layer {l4 , l3 , l2 , l1 , l }, 132 )
488
489
AddLayer (mdb , l5 )
489
490
alg .handleIncomingLayer (l5 )
490
491
491
- l6 := createLayer2 (6 , l5 , []* types.Layer {l5 , l4 , l3 , l2 , l1 }, 155 )
492
+ l6 := createLayer2 (6 , l5 , []* types.Layer {l5 , l4 , l3 , l2 , l1 }, 129 )
492
493
AddLayer (mdb , l6 )
493
494
alg .handleIncomingLayer (l6 )
494
495
//
495
- l7 := createLayer2 (7 , l6 , []* types.Layer {l6 , l5 , l4 , l3 , l2 }, 130 )
496
+ l7 := createLayer2 (7 , l6 , []* types.Layer {l6 , l5 , l4 , l3 , l2 }, 108 )
496
497
AddLayer (mdb , l7 )
497
498
alg .handleIncomingLayer (l7 )
498
499
499
- l8 := createLayer2 (8 , l7 , []* types.Layer {l6 , l5 , l4 , l3 }, 150 )
500
+ l8 := createLayer2 (8 , l7 , []* types.Layer {l6 , l5 , l4 , l3 }, 125 )
500
501
AddLayer (mdb , l8 )
501
502
alg .handleIncomingLayer (l8 )
502
503
503
- l9 := createLayer2 (9 , l8 , []* types.Layer {l8 , l7 , l6 , l5 , l4 }, 134 )
504
+ l9 := createLayer2 (9 , l8 , []* types.Layer {l8 , l7 , l6 , l5 , l4 }, 112 )
504
505
AddLayer (mdb , l9 )
505
506
alg .handleIncomingLayer (l9 )
506
507
507
- l10 := createLayer2 (10 , l9 , []* types.Layer {l9 , l8 , l7 , l6 , l5 }, 148 )
508
+ l10 := createLayer2 (10 , l9 , []* types.Layer {l9 , l8 , l7 , l6 , l5 }, 123 )
508
509
AddLayer (mdb , l10 )
509
510
alg .handleIncomingLayer (l10 )
510
511
511
- l11 := createLayer2 (11 , l10 , []* types.Layer {l10 , l9 , l8 , l7 , l6 }, 147 )
512
+ l11 := createLayer2 (11 , l10 , []* types.Layer {l10 , l9 , l8 , l7 , l6 }, 122 )
512
513
AddLayer (mdb , l11 )
513
514
alg .handleIncomingLayer (l11 )
514
- assert . True (t , alg .PBase .Layer () == 7 )
515
+ require . Equal (t , types . LayerID ( 7 ), alg .PBase .Layer (), "unexpected pbase" )
515
516
516
517
// l7 is missing exactly 1 vote to be contextually valid which will make 12 complete
517
- l12 := createLayer2 (12 , l11 , []* types.Layer {l11 , l10 , l9 , l8 , l7 }, 171 )
518
+ l12 := createLayer2 (12 , l11 , []* types.Layer {l11 , l10 , l9 , l8 , l7 }, 142 )
518
519
AddLayer (mdb , l12 )
519
520
alg .handleIncomingLayer (l12 )
520
521
521
- l13 := createLayer2 (13 , l12 , []* types.Layer {l12 , l11 , l10 , l9 , l8 }, 126 )
522
+ l13 := createLayer2 (13 , l12 , []* types.Layer {l12 , l11 , l10 , l9 , l8 }, 105 )
522
523
AddLayer (mdb , l13 )
523
524
alg .handleIncomingLayer (l13 )
524
525
525
- l14 := createLayer2 (14 , l13 , []* types.Layer {l13 , l12 , l11 , l10 , l9 }, 148 )
526
+ l14 := createLayer2 (14 , l13 , []* types.Layer {l13 , l12 , l11 , l10 , l9 }, 123 )
526
527
AddLayer (mdb , l14 )
527
528
alg .handleIncomingLayer (l14 )
528
529
529
- l15 := createLayer2 (15 , l14 , []* types.Layer {l14 , l13 , l12 , l11 , l10 }, 150 )
530
+ l15 := createLayer2 (15 , l14 , []* types.Layer {l14 , l13 , l12 , l11 , l10 }, 125 )
530
531
AddLayer (mdb , l15 )
531
532
alg .handleIncomingLayer (l15 )
532
533
533
- l16 := createLayer2 (16 , l15 , []* types.Layer {l15 , l14 , l13 , l12 , l11 }, 121 )
534
+ l16 := createLayer2 (16 , l15 , []* types.Layer {l15 , l14 , l13 , l12 , l11 }, 101 )
534
535
AddLayer (mdb , l16 )
535
536
alg .handleIncomingLayer (l16 )
536
- assert . True (t , alg .PBase .Layer () == 7 )
537
+ require . Equal (t , types . LayerID ( 7 ), alg .PBase .Layer (), "unexpected pbase" )
537
538
}
538
539
539
540
func TestNinjaTortoise_OneMoreLayerWithNoVotes (t * testing.T ) {
0 commit comments