TestFixtures are a way to organize your tests, especially when it comes to testing classes. They can also have a persistent state, contain member variables and private methods. They also have the possibility to make use of initializer methods (see section below).
The code below defines the class NumberGenerator and tests it in the class NumberGeneratorTest.
USING AxUnit.Assert;
NAMESPACE MyTests
CLASS PUBLIC NumberGenerator
VAR PUBLIC
Number : INT;
END_VAR
METHOD PUBLIC GetNext : INT
GetNext := Number + 1;
Number := GetNext;
END_METHOD
METHOD PUBLIC GetCurrent : INT
GetCurrent := Number;
END_METHOD
END_CLASS
{TestFixture}
CLASS PUBLIC NumberGeneratorTest
VAR
_defaultNumberGenerator : NumberGenerator;
_numberGenerator100 : NumberGenerator := (Number := 100);
_getnextInstance : NumberGenerator;
END_VAR
{Test}
METHOD PUBLIC NumberIsSetTo0ByDefaultInitializer
Equal(_defaultNumberGenerator.Number, 0);
END_METHOD
{Test}
METHOD PUBLIC NumberIsSetByExplicitInitializer
Equal(_numberGenerator100.Number, 100);
END_METHOD
{Test}
METHOD PUBLIC GetNextIncrementsTheNumber
Equal(_getnextInstance.Number, 0);
Equal(_getnextInstance.GetNext(), 1);
Equal(_getnextInstance.Number, 1);
END_METHOD
END_CLASS
END_NAMESPACE