src/core/test/sample-test-suite.cc
author Josh Pelkey <jpelkey@gatech.edu>
Fri, 13 May 2011 14:52:27 -0400
changeset 7169 358f71a624d8
parent 7155 e3e4192e2f67
child 9266 d26408b17360
permissions -rw-r--r--
core coding style changes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5270
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     2
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     3
// An essential include is test.h
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     4
#include "ns3/test.h"
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     5
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     6
// Do not put your test classes in namespace ns3.  You may find it useful
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     7
// to use the using directive to access the ns3 namespace directly
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     8
using namespace ns3;
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     9
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 7155
diff changeset
    10
// This is an example TestCase.
5270
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    11
class SampleTestCase1 : public TestCase
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    12
{
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    13
public:
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    14
  SampleTestCase1 ();
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    15
  virtual ~SampleTestCase1 ();
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    16
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    17
private:
6775
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6774
diff changeset
    18
  virtual void DoRun (void);
5270
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    19
};
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    20
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    21
// Add some help text to this case to describe what it is intended to test
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    22
SampleTestCase1::SampleTestCase1 ()
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    23
  : TestCase ("Sample test case (does nothing)")
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    24
{
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    25
}
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    26
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    27
// This destructor does nothing but we include it as a reminder that
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    28
// the test case should clean up after itself
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    29
SampleTestCase1::~SampleTestCase1 ()
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    30
{
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    31
}
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    32
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    33
//
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    34
// This method is the pure virtual method from class TestCase that every
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    35
// TestCase must implement
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    36
//
6775
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6774
diff changeset
    37
void
5270
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    38
SampleTestCase1::DoRun (void)
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    39
{
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    40
  // A wide variety of test macros are available in src/core/test.h
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    41
  NS_TEST_ASSERT_MSG_EQ (true, true, "true doesn't equal true for some reason");
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    42
  // Use this one for floating point comparisons
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    43
  NS_TEST_ASSERT_MSG_EQ_TOL (0.01, 0.01, 0.001, "Numbers are not equal within tolerance");
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    44
}
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    45
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    46
// The TestSuite class names the TestSuite, identifies what type of TestSuite,
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    47
// and enables the TestCases to be run.  Typically, only the constructor for
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    48
// this class must be defined
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    49
//
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    50
class SampleTestSuite : public TestSuite
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    51
{
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    52
public:
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    53
  SampleTestSuite ();
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    54
};
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    55
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    56
SampleTestSuite::SampleTestSuite ()
7008
82c66d5c01f7 Relabel all build verification tests (BVT) to be unit tests (UNIT)
Mitch Watrous <watrous@u.washington.edu>
parents: 6775
diff changeset
    57
  : TestSuite ("sample", UNIT)
5270
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    58
{
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    59
  AddTestCase (new SampleTestCase1);
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    60
}
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    61
4b888ac54977 Add sample test suite file
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    62
// Do not forget to allocate an instance of this TestSuite
6774
034f362af24d Make all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 5270
diff changeset
    63
static SampleTestSuite sampleTestSuite;