SORTIE C++ Test Documentation
|
Tests the clNCIGrowth class. More...
#include <TestNCIGrowth.h>
Public Member Functions | |
void | TestNCIGrowth () |
Tests the clNCIGrowth class. | |
void | TestAutoHeightVsDiamOnly (clSimManager *p_oSimManager) |
Tests to make sure that the two NCI growth behaviors, diam only and auto height, work correctly. | |
void | TestRun1 (clSimManager *p_oSimManager) |
Performs a test run of NCI growth - a Puerto-Rico-like situation. | |
void | TestRun2 (clSimManager *p_oSimManager) |
Tests the growth calculations at two timestep lengths in a BC-like situation. | |
void | TestRun3 (clSimManager *p_oSimManager) |
Performs Test Run 3. | |
void | TestRun4 (clSimManager *p_oSimManager) |
Performs Test Run 4. | |
void | TestRun5 (clSimManager *p_oSimManager) |
Performs a test run of NCI growth - a Puerto-Rico-like situation. | |
void | TestRun6 (clSimManager *p_oSimManager) |
Performs a test run of NCI growth with no crowding effect (also no shading or damage - size effect only). | |
void | TestErrorProcessing (clSimManager *p_oSimManager) |
Tests error processing for input files. | |
void | TestBoundaryProcessing (clSimManager *p_oSimManager) |
Tests boundary conditions for NCI growth. | |
Protected Member Functions | |
const char * | WriteXMLFile1 () |
Writes a parameter file to direct testing. | |
const char * | WriteXMLFile2 () |
Writes a 1-year timestep file. | |
const char * | WriteXMLFile3 () |
Writes a 3-year timestep file. | |
const char * | WriteXMLFile4 () |
Writes a 1-year timestep file. | |
const char * | WriteXMLFile5 () |
Writes a 3-year timestep file. | |
const char * | WriteXMLFile6 () |
Writes a 1-timestep file for Run 3. | |
const char * | WriteXMLFile7 () |
Writes a 3-timestep file for Run 3. | |
const char * | WriteXMLFile8 () |
Writes a 1-timestep file for Run 4. | |
const char * | WriteXMLFile9 () |
Writes a 3-timestep file for Run 4. | |
const char * | WriteXMLFile10 () |
Writes a 1-timestep file for Run 5. | |
const char * | WriteXMLFile11 () |
Writes a 3-timestep file for Run 5. | |
const char * | WriteXMLFile12 () |
Writes a 1-timestep file for Run 6. | |
const char * | WriteXMLFile13 () |
Writes a 3-timestep file for Run 6. | |
const char * | WriteXMLErrorFile1 () |
Writes an error condition where max radius of neighbor effects is < 0. | |
const char * | WriteXMLErrorFile2 () |
Writes an error condition where max growth for a species is < 0. | |
const char * | WriteXMLErrorFile3 () |
Writes an error condition where Xb for a species = 0. | |
const char * | WriteXMLErrorFile4 () |
Writes an error condition where X0 for a species = 0. | |
const char * | WriteXMLErrorFile5 () |
Writes an error condition where med. | |
const char * | WriteXMLErrorFile6 () |
Writes an error condition where med. | |
const char * | WriteXMLErrorFile7 () |
Writes an error condition where full damage eta for a species < 0. | |
const char * | WriteXMLErrorFile8 () |
Writes an error condition where full damage eta for a species > 1. | |
const char * | WriteXMLErrorFile9 () |
Writes an error condition where med. | |
const char * | WriteXMLErrorFile10 () |
Writes an error condition where med. | |
const char * | WriteXMLErrorFile11 () |
Writes an error condition where full damage storm effect for a species < 0. | |
const char * | WriteXMLErrorFile12 () |
Writes an error condition where full damage storm effect for a species > 1. | |
const char * | WriteXMLErrorFile13 () |
Writes an error condition where shading is used but there is no light behavior. | |
const char * | WriteXMLErrorFile14 () |
Writes an error condition where a neighbor DBH is less than 0. | |
void | WriteCommonStuff (std::fstream &oOut) |
Writes common portions of the test parameter files (tree pop, plot, etc). | |
void | WriteRun1CommonStuff (std::fstream &oOut) |
Writes common portions of the test parameter files for Run 1. | |
void | WriteRun2CommonStuff (std::fstream &oOut) |
Writes common portions of the test parameter files for Run 2. | |
void | WriteRun3CommonStuff (std::fstream &oOut) |
Writes common portions of the test parameter files for Run 3. | |
void | WriteRun4CommonStuff (std::fstream &oOut) |
Writes common portions of the test parameter files for Run 4. | |
void | WriteRun5CommonStuff (std::fstream &oOut) |
Writes common portions of the test parameter files for Run 5. | |
void | WriteRun6CommonStuff (std::fstream &oOut) |
Writes common portions of the test parameter files for Run 6. | |
void | WriteErrorFileCommonStuff (std::fstream &oOut) |
Writes common portions of the test error parameter files (tree pop, plot, etc). | |
Tests the clNCIGrowth class.
void clTestNCIGrowth::TestAutoHeightVsDiamOnly | ( | clSimManager * | p_oSimManager | ) |
Tests to make sure that the two NCI growth behaviors, diam only and auto height, work correctly.
WriteXMLFile1() is used to do setup. Then, this will create two trees, one of each species. Species 1 and Species 2 are identical in every way. Species 1 is assigned NCI growth as a diameter-auto, and Species 2 is assigned NCI growth as diameter-only. The two trees are assigned identical diameters and heights (heights that do not match the diameters, allometrically-speaking). The same shade will be assigned to each (0.5). Growth will be allowed to occur, and then this makes sure that the new diameters are identical but the heights are not.
p_oSimManager | Sim Manager object to do the runs. |
void clTestNCIGrowth::TestBoundaryProcessing | ( | clSimManager * | p_oSimManager | ) |
Tests boundary conditions for NCI growth.
Condition: The case in which two trees are at 0 distance. In this test, we don't really care what the outcome is, we just want to make sure that there isn't a divide-by-zero condition. WriteXMLFile4() is used to do setup. Then some trees are created, two of which have the exact same coordinates.
void clTestNCIGrowth::TestErrorProcessing | ( | clSimManager * | p_oSimManager | ) |
Tests error processing for input files.
Tests:
WriteXMLErrorFileX (where X = 1-12) is written and checked to make sure that each produces an error.
void clTestNCIGrowth::TestNCIGrowth | ( | ) |
Tests the clNCIGrowth class.
void clTestNCIGrowth::TestRun1 | ( | clSimManager * | p_oSimManager | ) |
Performs a test run of NCI growth - a Puerto-Rico-like situation.
This run has no shading effect and uses damage effect. WriteXMLFile4() performs setup for a 1-year timestep; then WriteXMLFile5() performs setup for an otherwise identical 3-year timestep.
There are 8 target trees whose values will be tested according to the testing spreadsheet prepared.
p_oSimManager | Sim Manager object to do the runs. |
void clTestNCIGrowth::TestRun2 | ( | clSimManager * | p_oSimManager | ) |
Tests the growth calculations at two timestep lengths in a BC-like situation.
It uses no storm damage and simplified crowding - no size sensitivity to NCI (g = 0, d = 1). It does use Shading. WriteXMLFile2() is used to do setup in the first case, for a 1 year timestep. Growth is checked for two target trees. Then WriteXMLFile3() does setup for a 3 year timestep and the growth is checked for the same two trees.
The first target tree is too far away from the other trees to be affected. It has the lowest possible value of shade and a zero NCI. The second target tree is surrounded by 4 trees affecting shade and NCI and two which do not.
p_oSimManager | Sim Manager object to do the runs. |
void clTestNCIGrowth::TestRun3 | ( | clSimManager * | p_oSimManager | ) |
Performs Test Run 3.
This run has no storm damage, has variability in functions between species, doesn't use NCImax, and doesn't use the DBH divisor.
WriteXMLFile6() is used to do setup for the first run, for a 1 year timestep. Growth is checked for five target trees. Then WriteXMLFile7() does setup for a 3 year timestep and the growth is checked for the same five trees.
void clTestNCIGrowth::TestRun4 | ( | clSimManager * | p_oSimManager | ) |
Performs Test Run 4.
This run tests variability in light behavior requirements, but is otherwise almost exactly like TestRun3.
WriteXMLFile8() is used to do setup for the first run, for a 1 year timestep. Growth is checked for five target trees. Then WriteXMLFile9() does setup for a 3 year timestep and the growth is checked for the same five trees.
void clTestNCIGrowth::TestRun5 | ( | clSimManager * | p_oSimManager | ) |
Performs a test run of NCI growth - a Puerto-Rico-like situation.
This run has no shading effect and uses damage effect. The damage applier is not applied to all species. WriteXMLFile10() performs setup for a 1-year timestep; then WriteXMLFile11() performs setup for an otherwise identical 3-year timestep.
p_oSimManager | Sim Manager object to do the runs. |
void clTestNCIGrowth::TestRun6 | ( | clSimManager * | p_oSimManager | ) |
Performs a test run of NCI growth with no crowding effect (also no shading or damage - size effect only).
WriteXMLFile12() performs setup for a 1-year timestep; then WriteXMLFile13() performs setup for an otherwise identical 3-year timestep.
p_oSimManager | Sim Manager object to do the runs. |
|
protected |
Writes common portions of the test parameter files (tree pop, plot, etc).
Picks up right after the number of years per timestep and ends at the closing tree tag.
oOut | File stream to write to. |
|
protected |
Writes common portions of the test error parameter files (tree pop, plot, etc).
Starts at the beginning of the file and ends at the closing tree tag.
oOut | File stream to write to. |
|
protected |
Writes common portions of the test parameter files for Run 1.
Picks up at the behavior list through the end of the file.
oOut | File stream to write to. |
|
protected |
Writes common portions of the test parameter files for Run 2.
Picks up at the behavior list through the end of the file.
oOut | File stream to write to. |
|
protected |
Writes common portions of the test parameter files for Run 3.
Picks up at the behavior list through the end of the file.
oOut | File stream to write to. |
|
protected |
Writes common portions of the test parameter files for Run 4.
Picks up at the behavior list through the end of the file.
oOut | File stream to write to. |
|
protected |
Writes common portions of the test parameter files for Run 5.
Picks up at the behavior list through the end of the file.
oOut | File stream to write to. |
|
protected |
Writes common portions of the test parameter files for Run 6.
Picks up at the behavior list through the end of the file.
oOut | File stream to write to. |
|
protected |
Writes an error condition where max radius of neighbor effects is < 0.
|
protected |
Writes an error condition where med.
damage storm effect for a species > 1.
|
protected |
Writes an error condition where full damage storm effect for a species < 0.
|
protected |
Writes an error condition where full damage storm effect for a species > 1.
|
protected |
Writes an error condition where shading is used but there is no light behavior.
|
protected |
Writes an error condition where a neighbor DBH is less than 0.
|
protected |
Writes an error condition where max growth for a species is < 0.
|
protected |
Writes an error condition where Xb for a species = 0.
|
protected |
Writes an error condition where X0 for a species = 0.
|
protected |
Writes an error condition where med.
damage eta for a species < 0.
|
protected |
Writes an error condition where med.
damage eta for a species > 1.
|
protected |
Writes an error condition where full damage eta for a species < 0.
|
protected |
Writes an error condition where full damage eta for a species > 1.
|
protected |
Writes an error condition where med.
damage storm effect for a species < 0.
|
protected |
Writes a parameter file to direct testing.
This contains two species, identical in all ways except Species 1 is assigned NCI growth as a diameter-auto, and Species 2 is assigned NCI growth as diameter-only.
|
protected |
Writes a 1-timestep file for Run 5.
|
protected |
Writes a 3-timestep file for Run 5.
|
protected |
Writes a 1-timestep file for Run 6.
|
protected |
Writes a 3-timestep file for Run 6.
|
protected |
Writes a 1-year timestep file.
This contains 3 species. NCI growth (auto-height) is assigned to adults of Species 1.
|
protected |
Writes a 3-year timestep file.
This contains 3 species. NCI growth (auto-height) is assigned to adults of Species 1.
|
protected |
Writes a 1-year timestep file.
This contains 4 species, one unused (species 3; this helps catch array-index problems). NCI growth (auto-height) is assigned to all saplings and adults.
|
protected |
Writes a 3-year timestep file.
This contains 4 species, one unused (species 3; this helps catch array-index problems). NCI growth (auto-height) is assigned to all saplings and adults.
|
protected |
Writes a 1-timestep file for Run 3.
|
protected |
Writes a 3-timestep file for Run 3.
|
protected |
Writes a 1-timestep file for Run 4.
|
protected |
Writes a 3-timestep file for Run 4.