1 | """ |
||
2 | UnitTest Module |
||
3 | |||
4 | .................................................................................................... |
||
5 | MIT License |
||
6 | Copyright (c) 2021-2023 AUT Iran, Mohammad H Forouhesh |
||
7 | Copyright (c) 2021-2022 MetoData.ai, Mohammad H Forouhesh |
||
8 | .................................................................................................... |
||
9 | This module serves as unit testing for various functionalities in the code. |
||
10 | """ |
||
11 | |||
12 | 1 | import unittest |
|
13 | |||
14 | 1 | from tracking_policy_agendas.api import downloader |
|
15 | 1 | from tracking_policy_agendas.classifiers.pa_clf import PAClf |
|
16 | 1 | from tracking_policy_agendas.classifiers.xgb_clf import XgbClf |
|
17 | 1 | from tracking_policy_agendas.classifiers.naive_bayes_clf import GNBClf |
|
18 | 1 | from tracking_policy_agendas.classifiers.lasso_clf import LassoClf |
|
19 | |||
20 | |||
21 | 1 | class XgbTestCase(unittest.TestCase): |
|
22 | 1 | def setUp(self) -> None: |
|
23 | 1 | self.clf = XgbClf(text_array=None, labels=None, load_path='xgb_vaccine') |
|
24 | |||
25 | 1 | def test_xgb_api(self) -> None: |
|
26 | 1 | self.assertRaises(Exception, downloader, path='wrong-path') |
|
27 | |||
28 | 1 | def test_xgb_soundness(self) -> None: |
|
29 | 1 | self.assertEqual(self.clf['تزریق دوز سوم واکسن هم تصویب شد'], self.clf['کرونا با ماسک و واکسن هم از بین نمیرود']) |
|
30 | 1 | self.assertNotEqual(self.clf['واکسیناسیون عمومی کزاز در ریشه کنی این بیماری بسیار مثمر ثمر بوده است'], |
|
31 | self.clf['تزریق دوز سوم واکسن کرونا هم تصویب شد']) |
||
32 | |||
33 | 1 | def test_xgb_completeness(self) -> None: |
|
34 | 1 | self.assertEqual(self.clf.predict('دوز سوم واکسن کرونا'), 1) |
|
35 | 1 | self.assertEqual(self.clf['رئيسجمهور جمهوری اسلامی'], 0) |
|
36 | 1 | self.assertEqual(self.clf['بورس نماد اقتصاد بحران زدهی ایران'], 0) |
|
37 | |||
38 | |||
39 | 1 | class PATestCase(unittest.TestCase): |
|
40 | 1 | def setUp(self) -> None: |
|
41 | 1 | self.clf = PAClf(text_array=None, labels=None, load_path='pa_vaccine') |
|
42 | |||
43 | 1 | def test_pa_api(self) -> None: |
|
44 | 1 | self.assertRaises(Exception, downloader, path='wrong-path') |
|
45 | |||
46 | 1 | def test_pa_soundness(self) -> None: |
|
47 | 1 | self.assertEqual(self.clf['تزریق دوز سوم واکسن هم تصویب شد'], |
|
48 | self.clf['کرونا با ماسک و واکسن هم از بین نمیرود']) |
||
49 | 1 | self.assertNotEqual(self.clf['واکسیناسیون عمومی کزاز در ریشه کنی این بیماری بسیار مثمر ثمر بوده است'], |
|
50 | self.clf['تزریق دوز سوم واکسن کرونا هم تصویب شد']) |
||
51 | |||
52 | 1 | def test_pa_completeness(self) -> None: |
|
53 | 1 | self.assertEqual(self.clf.predict('دوز سوم واکسن کرونا'), 1) |
|
54 | 1 | self.assertEqual(self.clf['بورس نماد اقتصاد بحران زدهی ایران'], 0) |
|
55 | |||
56 | |||
57 | 1 | class LassoTestCase(unittest.TestCase): |
|
58 | 1 | def setUp(self) -> None: |
|
59 | 1 | self.clf = LassoClf(text_array=None, labels=None, load_path='lasso_vaccine') |
|
60 | |||
61 | 1 | def test_lasso_api(self) -> None: |
|
62 | 1 | self.assertRaises(Exception, downloader, path='wrong-path') |
|
63 | |||
64 | 1 | def test_lasso_soundness(self) -> None: |
|
65 | 1 | self.assertEqual(self.clf['تزریق دوز سوم واکسن هم تصویب شد'], |
|
66 | self.clf['کرونا با ماسک و واکسن هم از بین نمیرود']) |
||
67 | 1 | self.assertNotEqual(self.clf['واکسیناسیون عمومی کزاز در ریشه کنی این بیماری بسیار مثمر ثمر بوده است'], |
|
68 | self.clf['تزریق دوز سوم واکسن کرونا هم تصویب شد']) |
||
69 | |||
70 | 1 | def test_lasso_completeness(self) -> None: |
|
71 | 1 | self.assertEqual(self.clf.predict('دوز سوم واکسن کرونا'), 1) |
|
72 | |||
73 | |||
74 | 1 | class GNBTestCase(unittest.TestCase): |
|
75 | 1 | def setUp(self) -> None: |
|
76 | 1 | self.clf = GNBClf(text_array=None, labels=None, load_path='gnb_vaccine') |
|
77 | |||
78 | 1 | def test_gnb_api(self) -> None: |
|
79 | 1 | self.assertRaises(Exception, downloader, path='wrong-path') |
|
80 | |||
81 | 1 | def test_gnb_soundness(self) -> None: |
|
82 | 1 | self.assertEqual(self.clf['تزریق دوز سوم واکسن کرونا هم تصویب شد'], |
|
83 | self.clf['کرونا با ماسک و واکسن هم از بین نمیرود']) |
||
84 | |||
85 | 1 | def test_gnb_completeness(self) -> None: |
|
86 | 1 | self.assertEqual(self.clf.predict('دوز سوم واکسن کرونا'), 1) |
|
87 | 1 | self.assertEqual(self.clf['رئيسجمهور جمهوری اسلامی'], 0) |
|
88 | 1 | self.assertEqual(self.clf['بورس نماد اقتصاد بحران زدهی ایران'], 0) |
|
89 | |||
90 | |||
91 | 1 | if __name__ == '__main__': |
|
92 | unittest.main() |
||
93 |