In development.unittest, added test that addresses the situation
that some results are parameters in the Buildings library, but
variables in the Annex 60 library.
In simulate.Simulator, corrected error that prevented output
files from being copied if the result directory was set to ‘.’
Added unit tests and documentation tests.
Corrected various errors in the documentation.
Renamed development.unittest to development.regressiontest. This
was required for the python doctest to work.
In development.regressiontest, added new method setLibraryRoot(rootDir)
to allow running the unit tests from a directory other than the library
root directory.
In development.regressiontest, added a test that avoids an IndexError
if a new simulation result contains a different number of support points
than the reference result. This is needed if models change variables
to parameters or vice versa.
In development.regressiontest, added the method setSinglePackage.
This allows running the regression tests for a single package only.
Added class buildingspy.development.validator
that can be used to validate the html syntax
of the info section of .mo files.
Added validation of html syntax to unit test script.
In io.outputfile, changed name of argument of _init__
from format to simulator as format is a reserved keyword
in Python.
In simulate.Simulator, corrected use of variable that was not defined.
Avoided use of variable name exit which is a reserved keyword.
Avoided the use of temporary variables that are not needed.
In development.unittest,
removed non-needed import statement,
removed argument dir from method printNumberOfClasses(self)
as this argument is not used.
In development.Tester, method __getSimulationResults(),
corrected error that caused results only to be stored if there is
at least one variable requested for comparison that has more than
two support points. That is, if a script only requested to store
parameters, or variables that solely depend on parameters,
then no results from this simulation were not stored.
Added class buildingspy.io.postprocess.Plotter.
This simplifies the creation of boxplot and the
plotting of data that repeat every day.
Moved function buildingspy.development.unittest.Tester.__interpolate
to buildingspy.io.postprocess.Plotter.interpolate
Caught exception that is caused when non-ascii characters are
used in the comments of constants, parameters or variables. Now,
these files are excluded from the unit tests and a warning is issued.
Centralized error reporting to using buildings.io.reporter instead
of writing directly to stderr.
Fixed error in buildingspy.io.postprocess.Plotter.interpolate().
The previous version could lead to non-increasing time for
the last time stamp of the results, and then led to an wrong result
of the interpolation function.
Changed file output: The output of Dymola is now in the file dymola.log,
whereas unitTests.log contains the warning and error messages of the python
unit test scripts.
Changed buildingspy.development.unittest.py to achieve better load
balancing. This change reduced the computing time for all unit tests on a
24 core computer from 38 minutes to 21 minutes.