Exemplo n.º 1
0
class TestLabelBot(unittest.TestCase):

    def setUp(self):
        self.pr = Predictor()

    def test_tokenize(self):
        words = self.pr.tokenize("hello_world")
        self.assertEqual(words, set(['hello','world']))

    def test_rule_based(self):
        with patch('DataFetcher.requests.get') as mocked_get:
            mocked_get.return_value.status_code = 200
            mocked_get.return_value.json.return_value = {
                                                "body": "issue's body",
                                                "created_at": "2018-07-28T18:27:17Z",
                                                "comments": "0",
                                                "number": 11925,
                                                "labels": [{'name': 'Doc'}],
                                                "state": "open",
                                                "title": "a feature requests for scala package",
                                                "html_url": "https://github.com/apache/incubator-mxnet/issues/11925",
                                              }
            predictions = self.pr.rule_based([11925])
            self.assertEqual([['Feature', 'scala']], predictions)

    def test_ml_predict(self):
        self.pr.reload(tv_file='Vectorizer.p', 
                       clf_file='Classifier.p',
                       labels_file='Labels.p')
        with patch('DataFetcher.requests.get') as mocked_get:
            mocked_get.return_value.status_code = 200
            mocked_get.return_value.json.return_value = {
                                                "body": "test",
                                                "created_at": "2018-07-28T18:27:17Z",
                                                "comments": "0",
                                                "number": 11925,
                                                "labels": [{'name': 'Doc'}],
                                                "state": "open",
                                                "title": "a feature requests for scala package",
                                                "html_url": "https://github.com/apache/incubator-mxnet/issues/11925",
                                              }
            predictions = self.pr.ml_predict([11925])
            self.assertEqual([['Feature']], predictions)

    def test_predict(self):
        self.pr.reload(tv_file='Vectorizer.p', 
                       clf_file='Classifier.p',
                       labels_file='Labels.p')
        with patch('DataFetcher.requests.get') as mocked_get:
            mocked_get.return_value.status_code = 200
            mocked_get.return_value.json.return_value = {
                                                "body": "test",
                                                "created_at": "2018-07-28T18:27:17Z",
                                                "comments": "0",
                                                "number": 11925,
                                                "labels": [{'name': 'Doc'}],
                                                "state": "open",
                                                "title": "a feature requests for scala package",
                                                "html_url": "https://github.com/apache/incubator-mxnet/issues/11925",
                                              }
            predictions = self.pr.predict([11925])
            self.assertEqual([['Feature', 'scala']], predictions)