Beispiel #1
0
 def test_number_must_be_integer_compatible(self):
     episode = mediamodel.Episode('Title', 1)
     self.assertEqual(episode.number, 1)
     episode = mediamodel.Episode('Title', "1")
     self.assertEqual(episode.number, 1)
     with self.assertRaises(ValueError):
         mediamodel.Episode('Title', "un")
Beispiel #2
0
 def test_season_must_be_integer_compatible(self):
     episode = mediamodel.Episode('Title', 1, 2)
     self.assertEqual(episode.season, 2)
     episode = mediamodel.Episode('Title', 1, "2")
     self.assertEqual(episode.season, 2)
     with self.assertRaises(ValueError):
         mediamodel.Episode('Title', 1, "un")
Beispiel #3
0
    def test_added_episodes_cannot_be_duplicates(self):
        """
        Il ne doit pas être possible d'ajouter deux même épisodes, c'est à dire
        qu'ils ont le même numéro.

        Faire passer ce test va provoquer une erreur dans le test
        *test_can_add_value_to_episodes* puisque pour l'écriture de ce dernier,
        nous ajoutions juste une chaine de caractères. Dans une approche *TDD*,
        il est courant de devoir revenir sur un test qui doit évoluer en
        fonction d'autres. Corrigez donc le test précédent.
        """
        season = mediamodel.Season(1)
        season.add(mediamodel.Episode("Rose", 1, 1))

        with self.assertRaises(ValueError):  # Doit échouer car même épisode
            season.add(mediamodel.Episode("Rose", 1, 1))

        with self.assertRaises(
                ValueError):  # Doit échouer car seul le numéro compte
            season.add(mediamodel.Episode("Daleks", 1, 1))

        with self.assertRaises(
                ValueError):  # Doit échouer car seul le numéro compte
            season.add(mediamodel.Episode("Cybermen", 1))

        with self.assertRaises(
                ValueError):  # Doit échouer car seul le numéro compte
            season.add(mediamodel.Episode("The Next Doctor", 1, 5))
Beispiel #4
0
 def test_create_episode_without_season(self):
     episode = mediamodel.Episode("Title", 1)
     self.assertIsNotNone(episode)
Beispiel #5
0
 def test_title_cannot_be_empty(self):
     with self.assertRaises(ValueError):
         mediamodel.Episode('', 1)
Beispiel #6
0
 def test_title_should_be_string_or_raise_error(self):
     with self.assertRaises(ValueError):
         mediamodel.Episode(10, 1)
Beispiel #7
0
 def test_without_season_should_be_none(self):
     episode = mediamodel.Episode("Title", 1)
     self.assertIsNone(episode.season)
Beispiel #8
0
 def test_shouldnt_assign_season(self):
     episode = mediamodel.Episode("Title", 1)
     with self.assertRaises(AttributeError):
         episode.season = 2
Beispiel #9
0
 def test_season_accessible(self):
     episode = mediamodel.Episode("Title", 1, 2)
     self.assertEqual(episode.season, 2)
Beispiel #10
0
 def test_should_not_assign_number(self):
     episode = mediamodel.Episode("Title", 1)
     with self.assertRaises(AttributeError):
         episode.number = 2
Beispiel #11
0
 def test_number_accessible(self):
     episode = mediamodel.Episode("Title", 1)
     self.assertEqual(episode.number, 1)
Beispiel #12
0
 def test_should_not_assign_title(self):
     episode = mediamodel.Episode("Title", 1)
     with self.assertRaises(AttributeError):
         episode.title = 'Other title'
Beispiel #13
0
 def test_title_accessible(self):
     episode = mediamodel.Episode("Title", 1)
     self.assertEqual(episode.title, "Title")
Beispiel #14
0
 def test_should_not_alter_episodes(self):
     episodes = self.show.episodes()
     episodes.append(mediamodel.Episode('Intruder', 2))
     self.assertEqual(len(self.show.episodes()), 0)