Esempio n. 1
0
def test_movie_false_eq_function():
    movie1 = Movie("Princess and The Frog", 2009)
    movie2 = Movie(" ", 11)
    assert movie1.__eq__(movie2) is False
def test_movie_methods():

    #repr
    movie1 = Movie("Moana", 2016)
    assert movie1.__repr__() == '<Movie Moana, 2016>'
    movie2 = Movie("", 2016)
    assert movie2.__repr__() == '<Movie None, 2016>'
    movie3 = Movie(24, 2006)
    assert movie3.__repr__() == '<Movie None, 2006>'
    movie4 = Movie("Moana", "")
    assert movie4.__repr__() == '<Movie Moana, None>'
    movie5 = Movie("Moana", 1888)
    assert movie5.__repr__() == '<Movie Moana, None>'
    movie6 = Movie("", "")
    assert movie6.__repr__() == '<Movie None, None>'

    #eq
    movie7 = Movie("Moana", 2016)
    assert movie1.__eq__(movie7) == True
    assert movie1.__eq__(movie1) == True
    assert movie1.__eq__(movie2) == False

    #lt
    movie8 = Movie("Moana", 2006)
    assert movie8.__lt__(movie1) == True
    assert movie8.__lt__(movie8) == False
    assert movie1.__lt__(movie8) == False

    #hash
    assert hash(movie8) == hash(movie8)
    assert hash(movie7) == hash(movie1)
    assert hash(movie8) != hash(movie1)
    assert hash(movie8) != hash(movie2)

    #add and remove actor and genres
    #works

    #### EXTENSION ####

    #metascore
    movie1.metascore = 210
    assert movie1.metascore == 210
    movie2.metascore = 'lsdflfaskf'
    assert movie2.metascore == "N/A"
    movie3.metascore = -123
    assert movie3.metascore == 'N/A'

    #revenue
    movie1.revenue = 333.13
    assert movie1.revenue == 333.13
    movie2.revenue = 333
    assert movie2.revenue == 333
    movie3.revenue = -123
    assert movie3.revenue == "N/A"
    movie4.revenue = 'sadhjkfasdjkfh'
    assert movie4.revenue == 'N/A'

    #votes
    movie1.votes = 132456
    assert movie1.votes == 132456
    movie2.votes = -456123
    assert movie2.votes == None
    movie3.votes = 'sadfkasdgk'
    assert movie3.votes == None

    #rating
    movie1.rating = 8.1
    assert movie1.rating == 8.1
    movie2.rating = 8.0
    assert movie2.rating == 8.0
    movie3.rating = -45
    assert movie3.rating == None
    movie4.rating = 45
    assert movie4.rating == None
    movie5.rating = 'sdjfasdgkfjgkj'
    assert movie5.rating == None