AUnit  0.4.0
Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
aunit::Test Class Referenceabstract

Base class of all test cases. More...

#include <Test.h>

Inheritance diagram for aunit::Test:
Inheritance graph
[legend]

Public Member Functions

 Test ()
 Empty constructor. More...
 
virtual void setup ()
 Optional method that performs any initialization. More...
 
virtual void loop ()=0
 The user-provided test case function. More...
 
void resolve ()
 Print out the summary of the current test. More...
 
const FCStringgetName ()
 Get the name of the test. More...
 
uint8_t getStatus ()
 Get the status of the test. More...
 
void setStatus (uint8_t status)
 Set the status of the test. More...
 
void setPassOrFail (bool ok)
 Set the status to Passed or Failed depending on ok. More...
 
Test ** getNext ()
 Return the next pointer as a pointer to the pointer, similar to getRoot(). More...
 
bool isDone ()
 Return true if test is done (passed, failed, skipped, expired). More...
 
bool isNotDone ()
 Return true if test is done (passed, failed, skipped, expired). More...
 
bool isPassed ()
 Return true if test is passed. More...
 
bool isNotPassed ()
 Return true if test is passed. More...
 
bool isFailed ()
 Return true if test is failed. More...
 
bool isNotFailed ()
 Return true if test is failed. More...
 
bool isSkipped ()
 Return true if test isNot skipped. More...
 
bool isNotSkipped ()
 Return true if test isNot skipped. More...
 
bool isExpired ()
 Return true if test is expired. More...
 
bool isNotExpired ()
 Return true if test is expired. More...
 
void skip ()
 Mark the test as skipped. More...
 
