\section{Unit tests}

\subsection{Data structures}

Classes Variable, Entity and Equation are deemed trivial enough to not require testing. Their source code will be reviewed.

\input{content/unit_distributions}

\subsection{package PIANOS.io}

\subsubsection{FortranWriter}

The FortranWriter class is used instead of a usual FileWriter in writing the Fortran source files. Its tasks include cutting long lines into multiple continued lines and appending `\&' in the beginning of each continued line. Also when lines are cut from the middle of a character string literal, `\&' will be appended before the cut. FortranWriter also indents Fortran code correctly.

NOTE: The output of the Generator speaks for this class, as does the testing summary done with Emma [Emma]. FortranWriter is not a crucial part of the software, and is not tested any further.

\input{content/unit_parser}

\subsection{package PIANOS.generator}

When testing the following classes it is assumed that FortranWriter works correctly.

\Subsubsection{Definitions}

\input{content/unit_definitions}

\subsubsection{Input}

\input{content/unit_input}

\subsubsection{Output}

\input{content/unit_output}

\subsubsection{Proposal}

\input{content/unit_proposal}

\subsubsection{Acceptation}

\input{content/unit_acceptation}

\subsubsection{FortranMain}

\input{content/unit_fortranmain}

\subsubsection{Generator}

No unit tests are performed.
