CIRDLES / ET_Redux

EARTH-TIME.org's flagship data-processing and workflow automation software.
http://cirdles.org/projects/et_redux/
Apache License 2.0
12 stars 16 forks source link

Extract extraneous main methods into JUnit tests #1

Closed johnzeringue closed 9 years ago

johnzeringue commented 9 years ago

A quick grep reveals that there are currently 63 classes with main methods, only one of which is being used as an entry point for the program.

At a glance, many of these mains seem to be integration tests for object serializations. It would be straightforward and beneficial to extract these methods into JUnit tests, so that they could be run automatically.

For reference, below is the output of grep -rl 'void main' ., showing all files with a main method.

./src/main/java/org/earthtime/dataDictionaries/RatioNamePrettyPrinter.java
./src/main/java/org/earthtime/ETRedux.java
./src/main/java/org/earthtime/matrices/matrixModels/CorrelationMatrixModel.java
./src/main/java/org/earthtime/matrices/matrixModels/CovarianceMatrixModel.java
./src/main/java/org/earthtime/matrices/matrixModels/CovarianceMatrixWithSubMatricesModel.java
./src/main/java/org/earthtime/matrices/matrixModels/JacobianMatrixModel.java
./src/main/java/org/earthtime/physicalConstants/PhysicalConstants.java
./src/main/java/org/earthtime/ratioDataModels/initialPbModelsET/commonLeadLossCorrectionSchemes/CommonLeadLossCorrectionSchemeA1.java
./src/main/java/org/earthtime/ratioDataModels/initialPbModelsET/commonLeadLossCorrectionSchemes/CommonLeadLossCorrectionSchemeA2.java
./src/main/java/org/earthtime/ratioDataModels/initialPbModelsET/InitialPbModelET.java
./src/main/java/org/earthtime/ratioDataModels/mineralStandardModels/MineralStandardUPbModel.java
./src/main/java/org/earthtime/ratioDataModels/pbBlankICModels/PbBlankICModel.java
./src/main/java/org/earthtime/ratioDataModels/physicalConstantsModels/PhysicalConstantsModel.java
./src/main/java/org/earthtime/ratioDataModels/rareEarthElementsModels/RareEarthElementsModel.java
./src/main/java/org/earthtime/ratioDataModels/tracers/TracerUPbModel.java
./src/main/java/org/earthtime/ratioDataViews/MineralStandardUPbRatiosDataViewEditable.java
./src/main/java/org/earthtime/ratioDataViews/MineralStandardUPbRatiosDataViewNotEditable.java
./src/main/java/org/earthtime/ratioDataViews/PhysicalConstantsDataViewEditable.java
./src/main/java/org/earthtime/ratioDataViews/PhysicalConstantsDataViewNotEditable.java
./src/main/java/org/earthtime/ratioDataViews/RatiosDataViewEditable.java
./src/main/java/org/earthtime/ratioDataViews/RatiosDataViewNotEditable.java
./src/main/java/org/earthtime/ratioDataViews/TracerUPbRatiosDataViewEditable.java
./src/main/java/org/earthtime/ratioDataViews/TracerUPbRatiosDataViewNotEditable.java
./src/main/java/org/earthtime/UPb_Redux/aliquots/UPbReduxAliquot.java
./src/main/java/org/earthtime/UPb_Redux/customJTrees/CheckBoxNodeTreeSample.java
./src/main/java/org/earthtime/UPb_Redux/dateInterpretation/vermeeschKDE/FFT.java
./src/main/java/org/earthtime/UPb_Redux/dateInterpretation/vermeeschKDE/Tester.java
./src/main/java/org/earthtime/UPb_Redux/dialogs/AboutBox.java
./src/main/java/org/earthtime/UPb_Redux/dialogs/DialogEditor.java
./src/main/java/org/earthtime/UPb_Redux/dialogs/fractionManagers/FractionNotesDialog.java
./src/main/java/org/earthtime/UPb_Redux/dialogs/graphManagers/GraphAxesDialog.java
./src/main/java/org/earthtime/UPb_Redux/dialogs/projectManagers/BasicDnD.java
./src/main/java/org/earthtime/UPb_Redux/dialogs/projectManagers/ProjectManagerFor_LAICPMS_FromRawData.java
./src/main/java/org/earthtime/UPb_Redux/dialogs/sampleManagers/GeochronSampleCustomMetadataDialog.java
./src/main/java/org/earthtime/UPb_Redux/dialogs/sampleManagers/heatMapManagers/HeatMapManager.java
./src/main/java/org/earthtime/UPb_Redux/dialogs/sampleManagers/sampleDateInterpretationManagers/SampleDateInterpretationAny2AxesChooser.java
./src/main/java/org/earthtime/UPb_Redux/fractions/AnalysisFraction.java
./src/main/java/org/earthtime/UPb_Redux/fractions/Fraction.java
./src/main/java/org/earthtime/UPb_Redux/fractions/UPbReduxFractions/UPbFraction.java
./src/main/java/org/earthtime/UPb_Redux/initialPbModels/InitialPbModel.java
./src/main/java/org/earthtime/UPb_Redux/mineralStandardModels/MineralStandardModel.java
./src/main/java/org/earthtime/UPb_Redux/pbBlanks/PbBlank.java
./src/main/java/org/earthtime/UPb_Redux/reports/ReportSettings.java
./src/main/java/org/earthtime/UPb_Redux/samples/SampleMetaData.java
./src/main/java/org/earthtime/UPb_Redux/samples/SESARSampleMetadata.java
./src/main/java/org/earthtime/UPb_Redux/tracers/Tracer.java
./src/main/java/org/earthtime/UPb_Redux/utilities/BrowserControl.java
./src/main/java/org/earthtime/UPb_Redux/utilities/comparators/IntuitiveStringComparator.java
./src/main/java/org/earthtime/UPb_Redux/valueModelPanelViews/MineralStandardUPbRatiosPanelViewNotEditable.java
./src/main/java/org/earthtime/UPb_Redux/valueModelPanelViews/ValueModelsPanelViewEditable.java
./src/main/java/org/earthtime/UPb_Redux/valueModelPanelViews/ValueModelsPanelViewNotEditable.java
./src/main/java/org/earthtime/UPb_Redux/valueModels/MeasuredRatioModel.java
./src/main/java/org/earthtime/UPb_Redux/valueModels/MineralStandardUPbRatioModel.java
./src/main/java/org/earthtime/UPb_Redux/valueModels/SampleDateModel.java
./src/main/java/org/earthtime/UPb_Redux/valueModels/ValueModel.java
./src/main/java/org/earthtime/UPb_Redux/valueModels/ValueModelReferenced.java
./src/main/java/org/earthtime/UPb_Redux/valueModelViews/MineralStandardUPbRatioViewNotEditable.java
./src/main/java/org/earthtime/UPb_Redux/valueModelViews/ValueModelViewNotEditable.java
./src/main/java/org/earthtime/utilities/jamaHelpers/MatrixRemover.java
./src/main/java/org/earthtime/utilities/TimeToString.java
./src/main/java/org/earthtime/visualizationUtilities/agePicker/AgePickDemo.java
./src/main/java/org/earthtime/visualizationUtilities/ProgressBarViewer.java
./src/main/java/org/earthtime/xmlUtilities/SimpleTransform.java
bowring commented 9 years ago