void expire ()
 Mark the test as expired (i.e. More...
 
void enableVerbosity (uint8_t verbosity)
 Enable the given verbosity of the current test. More...
 
void disableVerbosity (uint8_t verbosity)
 Disable the given verbosity of the current test. More...
 

Static Public Member Functions

static Test ** getRoot ()
 Get the pointer to the root pointer. More...
 

Static Public Attributes

static const uint8_t kStatusNew = 0
 Test is new, needs to be setup. More...
 
static const uint8_t kStatusSetup = 1
 Test is set up. More...
 
static const uint8_t kStatusPassed = 2
 Test has passed, or pass() was called. More...
 
static const uint8_t kStatusFailed = 3
 Test has failed, or failed() was called. More...
 
static const uint8_t kStatusSkipped = 4
 Test is skipped, through the exclude() method or skip() was called. More...
 
static const uint8_t kStatusExpired = 5
 Test has timed out, or expire() called. More...
 

Protected Member Functions

void fail ()
 Mark the test as failed. More...
 
void pass ()
 Mark the test as passed. More...
 
void init (const char *name)
 
void init (const __FlashStringHelper *name)
 
bool isVerbosity (uint8_t verbosity)
 Determine if any of the given verbosity is enabled. More...
 
uint8_t getVerbosity ()
 Get the verbosity. More...
 

Detailed Description

Base class of all test cases.

The test() and testing() macros define subclasses of Test or TestOnce (respectively), and allow the code following the macros in '{}' to become the body of the loop() and once() methods of the two classes (respectively).

Definition at line 49 of file Test.h.

Constructor & Destructor Documentation

◆ Test()

aunit::Test::Test ( )

Empty constructor.

The name will be set later.

Definition at line 49 of file Test.cpp.

Member Function Documentation

◆ disableVerbosity()

void aunit::Test::disableVerbosity ( uint8_t  verbosity)
inline

Disable the given verbosity of the current test.

Definition at line 157 of file Test.h.

◆ enableVerbosity()

void aunit::Test::enableVerbosity ( uint8_t  verbosity)
inline

Enable the given verbosity of the current test.

Definition at line 154 of file Test.h.

◆ expire()

void aunit::Test::expire ( )
inline

Mark the test as expired (i.e.

timed out).

Definition at line 151 of file Test.h.

◆ fail()

void aunit::Test::fail ( )
inlineprotected

Mark the test as failed.

Definition at line 161 of file Test.h.

◆ getName()

const FCString& aunit::Test::getName ( )
inline

Get the name of the test.

Definition at line 99 of file Test.h.

◆ getNext()

Test** aunit::Test::getNext ( )
inline

Return the next pointer as a pointer to the pointer, similar to getRoot().

This makes it much easier to manipulate a singly-linked list. Also makes setNext() method unnecessary.

Definition at line 115 of file Test.h.

◆ getRoot()

Test ** aunit::Test::getRoot ( )
static

Get the pointer to the root pointer.

Implemented as a function static so fixes the C++ static initialization problem making it safe to use this in other static contexts.

Definition at line 44 of file Test.cpp.

◆ getStatus()

uint8_t aunit::Test::getStatus ( )
inline

Get the status of the test.

Definition at line 102 of file Test.h.

◆ getVerbosity()

uint8_t aunit::Test::getVerbosity ( )
inlineprotected

Get the verbosity.

Definition at line 184 of file Test.h.

◆ isDone()

bool aunit::Test::isDone ( )
inline

Return true if test is done (passed, failed, skipped, expired).

Definition at line 118 of file Test.h.

◆ isExpired()

bool aunit::Test::isExpired ( )
inline

Return true if test is expired.

Definition at line 142 of file Test.h.

◆ isFailed()

bool aunit::Test::isFailed ( )
inline

Return true if test is failed.

Definition at line 130 of file Test.h.

◆ isNotDone()

bool aunit::Test::isNotDone ( )
inline

Return true if test is done (passed, failed, skipped, expired).

Definition at line 121 of file Test.h.

◆ isNotExpired()

bool aunit::Test::isNotExpired ( )
inline

Return true if test is expired.

Definition at line 145 of file Test.h.

◆ isNotFailed()

bool aunit::Test::isNotFailed ( )
inline

Return true if test is failed.

Definition at line 133 of file Test.h.

◆ isNotPassed()

bool aunit::Test::isNotPassed ( )
inline

Return true if test is passed.

Definition at line 127 of file Test.h.

◆ isNotSkipped()

bool aunit::Test::isNotSkipped ( )
inline

Return true if test isNot skipped.

Definition at line 139 of file Test.h.

◆ isPassed()

bool aunit::Test::isPassed ( )
inline

Return true if test is passed.

Definition at line 124 of file Test.h.

◆ isSkipped()

bool aunit::Test::isSkipped ( )
inline

Return true if test isNot skipped.

Definition at line 136 of file Test.h.

◆ isVerbosity()

bool aunit::Test::isVerbosity ( uint8_t  verbosity)
inlineprotected

Determine if any of the given verbosity is enabled.

Definition at line 181 of file Test.h.

◆ loop()

virtual void aunit::Test::loop ( )
pure virtual

The user-provided test case function.

EEach call to Test::run() makes one call to this loop() method. The assertXxx() macros, as well as pass(), fail() and skip() functions can be called in here.

Implemented in aunit::TestOnce, and aunit::TestAgain.

◆ pass()

void aunit::Test::pass ( )
inlineprotected

Mark the test as passed.

Definition at line 164 of file Test.h.

◆ resolve()

void aunit::Test::resolve ( )

Print out the summary of the current test.

Definition at line 80 of file Test.cpp.

◆ setPassOrFail()

void aunit::Test::setPassOrFail ( bool  ok)

Set the status to Passed or Failed depending on ok.

Definition at line 57 of file Test.cpp.

◆ setStatus()

void aunit::Test::setStatus ( uint8_t  status)
inline

Set the status of the test.

Definition at line 105 of file Test.h.

◆ setup()

virtual void aunit::Test::setup ( )
inlinevirtual

Optional method that performs any initialization.

The assertXxx() macros, as well as pass(), fail() and skip() functions can be called in here.

Definition at line 86 of file Test.h.

◆ skip()

void aunit::Test::skip ( )
inline

Mark the test as skipped.

Definition at line 148 of file Test.h.

Member Data Documentation

◆ kStatusExpired

const uint8_t aunit::Test::kStatusExpired = 5
static

Test has timed out, or expire() called.

Definition at line 70 of file Test.h.

◆ kStatusFailed

const uint8_t aunit::Test::kStatusFailed = 3
static

Test has failed, or failed() was called.

Definition at line 64 of file Test.h.

◆ kStatusNew

const uint8_t aunit::Test::kStatusNew = 0
static

Test is new, needs to be setup.

Definition at line 55 of file Test.h.

◆ kStatusPassed

const uint8_t aunit::Test::kStatusPassed = 2
static

Test has passed, or pass() was called.

Definition at line 61 of file Test.h.

◆ kStatusSetup

const uint8_t aunit::Test::kStatusSetup = 1
static

Test is set up.

Definition at line 58 of file Test.h.

◆ kStatusSkipped

const uint8_t aunit::Test::kStatusSkipped = 4
static

Test is skipped, through the exclude() method or skip() was called.

Definition at line 67 of file Test.h.


The documentation for this class was generated from the following files: