RAVEN icon indicating copy to clipboard operation
RAVEN copied to clipboard

feat: unit tests for functions

Open edkerk opened this issue 2 years ago • 0 comments

The testing/unit_tests folder now already includes tests for many functions (as of 5a65fe0455ac41e6cab4826981cf268a4127f057). Ideally this should cover all functions (*.m files, except from those in the legacy and software folders). Here the progress is tracked. Some functions do not have their own tested, but are run when another function is tested. The tests are typically not comprehensive: they do not test all possible functionality (for instance different scenarios where different types of input are provided), but they are testing at least the most common use of each function.

Click here to show the list
  • [ ] INIT\getINITModel.m
  • [ ] INIT\runINIT.m
  • [ ] core\FSEOF.m
  • [x] core\addExchangeRxns.m
  • [x] core\addGenesRaven.m
  • [x] core\addMets.m
  • [x] core\addRxns.m
  • [x] core\addRxnsGenesMets.m
  • [x] core\addTransport.m
  • [ ] core\analyzeSampling.m
  • [x] core\buildEquation.m (via addRxns)
  • [x] core\canConsume.m
  • [x] core\canProduce.m
  • [x] core\changeGeneAssoc.m
  • [x] core\changeGrRules.m
  • [x] core\changeRxns.m
  • [x] core\checkModelStruct.m (via exportModel)
  • [x] core\checkProduction.m
  • [ ] core\checkRxn.m
  • [ ] core\checkTasks.m
  • [ ] core\compareMultipleModels.m
  • [ ] core\compareRxnsGenesMetsComps.m
  • [x] core\constructEquations.m (via exportToExcelFormat)
  • [x] core\constructS.m (via addRxns)
  • [x] core\consumeSomething.m
  • [ ] core\contractModel.m
  • [x] core\convertCharArray.m (via many functions)
  • [ ] core\convertToIrrev.m
  • [x] core\copyToComps.m
  • [ ] core\deleteUnusedGenes.m
  • [ ] core\dispEM.m
  • [ ] core\expandModel.m
  • [x] core\fillGaps.m
  • [x] core\findGeneDeletions.m
  • [x] core\findRAVENroot.m (via many functions)
  • [ ] core\fitParameters.m
  • [ ] core\fitTasks.m
  • [ ] core\followChanged.m
  • [ ] core\followFluxes.m
  • [ ] core\gapReport.m
  • [x] core\generateNewIds.m (via addRxns)
  • [x] core\getAllRxnsFromGenes.m
  • [ ] core\getAllSubGraphs.m
  • [x] core\getAllowedBounds.m
  • [x] core\getElementalBalance.m
  • [x] core\getEssentialRxns.m
  • [x] core\getExchangeRxns.m
  • [ ] core\getExpressionStructure.m
  • [ ] core\getFluxZ.m
  • [x] core\getIndexes.m (via many functions)
  • [x] core\getMetsInComp.m
  • [x] core\getMinNrFluxes.m (via solveLP)
  • [ ] core\getModelFromHomology.m
  • [ ] core\getObjectiveString.m
  • [x] core\getRxnsInComp.m
  • [ ] core\getTransportRxns.m
  • [ ] core\guessComposition.m
  • [x] core\haveFlux.m (via canConsume)
  • [x] core\makeSomething.m
  • [ ] core\mapCompartments.m
  • [ ] core\mergeCompartments.m
  • [x] core\mergeModels.m (via copyToComps)
  • [x] core\parseFormulas.m (via checkModelStruct)
  • [x] core\parseRxnEqu.m (via importExcelModel)
  • [x] core\parseTaskList.m
  • [x] core\permuteModel.m (via sortIdentifiers)
  • [ ] core\predictLocalization.m
  • [ ] core\printFluxes.m
  • [ ] core\printModel.m
  • [ ] core\printModelStats.m
  • [ ] core\randomSampling.m
  • [x] core\removeBadRxns.m
  • [x] core\removeGenes.m
  • [x] core\removeMets.m
  • [x] core\removeReactions.m
  • [ ] core\replaceMets.m
  • [ ] core\reporterMetabolites.m
  • [x] core\setExchangeBounds.m
  • [ ] core\setParam.m (via various functions)
  • [ ] core\simplifyModel.m (via various functions)
  • [ ] core\sortModel.m
  • [x] core\standardizeGrRules.m (via various functions)
  • [ ] external\combineMetaCycKEGGModels.m
  • [x] external\getBlast.m
  • [ ] external\getBlastFromExcel.m
  • [x] external\getDiamond.m
  • [ ] external\getWoLFScores.m
  • [ ] external\makeFakeBlastStructure.m
  • [ ] external\parseScores.m
  • [ ] external\updateDocumentation.m
  • [ ] external\kegg\constructMultiFasta.m
  • [ ] external\kegg\getGenesFromKEGG.m
  • [ ] external\kegg\getKEGGModelForOrganism.m
  • [ ] external\kegg\getMetsFromKEGG.m
  • [ ] external\kegg\getModelFromKEGG.m
  • [ ] external\kegg\getPhylDist.m
  • [ ] external\kegg\getRxnsFromKEGG.m
  • [ ] external\kegg\getWSLpath.m
  • [ ] external\metacyc\addSpontaneousRxns.m
  • [ ] external\metacyc\getEnzymesFromMetaCyc.m
  • [ ] external\metacyc\getMetaCycModelForOrganism.m
  • [ ] external\metacyc\getMetsFromMetaCyc.m
  • [ ] external\metacyc\getModelFromMetaCyc.m
  • [ ] external\metacyc\getRxnsFromMetaCyc.m
  • [ ] external\metacyc\linkMetaCycKEGGRxns.m
  • [ ] hpa\parseHPA.m
  • [ ] hpa\parseHPArna.m
  • [ ] hpa\scoreModel.m
  • [ ] installation\addRavenToUserPath.m
  • [ ] installation\checkFunctionUniqueness.m
  • [ ] installation\checkInstallation.m
  • [ ] io\SBMLFromExcel.m
  • [x] io\addJavaPaths.m (via importExcelModel)
  • [x] io\checkFileExistence.m (via various functions)
  • [x] io\cleanSheet.m (via importExcelModel)
  • [ ] io\closeModel.m
  • [ ] io\exportForGit.m
  • [x] io\exportModel.m
  • [ ] io\exportModelToSIF.m
  • [x] io\exportToExcelFormat.m
  • [ ] io\exportToTabDelimited.m
  • [x] io\getFullPath.m (via various functions)
  • [x] io\getMD5Hash.m (via getBlast)
  • [ ] io\getToolboxVersion.m
  • [x] io\importExcelModel.m
  • [x] io\importModel.m
  • [x] io\loadSheet.m (via importExcelModel)
  • [x] io\loadWorkbook.m (via importExcelModel)
  • [x] io\sortIdentifiers.m
  • [ ] io\startup.m
  • [x] io\writeSheet.m (via exportToExcelFormat)
  • [ ] io\writeYaml.m
  • [ ] pathway\colorPathway.m
  • [ ] pathway\getPathwayDimensions.m
  • [ ] pathway\mapPathwayRxnNames.m
  • [ ] pathway\markPathwayWithExpression.m
  • [ ] pathway\markPathwayWithFluxes.m
  • [ ] pathway\trimPathway.m
  • [ ] plotting\colorSubsystem.m
  • [ ] plotting\drawMap.m
  • [ ] plotting\drawPathway.m
  • [ ] plotting\getColorCodes.m
  • [ ] plotting\plotAdditionalInfo.m
  • [ ] plotting\plotLabels.m
  • [ ] plotting\setColorToMapRxns.m
  • [ ] plotting\setOmicDataToRxns.m
  • [ ] plotting\setTitle.m
  • [x] solver\checkSolution.m (via solveLP)
  • [x] solver\optimizeProb.m (via solveLP)
  • [ ] solver\qMOMA.m
  • [x] solver\setRavenSolver.m (via solveLP)
  • [x] solver\solveLP.m
  • [ ] solver\solveQP.m
  • [x] struct_conversion\editMiriam.m
  • [x] struct_conversion\extractMiriam.m
  • [x] struct_conversion\ravenCobraWrapper.m
  • [x] struct_conversion\standardizeModelFieldOrder.m

Not sure whether these require tests, and whether it should be the _solution version that is tested:

  • [ ] tutorial\tutorial1.m
  • [ ] tutorial\tutorial2.m
  • [ ] tutorial\tutorial2_solutions.m
  • [ ] tutorial\tutorial3.m
  • [ ] tutorial\tutorial3_solutions.m
  • [ ] tutorial\tutorial4.m
  • [ ] tutorial\tutorial4_solutions.m
  • [ ] tutorial\tutorial5.m
  • [ ] tutorial\tutorial6.m

edkerk avatar May 02 '22 07:05 edkerk