Cover Evaluation subsystem with unit tests
Created by: gkirgizov
Classes introduced during issue #608 (closed) now allow modular unit tests -- so it's time to implement them. This issue is a good introduction into how Fedot evaluates pipelines on data.
Classes requiring testing:
-
MultiprocessingDispatcher -- test that methods return evaluated pipelines with computed fitness, test with/without time limit, with/without multiprocessing, with different kinds of ObjectiveFunction-s (valid/invalid/throwing an exception) -
PipelineObjectiveEvaluate -- test different kinds of metrics, valid/invalid metric functions, valid/invalid Pipelines, corner cases (empty metrics, empty graph), with/without time constraint, with different data sources
An example of a test and usage of PipelineObjectiveEvaluate
is test_cv_multiple_metrics_evaluated_correct
.
An example of usage of MultiprocessingDispatcher
is in EvoGraphOptimiser, see methods __init__
and .optimise()
.