46 lines
720 B
C++
46 lines
720 B
C++
/*
|
|
* Copyright 2014 (c) Anna Schumaker.
|
|
*/
|
|
|
|
#include <iostream>
|
|
#include <stdlib.h>
|
|
|
|
namespace test
|
|
{
|
|
|
|
|
|
static unsigned int test_num;
|
|
|
|
void new_test(const std::string &name)
|
|
{
|
|
std::cout << name << std::endl;
|
|
test_num = 0;
|
|
}
|
|
|
|
void begin()
|
|
{
|
|
std::cout << " " << test_num << ": ";
|
|
test_num++;
|
|
}
|
|
|
|
template <class T>
|
|
void assert_equal(const T &lhs, const T &rhs)
|
|
{
|
|
if (lhs == rhs)
|
|
std::cout << "Success!" << std::endl;
|
|
else {
|
|
std::cout << "Failed! =(" << std::endl;
|
|
std::cout << " Actual: " << lhs << std::endl;
|
|
std::cout << " Expected: " << rhs << std::endl;
|
|
exit(1);
|
|
}
|
|
}
|
|
|
|
template <class T>
|
|
void equal(const T &lhs, const T &rhs)
|
|
{
|
|
begin();
|
|
assert_equal(lhs, rhs);
|
|
}
|
|
}
|