Added some assertions; optimized GetSelectedOutputValue; added some multi selected-output tests

git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@8285 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
Scott R Charlton 2013-12-05 23:59:31 +00:00
parent a7f2845bfd
commit 435f2e2eb6

View File

@ -369,6 +369,7 @@ int IPhreeqc::GetSelectedOutputColumnCount(void)const
int IPhreeqc::GetSelectedOutputCount(void)const int IPhreeqc::GetSelectedOutputCount(void)const
{ {
ASSERT(this->PhreeqcPtr->SelectedOutput_map.size() == this->CurrentSelectedOutputMap.size());
return (int) this->PhreeqcPtr->SelectedOutput_map.size(); return (int) this->PhreeqcPtr->SelectedOutput_map.size();
} }
@ -459,21 +460,27 @@ VRESULT IPhreeqc::GetSelectedOutputValue(int row, int col, VAR* pVAR)
{ {
case VR_OK: case VR_OK:
break; break;
case VR_INVALIDROW:
this->AddError("GetSelectedOutputValue: VR_INVALIDROW Row index out of range.\n");
this->update_errors();
break;
case VR_INVALIDCOL:
this->AddError("GetSelectedOutputValue: VR_INVALIDCOL Column index out of range.\n");
this->update_errors();
break;
case VR_OUTOFMEMORY: case VR_OUTOFMEMORY:
this->AddError("GetSelectedOutputValue: VR_OUTOFMEMORY Out of memory.\n"); this->AddError("GetSelectedOutputValue: VR_OUTOFMEMORY Out of memory.\n");
this->update_errors();
break; break;
case VR_BADVARTYPE: case VR_BADVARTYPE:
this->AddError("GetSelectedOutputValue: VR_BADVARTYPE pVar must be initialized(VarInit) and/or cleared(VarClear).\n"); this->AddError("GetSelectedOutputValue: VR_BADVARTYPE pVar must be initialized(VarInit) and/or cleared(VarClear).\n");
this->update_errors();
break; break;
case VR_INVALIDARG: case VR_INVALIDARG:
// not possible // not possible
break; break;
case VR_INVALIDROW: default:
this->AddError("GetSelectedOutputValue: VR_INVALIDROW Row index out of range.\n"); assert(0);
break;
case VR_INVALIDCOL:
this->AddError("GetSelectedOutputValue: VR_INVALIDCOL Column index out of range.\n");
break;
} }
} }
else else
@ -482,8 +489,8 @@ VRESULT IPhreeqc::GetSelectedOutputValue(int row, int col, VAR* pVAR)
v = VR_INVALIDARG; v = VR_INVALIDARG;
::sprintf(buffer, "GetSelectedOutputValue: VR_INVALIDARG Invalid selected-output user number %d.\n", this->CurrentSelectedOutputUserNumber); ::sprintf(buffer, "GetSelectedOutputValue: VR_INVALIDARG Invalid selected-output user number %d.\n", this->CurrentSelectedOutputUserNumber);
this->AddError(buffer); this->AddError(buffer);
this->update_errors();
} }
this->update_errors();
return v; return v;
} }
@ -1124,6 +1131,7 @@ void IPhreeqc::do_run(const char* sz_routine, std::istream* pis, PFN_PRERUN_CALL
ASSERT(this->SelectedOutputMap[(*mit).first] == this->CurrentSelectedOutputMap[&(*mit).second]); ASSERT(this->SelectedOutputMap[(*mit).first] == this->CurrentSelectedOutputMap[&(*mit).second]);
} }
} }
ASSERT(this->PhreeqcPtr->SelectedOutput_map.size() == this->CurrentSelectedOutputMap.size());
if (this->PhreeqcPtr->title_x != NULL) if (this->PhreeqcPtr->title_x != NULL)
{ {
::sprintf(token, "TITLE"); ::sprintf(token, "TITLE");