\subsection{Assert procedures}\label{sect:assert} These two procedures are used in {\sl non-regression testcases}\index{non-regression testcases} to ensure that existing capabilities of Dragon are not lost with subsequent updates of the code. Procedure {\tt assertS} is used to assert a single real value taken from record {\tt KEY} of a LCM {\sl associative table}. Its calling specification is \begin{DataStructure}{Structure \dusa{assertS}} \moc{assertS} \dusa{LCMNAM} \moc{::} \dusa{KEY} \dusa{ipos} \dusa{value} \moc{;} \end{DataStructure} \noindent where \begin{ListeDeDescription}{mmmmmmm} \item[\dusa{LCMNAM}] {\tt character*12} name of the LCM data structure. \item[\dusa{KEY}] {\tt character*12} name of the real array we want to assert. \item[\dusa{ipos}] integer index of the component in the real array we want to assert. \item[\dusa{values}] real reference value of the \dusa{ipos}--th component. \end{ListeDeDescription} Procedure {\tt assertV} is used to assert a single real value taken from an heterogeneous list (named {\tt KEY}) where each component is a real array. Its calling specification is \begin{DataStructure}{Structure \dusa{assertV}} \moc{assertV} \dusa{LCMNAM} \moc{::} \dusa{KEY} \dusa{iset} \dusa{ipos} \dusa{value} \moc{;} \end{DataStructure} \noindent where \begin{ListeDeDescription}{mmmmmmm} \item[\dusa{LCMNAM}] {\tt character*12} name of the LCM data structure. \item[\dusa{KEY}] {\tt character*12} name of the heterogeneous list we want to assert. \item[\dusa{ipos}] integer index of the component in the heterogeneous list \item[\dusa{ipos}] integer index of the component in the real array we want to assert. \item[\dusa{values}] real reference value of the \dusa{ipos}--th component. \end{ListeDeDescription} \listing{assertS.c2m} \listing{assertV.c2m}