@@ -473,33 +473,34 @@ def test_strategy(self):
473
473
'retaliation_length' : 4 ,
474
474
'retaliation_remaining' : 3 })
475
475
476
- # A fresh starts occurs on round 14.
477
476
opponent = axelrod .Cycler ('DDCDD' )
478
477
actions = [(C , D ), (D , D ), (D , C ), (D , D ), (D , D ),
479
478
(D , D ), (D , D ), (D , C ), (D , D ), (D , D ),
480
- (D , D ), (D , D ), (D , C ), (C , D ), (C , D ),
481
- (D , D ), (D , D ), (D , C ), (C , D ), (D , D ),
479
+ (D , D ), (D , D ), (D , C ), (D , D ), (D , D ),
482
480
(D , D ), (D , D ), (D , C ), (D , D ), (D , D )]
483
-
484
481
self .versus_test (opponent , expected_actions = actions ,
485
- attrs = {'current_score' : 40 , 'opponent_score' : 35 ,
486
- 'last_fresh_start' : 14 ,
487
- 'retaliation_length' : 4 ,
488
- 'retaliation_remaining' : 1 })
482
+ attrs = {'current_score' : 34 , 'opponent_score' : 19 ,
483
+ 'last_fresh_start' : 0 ,
484
+ 'retaliation_length' : 6 ,
485
+ 'retaliation_remaining' : 2 })
489
486
490
487
# When the length is given this strategy will not give a fresh start
491
488
opponent = axelrod .Cycler ('DDCDD' )
492
- actions = [(C , D ), (D , D ), (D , C ), (D , D ), (D , D ),
493
- (D , D ), (D , D ), (D , C ), (D , D ), (D , D ),
494
- (D , D ), (D , D ), (D , C ), (D , D ), (D , D )]
489
+ actions = [(C , D ), (D , D ), (D , C ), (D , D ), (D , D ), (D , D ), (D , D ),
490
+ (D , C ), (D , D ), (D , D ), (D , D ), (D , D ), (D , C ), (D , D ),
491
+ (D , D ), (D , D ), (D , D ), (D , C ), (D , D ), (D , D ), (D , D ),
492
+ (D , D ), (D , C ), (D , D ), (D , D ), (D , D ), (D , D ), (D , C ),
493
+ (C , D ), (C , D )]
495
494
self .versus_test (opponent , expected_actions = actions ,
496
- match_attributes = {'length' : 15 })
495
+ match_attributes = {'length' : 50 })
497
496
498
497
# When the length is not given this strategy will give a fresh start.
499
498
opponent = axelrod .Cycler ('DDCDD' )
500
- actions = [(C , D ), (D , D ), (D , C ), (D , D ), (D , D ),
501
- (D , D ), (D , D ), (D , C ), (D , D ), (D , D ),
502
- (D , D ), (D , D ), (D , C ), (C , D ), (C , D )]
499
+ actions = [(C , D ), (D , D ), (D , C ), (D , D ), (D , D ), (D , D ), (D , D ),
500
+ (D , C ), (D , D ), (D , D ), (D , D ), (D , D ), (D , C ), (D , D ),
501
+ (D , D ), (D , D ), (D , D ), (D , C ), (D , D ), (D , D ), (D , D ),
502
+ (D , D ), (D , C ), (D , D ), (D , D ), (D , D ), (D , D ), (D , C ),
503
+ (C , D ), (C , D )]
503
504
self .versus_test (opponent , expected_actions = actions ,
504
505
match_attributes = {'length' : float ('inf' )})
505
506
@@ -522,4 +523,18 @@ def test_strategy(self):
522
523
self .versus_test (opponent , expected_actions = actions ,
523
524
attrs = {'fresh_start' : False })
524
525
526
+ # check the fresh start condition: least 20 rounds since the last ‘fresh start’
527
+ opponent = axelrod .Cycler ('CCCCD' )
528
+ actions = [(C , C ), (C , C ), (C , C ), (C , C ), (C , D ), (D , C ), (C , C ),
529
+ (C , C ), (C , C ), (C , D ), (D , C ), (D , C ), (C , C ), (C , C ),
530
+ (C , D ), (D , C ), (D , C ), (D , C ), (C , C ), (C , D ), (D , C ),
531
+ (D , C ), (D , C ), (C , C ), (C , D ), (D , C ), (C , C ), (C , C ),
532
+ (C , C ), (C , D ), (D , C ), (D , C ), (C , C ), (C , C ), (C , D )]
533
+ self .versus_test (opponent , expected_actions = actions ,
534
+ match_attributes = {'length' : 35 },
535
+ attrs = {'current_score' : 108 , 'opponent_score' : 78 ,
536
+ 'last_fresh_start' : 24 ,
537
+ 'retaliation_length' : 2 ,
538
+ 'retaliation_remaining' : 0 })
539
+
525
540
0 commit comments