MDAF/tests/test_flows.py
Remi Ehounou 50191dd984 debug
2021-06-09 15:53:58 -04:00

96 lines
2.9 KiB
Python

import unittest
import os
from MDAF.MDAF import representfunc
from MDAF.MDAF import installFalcoo
from MDAF.MDAF import doe
from MDAF.TestFunctions import *
#target = __import__("MDAF.py")
# Testing the test function representation workflow
class Test_representfunc(unittest.TestCase):
def testexternalfuncs(self):
"""
Test that the function can calculate the representation and write to the function docstring
"""
funcpath = 'tests/Bukin2.py'
#funcpath_backup = 'tests/Bukin2.py.old'
results = representfunc(funcpath, forced = True)
with open(funcpath,"r") as file:
content = file.read()
reprCheck = bool(content.find('#_# Represented: 1'))
#os.remove(funcpath)
#os.replace(funcpath_backup, funcpath)
self.assertTrue(reprCheck)
self.assertIsInstance(results, dict)
def testinternalfuncs(self):
"""
Test that the function can calculate the representation and write to the function docstring
"""
funcpath = '@Bukin2.py'
funcverify = 'MDAF/TestFunctions/Bukin2.py'
#funcpath_backup = 'tests/Bukin2.py.old'
results = representfunc(funcpath, forced = True)
with open(funcverify,"r") as file:
content = file.read()
reprCheck = bool(content.find('#_# Represented: 1'))
#os.remove(funcpath)
#os.replace(funcpath_backup, funcpath)
self.assertTrue(reprCheck)
self.assertIsInstance(results, dict)
# Testing the flacco installation workflow
class Test_flaccoInstall(unittest.TestCase):
def testoutput(self):
"""
Test that the flacco packages are able to install automatically
"""
#installFalcoo()
# Testing the DOE execution workflow
class Test_DOE(unittest.TestCase):
def testexternalfuncs(self):
"""
Test that it can execute a DOE and output the dictionarry of the results
"""
testfunctionpaths = ["tests/Bukin2.py"]
heuristicpath = "tests/SimmulatedAnnealing.py"
args = {"t": 1000, "p": 0.95, "objs": 0}
data = doe (heuristicpath, testfunctionpaths, args)
self.assertIsInstance(data, dict)
def testinternalfuncs(self):
"""
Test that it can execute a DOE and output the dictionarry of the results
"""
testfunctionpaths = ["@Bukin2.py"]
heuristicpath = "@SimmulatedAnnealing.py"
args = {"t": 1000, "p": 0.95, "objs": 0}
data = doe (heuristicpath, testfunctionpaths, args)
print(data)
self.assertIsInstance(data, dict)
# Testing the surrogate modelling workflow
class Test_surrogate(unittest.TestCase):
def testoutput(self):
"""
Test that it can generate a neural network approximation of the algorithm's performance expectation
"""
#tbd
if __name__ == '__main__':
unittest.main()