/* ====================================================================
* Copyright (c) 2003-2006, Martin Hauner
* http://subcommander.tigris.org
*
* Subcommander is licensed as described in the file doc/COPYING, which
* you should have received as part of this distribution.
* ====================================================================
*/
#include "WcStatusInfoTest.h"
// cppunit
#include <cppunit/TestSuite.h>
#include <cppunit/TestCaller.h>
// sc
#include "subcommander/WcStatusCache.h"
#include "subcommander/WcStatusInfo.h"
#include "util/String.h"
WcStatusInfoTest::WcStatusInfoTest() : CppUnit::TestCase("WcStatusInfoTest")
{
}
WcStatusInfoTest::~WcStatusInfoTest()
{
}
void WcStatusInfoTest::setUp()
{
}
void WcStatusInfoTest::tearDown()
{
}
CppUnit::Test *WcStatusInfoTest::suite()
{
CppUnit::TestSuite *newSuite = new CppUnit::TestSuite("WcStatusInfoTest");
newSuite->addTest(new CppUnit::TestCaller<WcStatusInfoTest>("testOperatorEqual",&WcStatusInfoTest::testOperatorEqual) );
newSuite->addTest(new CppUnit::TestCaller<WcStatusInfoTest>("testGetAge",&WcStatusInfoTest::testGetAge) );
return newSuite;
}
void WcStatusInfoTest::testOperatorEqual()
{
svn::WcStatuss statuss;
WcStatusInfo info1( sc::String("test"), 0, statuss );
WcStatusInfo info2( sc::String("test"), 0, statuss );
WcStatusInfo info3( sc::String("test"), 1, statuss );
WcStatusInfo info4( sc::String("testx"), 0, statuss );
CPPUNIT_ASSERT( info1 == info1 );
CPPUNIT_ASSERT( info1 == info2 );
CPPUNIT_ASSERT( !(info1 == info3) );
CPPUNIT_ASSERT( !(info1 == info4) );
}
void WcStatusInfoTest::testGetAge()
{
svn::WcStatuss statuss;
WcStatusInfo info1( sc::String("test"), apr_time_now(), statuss );
apr_sleep(5000 /*5ms*/);
unsigned long age = info1.getAge();
unsigned long ref = (unsigned long)((apr_time_now() - info1.getDate())/1000);
CPPUNIT_ASSERT( age <= ref );
}
syntax highlighted by Code2HTML, v. 0.9.1