From 8eaf7a676085c1bb6757e54d1e5b0c94ef3eb533 Mon Sep 17 00:00:00 2001 From: Baptiste Bauvin <baptiste.bauvin.1@ulaval.ca> Date: Sun, 5 Nov 2017 15:02:21 -0500 Subject: [PATCH] Adding compatbility tests for monoview classifiers --- .../MonoviewClassifiers/Adaboost.py | 2 +- .../test_compatibility.py | 36 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 Code/Tests/Test_MonoviewClassifiers/test_compatibility.py diff --git a/Code/MonoMultiViewClassifiers/MonoviewClassifiers/Adaboost.py b/Code/MonoMultiViewClassifiers/MonoviewClassifiers/Adaboost.py index 2464619d..500a2b8d 100644 --- a/Code/MonoMultiViewClassifiers/MonoviewClassifiers/Adaboost.py +++ b/Code/MonoMultiViewClassifiers/MonoviewClassifiers/Adaboost.py @@ -17,7 +17,7 @@ __author__ = "Baptiste Bauvin" __status__ = "Prototype" # Production, Development, Prototype -def canProbas(): +def canProbas(a=10): return True diff --git a/Code/Tests/Test_MonoviewClassifiers/test_compatibility.py b/Code/Tests/Test_MonoviewClassifiers/test_compatibility.py new file mode 100644 index 00000000..46e31e55 --- /dev/null +++ b/Code/Tests/Test_MonoviewClassifiers/test_compatibility.py @@ -0,0 +1,36 @@ +import unittest +import os + +from ...MonoMultiViewClassifiers import MonoviewClassifiers + +class Test_methods(unittest.TestCase): + + def test_simple(self): + for fileName in os.listdir("Code/MonoMultiViewClassifiers/MonoviewClassifiers"): + if fileName[-3:] == ".py" and fileName != "__init__.py": + monoview_classifier_module = getattr(MonoviewClassifiers, fileName[:-3]) + self.assertIn("canProbas", dir(monoview_classifier_module), + fileName[:-3]+" must have canProbas method implemented") + self.assertIn("fit", dir(monoview_classifier_module), + fileName[:-3]+" must have fit method implemented") + self.assertIn("paramsToSet", dir(monoview_classifier_module), + fileName[:-3]+" must have paramsToSet method implemented") + self.assertIn("getKWARGS", dir(monoview_classifier_module), + fileName[:-3]+" must have getKWARGS method implemented") + self.assertIn("randomizedSearch", dir(monoview_classifier_module), + fileName[:-3]+" must have randomizedSearch method implemented") + self.assertIn("getConfig", dir(monoview_classifier_module), + fileName[:-3]+" must have getConfig method implemented") + self.assertIn("getInterpret", dir(monoview_classifier_module), + fileName[:-3]+" must have getInterpret method implemented") + +class Test_inputs(unittest.TestCase): + + def test_canProbas(self): + for fileName in os.listdir("Code/MonoMultiViewClassifiers/MonoviewClassifiers"): + if fileName[-3:] == ".py" and fileName != "__init__.py": + monoview_classifier_module = getattr(MonoviewClassifiers, fileName[:-3]) + res = monoview_classifier_module.canProbas() + self.assertEqual(type(res), bool, "canProbas must return a boolean") + with self.assertRaises(TypeError, msg="canProbas must have 0 args") as catcher: + monoview_classifier_module.canProbas(35) -- GitLab