def test_urls(self):
     """ Test that the predictor returns the correct urls. """
     predictor = GROSUserStoryPointsPredictor("http://gros/")
     self.assertEqual(["http://gros/branch/abe-validation-results/project"], predictor.metric_source_urls("project"))
 def test_url_exception(self, mock_url_read):
     """ Test that the predictor returns -1 on error. """
     mock_url_read.side_effect = URLError("reason")
     predictor = GROSUserStoryPointsPredictor("url")
     self.assertEqual(-1, predictor.predicted_number_of_user_story_points("project"))
 def test_missing_field(self, mock_url_read):
     """ Test that the predictor returns -1 on error. """
     mock_url_read.return_value = "{}"
     predictor = GROSUserStoryPointsPredictor("url")
     self.assertEqual(-1, predictor.predicted_number_of_user_story_points("project"))
 def test_planned(self, mock_url_read):
     """ Test that the planned number of user story points can be retrieved. """
     mock_url_read.return_value = '{"features": {"num_story_points": 50}}'
     predictor = GROSUserStoryPointsPredictor("url")
     self.assertEqual(50, predictor.planned_number_of_user_story_points("project"))
 def test_prediction(self, mock_url_read):
     """ Test that the predicted number of user story points can be retrieved. """
     mock_url_read.return_value = '{"prediction": 42}'
     predictor = GROSUserStoryPointsPredictor("url")
     self.assertEqual(42, predictor.predicted_number_of_user_story_points("project"))
 def test_urls(self):
     """ Test that the predictor returns the correct urls. """
     predictor = GROSUserStoryPointsPredictor("http://gros/")
     self.assertEqual(["http://gros/branch/abe-validation-results/project"],
                      predictor.metric_source_urls("project"))
 def test_missing_field(self, mock_url_read):
     """ Test that the predictor returns -1 on error. """
     mock_url_read.return_value = "{}"
     predictor = GROSUserStoryPointsPredictor("url")
     self.assertEqual(
         -1, predictor.predicted_number_of_user_story_points("project"))
 def test_url_exception(self, mock_url_read):
     """ Test that the predictor returns -1 on error. """
     mock_url_read.side_effect = URLError("reason")
     predictor = GROSUserStoryPointsPredictor("url")
     self.assertEqual(
         -1, predictor.predicted_number_of_user_story_points("project"))
 def test_prediction(self, mock_url_read):
     """ Test that the predicted number of user story points can be retrieved. """
     mock_url_read.return_value = '{"prediction": 42}'
     predictor = GROSUserStoryPointsPredictor("url")
     self.assertEqual(
         42, predictor.predicted_number_of_user_story_points("project"))
 def test_planned(self, mock_url_read):
     """ Test that the planned number of user story points can be retrieved. """
     mock_url_read.return_value = '{"features": {"num_story_points": 50}}'
     predictor = GROSUserStoryPointsPredictor("url")
     self.assertEqual(
         50, predictor.planned_number_of_user_story_points("project"))