Skip to content

Commit 877b989

Browse files
committed
Remove temporary files from tests.
1 parent f30beb5 commit 877b989

File tree

1 file changed

+30
-31
lines changed

1 file changed

+30
-31
lines changed

axelrod/tests/unit/test_resultset.py

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
from numpy import mean, std, nanmedian
66

7-
import tempfile
87
import csv
98

109
from hypothesis import given, settings
@@ -16,6 +15,8 @@ class TestResultSet(unittest.TestCase):
1615
@classmethod
1716
def setUpClass(cls):
1817

18+
cls.filename = "test_results.csv"
19+
1920
cls.players = (axelrod.Alternator(), axelrod.TitForTat(), axelrod.Defector())
2021
cls.turns = 5
2122
cls.matches = {
@@ -410,11 +411,10 @@ def test_summarise(self):
410411
ranked_median_wins)
411412

412413
def test_write_summary(self):
413-
tmp_file = tempfile.NamedTemporaryFile()
414414
rs = axelrod.ResultSet(self.players, self.interactions,
415415
progress_bar=False)
416-
rs.write_summary(filename=tmp_file.name)
417-
with open(tmp_file.name, "r") as csvfile:
416+
rs.write_summary(filename=self.filename)
417+
with open(self.filename, "r") as csvfile:
418418
ranked_names = []
419419
csvreader = csv.reader(csvfile)
420420
for row in csvreader:
@@ -427,46 +427,45 @@ def test_write_summary(self):
427427

428428

429429
class TestResultSetFromFile(unittest.TestCase):
430-
tmp_file = tempfile.NamedTemporaryFile(mode='w', delete=False)
430+
filename = "test_results_from_file.csv"
431431
players = [axelrod.Cooperator(),
432432
axelrod.TitForTat(),
433433
axelrod.Defector()]
434434
tournament = axelrod.Tournament(players=players, turns=2, repetitions=3)
435-
tournament.play(filename=tmp_file.name)
436-
tmp_file.close()
435+
tournament.play(filename=filename)
437436

438-
interactions = iu.read_interactions_from_file(tmp_file.name)
437+
interactions = iu.read_interactions_from_file(filename)
439438

440439
def test_init(self):
441-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=False)
440+
brs = axelrod.ResultSetFromFile(self.filename, progress_bar=False)
442441
self.assertEqual(brs.players, [str(p) for p in self.players])
443442
self.assertEqual(brs.nplayers, len(self.players))
444443
self.assertEqual(brs.nrepetitions, 3)
445444

446445
def test_init_with_different_game(self):
447446
game = axelrod.Game(p=-1, r=-1, s=-1, t=-1)
448-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=False,
447+
brs = axelrod.ResultSetFromFile(self.filename, progress_bar=False,
449448
game=game)
450449
self.assertEqual(brs.game.RPST(), (-1, -1, -1, -1))
451450

452451
def test_init_with_progress_bar(self):
453452
"""Just able to test that no error occurs"""
454-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=True)
453+
brs = axelrod.ResultSetFromFile(self.filename, progress_bar=True)
455454
self.assertEqual(brs.nplayers, len(self.players))
456455
self.assertEqual(brs.nrepetitions, 3)
457456
self.assertEqual(brs.num_interactions, 18)
458457

459458
def test_init_with_num_interactions(self):
460459
"""Just able to test that no error occurs"""
461-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=True,
460+
brs = axelrod.ResultSetFromFile(self.filename, progress_bar=True,
462461
num_interactions=18)
463462
self.assertEqual(brs.nplayers, len(self.players))
464463
self.assertEqual(brs.nrepetitions, 3)
465464
self.assertEqual(brs.num_interactions, 18)
466465

467466
def test_init_with_players_nrepetitions(self):
468467
"""Just able to test that no error occurs"""
469-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=True,
468+
brs = axelrod.ResultSetFromFile(self.filename, progress_bar=True,
470469
num_interactions=18, nrepetitions=3,
471470
players=[str(p) for p in self.players])
472471
self.assertEqual(brs.nplayers, len(self.players))
@@ -476,12 +475,12 @@ def test_init_with_players_nrepetitions(self):
476475
def test_equality(self):
477476
"""A test that checks overall equality by comparing to the base result
478477
set class"""
479-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=False)
478+
brs = axelrod.ResultSetFromFile(self.filename, progress_bar=False)
480479
rs = axelrod.ResultSet(self.players, self.interactions, progress_bar=False)
481480
self.assertEqual(rs, brs)
482481

