def test_returns_warning_sentence(self):
     sentence1_to_test = 'Oi! Sheep number 1! You are about to be eaten by a wolf!'
     sentence2_to_test = 'Oi! Sheep number 2! You are about to be eaten by a wolf!'
     #TODO: There's another requirement for this test: if the wolf is NOT the closest animal to you, return ^
     self.assertEqual(sentence1_to_test,
                      warn_the_sheep(['sheep', 'sheep', 'wolf', 'sheep']))
     self.assertEqual(
         sentence2_to_test,
         warn_the_sheep(['sheep', 'sheep', 'wolf', 'sheep', 'sheep']))
 def test_method_exists(self):
     self.assertTrue(warn_the_sheep())
 def test_returns_pls_go_away_sentence(self):
     sentence_to_test = 'Pls go away and stop eating my sheep'
     #TODO: There's another requirement for this test: if the wolf is the closest animal to you, return ^
     self.assertEqual(sentence_to_test,
                      warn_the_sheep(['sheep', 'sheep', 'wolf']))
 def test_returns_warning_sentence(self):
     sentence_to_test = 'Oi! Sheep number N! You are about to be eaten by a wolf!'
     #TODO: There's another requirement for this test: if the wolf is NOT the closest animal to you, return ^
     self.assertEqual(sentence_to_test, warn_the_sheep('something'))
 def test_non_list_parameter(self):
     sentence_to_test = "sheep_wolf_queue is not a list"
     self.assertEqual(sentence_to_test, warn_the_sheep())
    def test_other_animal(self):
        sheep_wolf_queue = ['lion']
        expected_value = 'Oi! Sheep 1, wolf is behind you!'  #todo
        actual_value = warn_the_sheep(sheep_wolf_queue=sheep_wolf_queue)

        self.assertEqual(expected_value, actual_value)
    def test_when_wolf_in_front_of_line(self):
        expected_value = 'Pls go away'
        sheep_wolf_queue = ['sheep', 'wolf']
        actual_value = warn_the_sheep(sheep_wolf_queue=sheep_wolf_queue)

        self.assertEqual(expected_value, actual_value)
    def test_no_sheep_only_wolf(self):
        sheep_wolf_queue = ['wolf']
        expected_value = 'Oi! Sheep 1, wolf is behind you!'  #todo
        actual_value = warn_the_sheep(sheep_wolf_queue=sheep_wolf_queue)

        self.assertEqual(expected_value, actual_value)
 def test_method_exists(self):
     sheep_wolf_queue = ['sheep']
     self.assertFalse(warn_the_sheep(sheep_wolf_queue=sheep_wolf_queue))
    def test_when_wolf_alternating_two_wolfs(self):
        sheep_wolf_queue = ['wolf', 'sheep', 'wolf', 'sheep']
        expected_value = 'Oi! Sheep 1, wolf is behind you!'  #todo
        actual_value = warn_the_sheep(sheep_wolf_queue=sheep_wolf_queue)

        self.assertEqual(expected_value, actual_value)
    def test_when_wolf_in_the_middle(self):
        sheep_wolf_queue = ['sheep', 'wolf', 'sheep']
        expected_value = 'Oi! Sheep 1, wolf is behind you!'
        actual_value = warn_the_sheep(sheep_wolf_queue=sheep_wolf_queue)

        self.assertEqual(expected_value, actual_value)
    def test_when_wolf_not_in_front_of_line(self):
        expected_value = 'Oi! Sheep 2, wolf is behind you!'
        sheep_wolf_queue = ['wolf', 'sheep', 'sheep']
        actual_value = warn_the_sheep(sheep_wolf_queue=sheep_wolf_queue)

        self.assertEqual(expected_value, actual_value)