def __init__(self) -> None: super().__init__() userPiecesRepository = Repository() aiPiecesRepository = Repository() validator = Validator(userPiecesRepository, aiPiecesRepository) userPiecesService = UserService(userPiecesRepository, validator) aiPiecesService = AIService(aiPiecesRepository, userPiecesRepository, validator) gameService = GameService(userPiecesService, aiPiecesService) self.console = Console(userPiecesService, aiPiecesService, gameService)
def test_add(self): repositoryMock = Repository() repositoryMock.add(5) repositoryMock.add(Piece(5, 7)) self.assertEqual(repositoryMock.getList(), [5, Piece(5, 7)]) with self.assertRaises(RepositoryException): repositoryMock.add(5)
def test_addBestPlayPiece(self): userPiecesRepository = Repository() aiPiecesRepository = Repository() aiPiecesRepository.add(Piece(0, 0)) aiPiecesRepository.add(Piece(1, 1)) validator = Validator(userPiecesRepository, aiPiecesRepository) aiPiecesService = AIService(aiPiecesRepository, userPiecesRepository, validator) aiPiecesService.addPiece() self.assertEqual( aiPiecesService.getList(), [Piece(0, 0), Piece(1, 1), Piece(2, 2)])
def start(self): github = Github(args.token, args.months) repositories = github.get_projects() with ThreadPoolExecutor(len(repositories)) as executor: repository = Repository() func = partial(repository.start) executor.map(func, repositories)
def test_winner(self): userPiecesRepository = Repository() userPiecesRepository.add(Piece(0, 0)) userPiecesRepository.add(Piece(1, 1)) userPiecesRepository.add(Piece(2, 2)) userPiecesRepository.add(Piece(3, 3)) userPiecesRepository.add(Piece(4, 4)) aiPiecesRepository = Repository() validator = Validator(userPiecesRepository, aiPiecesRepository) userPiecesService = UserService(userPiecesRepository, validator) aiPiecesService = AIService(aiPiecesRepository, userPiecesRepository, validator) gameService = GameService(userPiecesService, aiPiecesService) self.assertEqual(gameService.winner(), 0)
def test_addPieceToBlock(self): userPiecesRepository = Repository() userPiecesRepository.add(Piece(0, 0)) userPiecesRepository.add(Piece(1, 1)) userPiecesRepository.add(Piece(2, 2)) userPiecesRepository.add(Piece(3, 3)) aiPiecesRepository = Repository() validator = Validator(userPiecesRepository, aiPiecesRepository) aiPiecesService = AIService(aiPiecesRepository, userPiecesRepository, validator) aiPiecesService.addPiece() self.assertEqual(aiPiecesService.getList(), [Piece(4, 4)])
def test_isValid(self): repository1 = Repository() repository1.add(Piece(0, 0)) repository1.add(Piece(1, 1)) repository2 = Repository() repository2.add(Piece(13, 13)) repository2.add(Piece(14, 14)) validator = Validator(repository1, repository2) self.assertTrue(validator.isValid(Piece(3, 3))) self.assertTrue(validator.isValid(Piece(3, 8))) self.assertFalse(validator.isValid(Piece(-1, 5))) self.assertFalse(validator.isValid(Piece(-1, -9))) self.assertFalse(validator.isValid(Piece(21, 5))) self.assertFalse(validator.isValid(Piece(1, 55))) self.assertFalse(validator.isValid(Piece(0, 0))) self.assertFalse(validator.isValid(Piece(14, 14)))
def test_addPiece(self): repository1 = Repository() repository1.add(Piece(0, 0)) repository1.add(Piece(1, 1)) repository2 = Repository() repository2.add(Piece(13, 13)) repository2.add(Piece(14, 14)) validator = Validator(repository1, repository2) userService = UserService(repository1, validator) userService.addPiece(5, 5) self.assertEqual( userService.getList(), [Piece(0, 0), Piece(1, 1), Piece(5, 5)]) with self.assertRaises(ValidException): userService.addPiece(0, 0) with self.assertRaises(ValidException): userService.addPiece(13, 13) with self.assertRaises(ValidException): userService.addPiece(-1, 0) with self.assertRaises(ValidException): userService.addPiece(0, 199)
import matplotlib from src.Controller import Controller from src.Repository import Repository import matplotlib.pyplot as plt if __name__ == '__main__': # repo = Repository("../data/2c.dat") repo = Repository("../data/3c.dat") ctrl = Controller(repo) total_accuracy = [] total_runs = 1000 total_sets = 0.15 for run in range(total_runs): accuracy = ctrl.run(total_sets) total_accuracy.append(accuracy) print("Accuracy for run {0} = {1}".format(run, accuracy)) print("Accuracy for {0} runs with {1} sets is: {2}".format(total_runs, total_sets, sum(total_accuracy)/total_runs)) plt.plot(range(total_runs), total_accuracy) plt.show()
from src.Controller import Controller from src.Repository import Repository from src.View import View temperature_filename = "../data/temperature.dat" humidity_filename = "../data/humidity.dat" time_filename = "../data/time.dat" table_filename = "../data/table.dat" if __name__ == '__main__': temperature_repository = Repository(temperature_filename) controller = Controller(Repository(temperature_filename), Repository(humidity_filename), Repository(time_filename), table_filename) view = View(controller) view.run()