
\documentclass[letterpaper, 10pt, oneside, draft]{article}

%include the usecases package
\usepackage{usecases}

\begin{document}


\begin{usecase}
\addtitle{Use Case 4.1}{Create LigandGatedRateConstant} 
\addfield{Primary Actor:}{End-User}
\additemizedfield{Preconditions:}{
	\item None
} 
\additemizedfield{Postconditions:}{
	\item The LigandGatedRateConstant is initialized and valid
}
\addscenario{Main Success Scenario:}{
	\item The user calls LigandGatedRateConstant's parameterized constructor with its name, name of the ligand on which it depends, and the ligand power and the three arguments
	\item The LigandGatedRateConstant is initialized successfully 
}
\addscenario{Extensions:}{
	\item[2a.] The LigandGatedRateConstant's name is an empty string
		\begin{enumerate}
		\item[1.] System throws a runtime exception notifying the user that the LigandGatedRateConstant's name cannot be empty 
		\end{enumerate}
	\item[2b.] The ligand name is an empty string
		\begin{enumerate}
		\item[1.] System throws a runtime exception notifying the user that the ligand name cannot be empty 
		\end{enumerate}
}
\end{usecase}
\pagebreak

\begin{usecase}
\addtitle{Use Case 4.2}{Get LigandGatedRateConstant Rate} 
\addfield{Primary Actor:}{End-User}
\additemizedfield{Preconditions:}{
	\item The LigandGatedRateConstant is initialized and valid
} 
\additemizedfield{Postconditions:}{
	\item The rate is returned and the LigandGatedRateConstant is unmodified
}
\addscenario{Main Success Scenario:}{
	\item The user calls LigandGatedRateConstant's getRate() function with a smart\_ptr to a StateOfTheWorld instance as the only argument
	\item The rate calculated as (ligand concentration raised to the ligand power) and is returned to the user 
}
\addscenario{Extensions:}{
	\item[2a.] The state\_of\_the\_world pointer is null
		\begin{enumerate}
		\item[1.] System throws a runtime exception notifying the user that the StateOfTheWorld instance is null
		\end{enumerate}
	\item[2b.] The ligand's concentration value is not found in the StateOfTheWorld instance
		\begin{enumerate}
		\item[1.] System throws a runtime exception notifying the user that the ligand's concentration does not exist in the StateOfTheWorld instance 
		\end{enumerate}
}
\end{usecase}

\end{document}