great idea ... have fun

On Thu, Jan 22, 2015 at 6:41 PM, John Zeringue notifications@github.com wrote:

A quick grep reveals that there are currently 63 classes with main methods, only one of which is being used as an entry point for the program.

At a glance, many of these mains seem to be integration tests for object serializations. It would be straightforward and beneficial to extract these methods into JUnit tests, so that they could be run automatically.

For reference, below is the output of grep -rl 'void main' ., showing all files with a main method.

./src/main/java/org/earthtime/dataDictionaries/RatioNamePrettyPrinter.java ./src/main/java/org/earthtime/ETRedux.java ./src/main/java/org/earthtime/matrices/matrixModels/CorrelationMatrixModel.java ./src/main/java/org/earthtime/matrices/matrixModels/CovarianceMatrixModel.java ./src/main/java/org/earthtime/matrices/matrixModels/CovarianceMatrixWithSubMatricesModel.java ./src/main/java/org/earthtime/matrices/matrixModels/JacobianMatrixModel.java ./src/main/java/org/earthtime/physicalConstants/PhysicalConstants.java ./src/main/java/org/earthtime/ratioDataModels/initialPbModelsET/commonLeadLossCorrectionSchemes/CommonLeadLossCorrectionSchemeA1.java ./src/main/java/org/earthtime/ratioDataModels/initialPbModelsET/commonLeadLossCorrectionSchemes/CommonLeadLossCorrectionSchemeA2.java ./src/main/java/org/earthtime/ratioDataModels/initialPbModelsET/InitialPbModelET.java ./src/main/java/org/earthtime/ratioDataModels/mineralStandardModels/MineralStandardUPbModel.java ./src/main/java/org/earthtime/ratioDataModels/pbBlankICModels/PbBlankICModel.java ./src/main/java/org/earthtime/ratioDataModels/physicalConstantsModels/PhysicalConstantsModel.java ./src/main/java/org/earthtime/ratioDataModels/rareEarthElementsModels/RareEarthElementsModel.java ./src/main/java/org/earthtime/ratioDataModels/tracers/TracerUPbModel.java ./src/main/java/org/earthtime/ratioDataViews/MineralStandardUPbRatiosDataViewEditable.java ./src/main/java/org/earthtime/ratioDataViews/MineralStandardUPbRatiosDataViewNotEditable.java ./src/main/java/org/earthtime/ratioDataViews/PhysicalConstantsDataViewEditable.java ./src/main/java/org/earthtime/ratioDataViews/PhysicalConstantsDataViewNotEditable.java ./src/main/java/org/earthtime/ratioDataViews/RatiosDataViewEditable.java ./src/main/java/org/earthtime/ratioDataViews/RatiosDataViewNotEditable.java ./src/main/java/org/earthtime/ratioDataViews/TracerUPbRatiosDataViewEditable.java ./src/main/java/org/earthtime/ratioDataViews/TracerUPbRatiosDataViewNotEditable.java ./src/main/java/org/earthtime/UPb_Redux/aliquots/UPbReduxAliquot.java ./src/main/java/org/earthtime/UPb_Redux/customJTrees/CheckBoxNodeTreeSample.java ./src/main/java/org/earthtime/UPb_Redux/dateInterpretation/vermeeschKDE/FFT.java ./src/main/java/org/earthtime/UPb_Redux/dateInterpretation/vermeeschKDE/Tester.java ./src/main/java/org/earthtime/UPb_Redux/dialogs/AboutBox.java ./src/main/java/org/earthtime/UPb_Redux/dialogs/DialogEditor.java ./src/main/java/org/earthtime/UPb_Redux/dialogs/fractionManagers/FractionNotesDialog.java ./src/main/java/org/earthtime/UPb_Redux/dialogs/graphManagers/GraphAxesDialog.java ./src/main/java/org/earthtime/UPb_Redux/dialogs/projectManagers/BasicDnD.java ./src/main/java/org/earthtime/UPb_Redux/dialogs/projectManagers/ProjectManagerFor_LAICPMS_FromRawData.java ./src/main/java/org/earthtime/UPb_Redux/dialogs/sampleManagers/GeochronSampleCustomMetadataDialog.java ./src/main/java/org/earthtime/UPb_Redux/dialogs/sampleManagers/heatMapManagers/HeatMapManager.java ./src/main/java/org/earthtime/UPb_Redux/dialogs/sampleManagers/sampleDateInterpretationManagers/SampleDateInterpretationAny2AxesChooser.java ./src/main/java/org/earthtime/UPb_Redux/fractions/AnalysisFraction.java ./src/main/java/org/earthtime/UPb_Redux/fractions/Fraction.java ./src/main/java/org/earthtime/UPb_Redux/fractions/UPbReduxFractions/UPbFraction.java ./src/main/java/org/earthtime/UPb_Redux/initialPbModels/InitialPbModel.java ./src/main/java/org/earthtime/UPb_Redux/mineralStandardModels/MineralStandardModel.java ./src/main/java/org/earthtime/UPb_Redux/pbBlanks/PbBlank.java ./src/main/java/org/earthtime/UPb_Redux/reports/ReportSettings.java ./src/main/java/org/earthtime/UPb_Redux/samples/SampleMetaData.java ./src/main/java/org/earthtime/UPb_Redux/samples/SESARSampleMetadata.java ./src/main/java/org/earthtime/UPb_Redux/tracers/Tracer.java ./src/main/java/org/earthtime/UPb_Redux/utilities/BrowserControl.java ./src/main/java/org/earthtime/UPb_Redux/utilities/comparators/IntuitiveStringComparator.java ./src/main/java/org/earthtime/UPb_Redux/valueModelPanelViews/MineralStandardUPbRatiosPanelViewNotEditable.java ./src/main/java/org/earthtime/UPb_Redux/valueModelPanelViews/ValueModelsPanelViewEditable.java ./src/main/java/org/earthtime/UPb_Redux/valueModelPanelViews/ValueModelsPanelViewNotEditable.java ./src/main/java/org/earthtime/UPb_Redux/valueModels/MeasuredRatioModel.java ./src/main/java/org/earthtime/UPb_Redux/valueModels/MineralStandardUPbRatioModel.java ./src/main/java/org/earthtime/UPb_Redux/valueModels/SampleDateModel.java ./src/main/java/org/earthtime/UPb_Redux/valueModels/ValueModel.java ./src/main/java/org/earthtime/UPb_Redux/valueModels/ValueModelReferenced.java ./src/main/java/org/earthtime/UPb_Redux/valueModelViews/MineralStandardUPbRatioViewNotEditable.java ./src/main/java/org/earthtime/UPb_Redux/valueModelViews/ValueModelViewNotEditable.java ./src/main/java/org/earthtime/utilities/jamaHelpers/MatrixRemover.java ./src/main/java/org/earthtime/utilities/TimeToString.java ./src/main/java/org/earthtime/visualizationUtilities/agePicker/AgePickDemo.java ./src/main/java/org/earthtime/visualizationUtilities/ProgressBarViewer.java ./src/main/java/org/earthtime/xmlUtilities/SimpleTransform.java

— Reply to this email directly or view it on GitHub https://github.com/CIRDLES/ET_Redux/issues/1.

Jim Bowring Principal Investigator, www.CIRDLES.org http://www.CIRDLES.org%20

Computer Science College of Charleston 66 George Street Charleston, SC 29424

Google Voice: 843.608.1399 (preferred) Google Email: bowring@gmail.com

Office: Harbor Walk East (360 Concord Street) Room 308 843.953.0805 http://stono.cs.cofc.edu/~bowring/ bowringj@cofc.edu

R. Buckminster Fuller (1972): If humanity is to survive aboard our planet, it must become universally literate and preoccupied with inherently cooperative Comprehensive Anticipatory Design Science in which every human is concerned with accomplishing the comfortably sustainable well-faring of all other humans.