def test_repository_can_retrieve_movie_count():
    x = memory_repository.MemoryRepository()
    data_path = os.path.join('website', 'datafilereaders', 'datafiles')
    memory_repository.load_movies(data_path, x)
    number_of_movies = x.get_number_of_movies()

    # Check that the query returned 1000 movies..
    assert number_of_movies == 1000
def test_repository_can_add_movie():
    x = memory_repository.MemoryRepository()
    movie = Movie(
        "Prometheus",
        2010,
    )
    x.add_movie(movie)

    assert x.get_movie(movie) is movie
def test_repository_can_add_a_review():
    x = memory_repository.MemoryRepository()
    user = User('dave', '123456789')
    x.add_user(user)
    movie = Movie(
        "Prometheus",
        2010,
    )
    review = make_review("Not good", user, movie, 4, datetime.today())
    x.add_review(review)

    assert review in x.get_reviews()
def test_repository_can_retrieve_movie():
    x = memory_repository.MemoryRepository()
    data_path = os.path.join('website', 'datafilereaders', 'datafiles')
    memory_repository.load_movies(data_path, x)
    a_movie = Movie("Guardians of the Galaxy", 2014)
    a_genre = Genre("Action,Adventure,Sci-Fi")

    movie = x.get_movie(a_movie)

    # Check that the Movie has the expected title.
    assert movie.title == "Guardians of the Galaxy"
    assert movie.release == 2014

    assert str(movie.genres) == '[<Genre Action>, <Genre Adventure>, <Genre Sci-Fi>]'
def test_repository_can_retrieve_reviews(in_memory_repo):
    x = memory_repository.MemoryRepository()
    user = User('dave', '123456789')
    x.add_user(user)
    movie = Movie(
        "Prometheus",
        2010,
    )
    another_movie = Movie("It Follows",2014)
    review = make_review("Not good", user, movie, 4, datetime.today())
    in_memory_repo.add_review(review)
    another_review = make_review("awesome", user, another_movie, 10, datetime.today())
    in_memory_repo.add_review(another_review)

    assert len(in_memory_repo.get_reviews()) == 2
def test_repository_does_not_retrieve_a_non_existent_user():
    x = memory_repository.MemoryRepository()
    user = x.get_user('prince')
    assert user is None
def test_repository_can_retrieve_a_user():
    x = memory_repository.MemoryRepository()
    user = User('dave', '123456789')
    x.add_user(user)
    user = x.get_user('dave')
    assert user == User('dave', '123456789')
def test_repository_can_add_a_user():
    x = memory_repository.MemoryRepository()
    user = User('dave', '123456789')
    x.add_user(user)

    assert x.get_user('dave') is user
import os
from datetime import date, datetime
from typing import List

import pytest

from website.directory import memory_repository
from website.directory.repository import AbstractRepository, RepositoryException
from website.domainmodel.model import Movie, User, Review, Actor, Director, Genre, make_review, ReviewException

from website.datafilereaders import movie_file_csv_reader
from website.directory import memory_repository

x = memory_repository.MemoryRepository()
data_path = os.path.join('c:', os.sep, 'Users', 'Dane Lyttinen', 'Desktop',
                         'assignment3,225', 'Assignment3', 'tests', 'data',
                         'Data1000Movies.csv')
memory_repository.load_movies(data_path, x)


def test_repository_can_load_movies(in_memory_repo):
    memory_repository.load_movies(data_path, in_memory_repo)


def test_repository_can_add_a_user():
    x = memory_repository.MemoryRepository()
    user = User('dave', '123456789')
    x.add_user(user)

    assert x.get_user('dave') is user
def test_repository_can_load_movies():
    data_path = os.path.join('website', 'datafilereaders', 'datafiles')
    x = memory_repository.MemoryRepository()
    memory_repository.load_movies(data_path, x)