483482
def test_interactions_equality(self):
484-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=False,
483+
brs = axelrod.ResultSetFromFile(self.filename, progress_bar=False,
485484
keep_interactions=True)
486485
rs = axelrod.ResultSet(self.players, self.interactions, progress_bar=False)
487486
self.assertEqual(rs.interactions, brs.interactions)
@@ -491,11 +490,11 @@ def test_interactions_equality(self):
491490
max_repetitions=3))
492491
@settings(max_examples=50, timeout=0)
493492
def test_equality_with_round_robin(self, tournament):
494-
tmp_file = tempfile.NamedTemporaryFile(mode='w', delete=False)
495-
tournament.play(filename=tmp_file.name, progress_bar=False,
493+
filename = "test_results.csv"
494+
tournament.play(filename=filename, progress_bar=False,
496495
build_results=False)
497-
brs = axelrod.ResultSetFromFile(tmp_file.name, progress_bar=False)
498-
interactions = iu.read_interactions_from_file(tmp_file.name)
496+
brs = axelrod.ResultSetFromFile(filename, progress_bar=False)
497+
interactions = iu.read_interactions_from_file(filename)
499498
rs = axelrod.ResultSet(tournament.players, interactions,
500499
progress_bar=False)
501500

@@ -510,11 +509,11 @@ def test_equality_with_round_robin(self, tournament):
510509
max_repetitions=3))
511510
@settings(max_examples=50, timeout=0)
512511
def test_equality_with_prob_end(self, tournament):
513-
tmp_file = tempfile.NamedTemporaryFile(mode='w', delete=False)
514-
tournament.play(filename=tmp_file.name, progress_bar=False,
512+
filename = "test_results.csv"
513+
tournament.play(filename=filename, progress_bar=False,
515514
build_results=False)
516-
brs = axelrod.ResultSetFromFile(tmp_file.name, progress_bar=False)
517-
interactions = iu.read_interactions_from_file(tmp_file.name)
515+
brs = axelrod.ResultSetFromFile(filename, progress_bar=False)
516+
interactions = iu.read_interactions_from_file(filename)
518517
rs = axelrod.ResultSet(tournament.players, interactions,
519518
progress_bar=False)
520519

@@ -525,14 +524,14 @@ def test_equality_with_prob_end(self, tournament):
525524
self.assertEqual(rs.cooperation, brs.cooperation)
526525

527526
def test_read_players_and_repetitions(self):
528-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=False)
527+
brs = axelrod.ResultSetFromFile(self.filename, progress_bar=False)
529528
players, nrepetitions = brs._read_players_and_repetition_numbers()
530529
expected_players = ['Cooperator', 'Tit For Tat', 'Defector']
531530
self.assertEqual(brs.players, expected_players)
532531
self.assertEqual(nrepetitions, 3)
533532

534533
def test_update_repetitions(self):
535-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=False)
534+
brs = axelrod.ResultSetFromFile(filename=self.filename, progress_bar=False)
536535
brs.repetitions_d = {}
537536
brs._update_repetitions((0, 0))
538537
self.assertEqual(brs.repetitions_d, {(0, 0): 1})
@@ -542,7 +541,7 @@ def test_update_repetitions(self):
542541
self.assertEqual(brs.repetitions_d, {(0, 0): 2, (0, 1): 1})
543542

544543
def test_build_repetitions(self):
545-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=False)
544+
brs = axelrod.ResultSetFromFile(self.filename, progress_bar=False)
546545
brs.repetitions_d = {}
547546
brs._update_repetitions((0, 0))
548547
brs._update_repetitions((0, 0))
@@ -551,7 +550,7 @@ def test_build_repetitions(self):
551550
self.assertFalse(hasattr(brs, 'repetitions_d'))
552551

553552
def test_update_players(self):
554-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=False)
553+
brs = axelrod.ResultSetFromFile(self.filename, progress_bar=False)
555554
brs.players_d = {}
556555
brs._update_players((0, 0), ('Cooperator', 'Cooperator'))
557556
self.assertEqual(brs.players_d, {0: 'Cooperator'})
@@ -561,7 +560,7 @@ def test_update_players(self):
561560
self.assertEqual(brs.players_d, {0: 'Cooperator', 1: 'Defector'})
562561

563562
def test_build_players(self):
564-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=False)
563+
brs = axelrod.ResultSetFromFile(self.filename, progress_bar=False)
565564
brs.players_d = {}
566565
brs._update_players((0, 0), ('Cooperator', 'Cooperator'))
567566
brs._update_players((0, 1), ('Cooperator', 'Defector'))
@@ -570,7 +569,7 @@ def test_build_players(self):
570569
self.assertFalse(hasattr(brs, 'players_d'))
571570

572571
def test_build_read_match_chunks(self):
573-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=False)
572+
brs = axelrod.ResultSetFromFile(self.filename, progress_bar=False)
574573
matches = brs.read_match_chunks()
575574
chunk = next(matches)
576575
self.assertEqual(chunk[0], ['0'] * 2 + ['Cooperator'] * 2 + ['CC'] * 2)
@@ -579,7 +578,7 @@ def test_build_read_match_chunks(self):
579578
self.assertEqual(len(list(matches)), 5)
580579

581580
def test_build_all(self):
582-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=False)
581+
brs = axelrod.ResultSetFromFile(self.filename, progress_bar=False)
583582
rs = axelrod.ResultSet(self.players, self.interactions,
584583
progress_bar=False)
585584

@@ -607,7 +606,7 @@ def test_buid_empty_metrics(self):
607606
for player in plist]
608607

609608
expected_good_partner_rating = [0 for player in plist]
610-
brs = axelrod.ResultSetFromFile(self.tmp_file.name, progress_bar=False)
609+
brs = axelrod.ResultSetFromFile(self.filename, progress_bar=False)
611610
brs.match_lengths = []
612611
brs.wins = []
613612
brs.scores = []

0 commit comments

Comments
 (0)