\documentclass[a4paper,10pt]{article}

\usepackage[latin1]{inputenc}
\usepackage{graphicx}
\usepackage{url}
\usepackage{palatino}
%%\usepackage{rotating}



% A java class name
\newcommand{\cn}[1]{{\sf #1}}
% A java method name or call
\newcommand{\mn}[1]{{\sf #1}}

% A scenario
\newcommand{\scenario}[1]{{\em #1}}

% A TDD pattern in text
\newcommand{\tp}[1]{{\em #1}}


% A design pattern pattern in text
\newcommand{\dpn}[1]{{\scshape #1}}


% Partition box
\newenvironment{partition}{%
\begin{center}%
\begin{tabular}{l|c|c}%
Condition & Invalid ECs & Valid ECs \\%
\hline\hline}%
{\hline\end{tabular}\end{center}}

% Equivalence class box
\newenvironment{ec}{%
\begin{center}%
\begin{tabular}{l|c|c}%
ECs covered & Test case & Expected output \\%
\hline\hline}%
{\hline\end{tabular}\end{center}}


\begin{document}

\title{SWEA Iteration 7: Blackbox Testing and Pattern Hunting}

\author{
  \texttt{<<Group name>>}\\
  Computer Science, University of Aarhus\\
  8200 {\AA}rhus N, Denmark\\
  \makeatletter
  $<<$Names$>>$\\
}

\date{$<<$Date$>>$}

\maketitle

% =====================================================================
\section{EC of RhoStone 'attack()'}

\subsection{Conditions}
Regarding subquestion 1, the following conditions influence function
\mn{attack()} in RhoStone:
\begin{itemize}
\item is the attacking player owner of the card (boolean condition)
  \item is card active (boolean condition)
\item \emph{(Your group's further analysis here)}
\end{itemize}

\subsection{EC tables}
These leads to a first version of the \emph{equivalence class table}:

\begin{partition}
is owner of card & false [a1] & true [a2] \\
(more analysis)\ldots & \ldots & \ldots \\
\end{partition}


The found ECs have the \emph{representation} and \emph{coverage}
properties because [argument here].
 
\subsection{Extended test case table}

We use Myers heuristics for valid and invalid ECs to generate test
cases as outlined in the extended test case table:

\begin{ec}
  [a2][\ldots] & Fin (in turn): Ts (active, Fin) \\
  & $\to$ Hero (Ped)  & STATUS\_OK\\
  
  (more) & \ldots & \ldots \\
\end{ec}

Legend: The symbol $\to$ means ``attack''; Fin and Ped are Findus and
Peddersen respectively. Cards are from DeltaStone and abbreviations
are: ``Ts'' for card Tomato Salad (attack 3, health 2), \ldots

% =====================================================================
\section{Facade}

[Argue whether the \cn{Game} interface is a \dpn{Facade}
  pattern or not.]

% =====================================================================
\section{Observer}

[Include the source code of the \mn{usePower()} method in your
  HotStone, highligthing the code lines that trigger observer calls;
  shortly argue for what is going on]

[Include a JUnit test case for a scenario in which the Danish Chef
  uses his power to successfully field a Sovs minion; and shortly
  argue for the assertThats which verifies that all proper observer
  events are notified from the Game]

% =====================================================================
\section{Transcript}

\subsection{Pattern identified}

[Argue for a pattern that allows transcription to be made using a
  purely ``Change by addition'' technique]

\subsection{Implementation notes}

[Include and explain code fragments that demonstrate how A)
  transcription is made B) how transcription is turned on and off at
  run-time]


% =====================================================================
\section{Personalized Decks}

\subsection{Pattern identified}

[Argue for a pattern that allows the personalized decks library to be
  used in HotStone using a purely ``Change by addition'' technique]

\subsection{Implementation notes}

[Include and explain code fragments that demonstrate how 
  the external deck library is used by your HotStone]

[Include your integration test that tests that your HotStone is using
  the external deck]

% =====================================================================
\section{Role diagram}

[Include your role diagram and a short explanation]



% =====================================================================
\section{Backlog}

The following features and requirements are still not implemented in
our HotStone software:

\begin{itemize}
\item \ldots
\item \ldots
\end{itemize}


\end{document}


