from datetime import datetime, timedelta import re import shutil from review.stats import Board, UserBoard, DurationBoard, ReviewData, ReviewStats def setup_function(): shutil.copyfile("tests/datas/reviewstats_1.csv", "tests/reviews/reviewstats_1.csv") shutil.copyfile("tests/datas/reviewstats_2.csv", "tests/reviews/reviewstats_2.csv") shutil.copyfile("tests/datas/reviewstats_empty.csv", "tests/reviews/reviewstats_empty.csv") def test_board(): board = Board() assert board.datas == {} assert board["test"] == 0 assert board.position("test") is None assert board.min == 0 assert board.max == 0 assert board.avg == 0 assert board.sum == 0 def test_userboard(): review = ReviewStats("tests/reviews/reviewstats_1.csv") review.load() board = review.users_board assert board["test"] == 0 assert board[1] == 5 assert board.min == 1 assert board.max == 10 assert board.sum == 51 assert board.avg == 3.1875 def test_durationboard(): review = ReviewStats("tests/reviews/reviewstats_1.csv") review.load() board = review.durations_board assert board["test"] == 0 assert board.min == 0 assert board.max == 0 assert board.sum == 0 assert board.avg == 0 def test_durationboard(): review = ReviewStats("tests/reviews/reviewstats_2.csv") review.load() board = review.durations_board assert board["test"] == 0 assert board.min == 3 assert board.max == 17 assert board.sum == 49 assert board.avg == 7.0 def test_reviewstats(): review = ReviewStats("tests/reviews/reviewstats_2.csv") review.load() assert review.size == 16 assert review.first is not None assert review.biggest is not None assert review.min_users == 1 assert review.max_users == 10 assert review.avg_users == 3.1875 assert review.min_duration == 3 assert review.max_duration == 17 assert review.avg_duration == 7.0 assert review.year_review(2012) == 2 def test_reviewstats_empty(): review = ReviewStats("tests/reviews/reviewstats_empty.csv") review.load() assert review.size == 0 assert review.first is None assert review.biggest is None assert review.min_users == 0 assert review.max_users == 0 assert review.avg_users == 0 assert review.min_duration == 0 assert review.max_duration == 0 assert review.avg_duration == 0 assert review.year_review(2012) == 0