EasyUnit Examples (v. 1.0 Beta 2)

Simple example

// Stack.h

class Stack {

public:
  int size();
  bool isEmpty();

};

// Stack.cpp

#include "Stack.h"

int Stack::size() { return 0; }

bool Stack::isEmpty() { return true; }

// StackTest.cpp

#include "easyunit/test.h"
#include "Stack.h"

using namespace easyunit;

TEST(Stack,size)
{
  Stack s;
  ASSERT_TRUE(s.size() == 1);
}

TEST(Stack,isEmpty)
{
  Stack s;
  ASSERT_TRUE(s.isEmpty());
}

// main.cpp

#include "easyunit/testharness.h"

using namespace easyunit;

int main()
{

  TestRegistry::runAndPrint();

}

// Console output:

-- EasyUnit Results --

SUMMARY

Test summary: FAIL
Number of test cases ran: 1
Test cases that succeeded: 0
Test cases with errors: 0
Test cases that failed: 1

DETAILS

Test case "Stack" FAILED with 0 error(s), 1 failure(s) and 1 success(es):
  Test "size" FAILED :
    Failure: "s.size() == 1" line 11 in StackTest.cpp
  Test "isEmpty" SUCCEEDED!

 

Example with fixtures

// Stack.h

class Stack {

public:
  int size();
  bool isEmpty();

};

// Stack.cpp

#include "Stack.h"

int Stack::size() { return 0; }

bool Stack::isEmpty() { return true; }

// Queue.h

class Queue {

public:
  void setSize(long s) {size_ = s);
  long size() {return size_;}
  bool isEmpty() {return true;}

private:
  long size;

};

// QueueTest.cpp

#include "easyunit/test.h"
#include "Queue.h"

using namespace easyunit;

DECLARE(CustomQueue)
  Queue *q;
END_DECLARE

SETUP(CustomQueue)
{
  q = new Queue();
  q->setSize(100);
}

TEARDOWN(CustomQueue)
{
  delete q;
}

TESTF(CustomQueue,test1)
{
  ASSERT_TRUE(q->isEmpty());
  ASSERT_TRUE(q->size() == 0);
}

TESTF(CustomQueue,test2)
{
  FAIL_M("Buffer overflow");
}

// StackTest.cpp

#include "easyunit/test.h"
#include "Stack.h"

using namespace easyunit;

TEST(Stack,size)
{
  Stack s;
  ASSERT_TRUE(s.size() == 0);
}

TEST(Stack,isEmpty)
{
  Stack s;
  ASSERT_TRUE(s.isEmpty());
}

// main.cpp

#include "easyunit/testharness.h"

using namespace easyunit;

int main()
{

  TestRegistry::runAndPrint();

}

// Console output:

-- EasyUnit Results --

SUMMARY

Test summary: FAIL
Number of test cases ran: 2
Test cases that succeeded: 1
Test cases with errors: 0
Test cases that failed: 1

DETAILS

Test case "Stack" SUCCEEDED with 0 error(s), 0 failure(s) and 2 success(es):
  Test "size" SUCCEEDED!
  Test "isEmpty" SUCCEEDED!

Test case "CustomQueue" FAILED with 0 error(s), 2 failure(s) and 0 success(es):
  Test "test1" FAILED :
    Failure: "q->size() == 0" line 26 in QueueTest.cpp
  Test "test2" FAILED :
    Failure: "Buffer overflow" line 31 in QueueTest.cpp

 


© 2004 Barthélémy Dagenais
EasyUnit is released under LGPL