Du mangler at gøre noget ved SugarContainer for at en test skal give nogen mening (f.eks. via en metode på et objekt, hvor SugarContainer er en egenskab af type int).
Typisk vil målet for din test være denne funktion, hvor du efter kaldet til funktionen undersøger om SugarContainer-egenskaben på objektet har den forventede værdi.
Eksempelvis:
public class SugarContainer
{
public SugarContainer(int initialLevel)
{
Level = initialLevel;
}
public int Level { get; protected set; }
public void UseSugar(int units)
{
if(units > Level)
throw new Exception("Not enough sugar");
Level -= units;
}
}
Din testcase kunne da se således ud:
[Test]
public void SugarContainerUsesSugarWhenOneUnitOfSugarIsUsed()
{
var target = new SugarContainer(10);
target.UseSugar(1);
Assert.AreEqual(9, target.Level);
}
[Test]
public void SugarContainerThrowsExceptionWhenTooMuchSugarIsUsed()
{
var target = new SugarContainer(10);
try
{
target.UseSugar(11);
Assert.Fail();
}
catch(Exception x)
{
Assert.AreEqual("Not enough sugar", x.Message);
}
}
Jeg er klar over, at det sidste scenarium ikke er optimalt kodet. Der findes nok en smartere måde i dit testframework (givetvis noget med Assert.Throws). Jeg anvender normalt MSTest og kender derfor ikke metoden i dit testframework... beklager min uvidenhed.