/* ==================================================================== * 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 "StatusCacheTest.h" // cppunit #include #include // sc #include "subcommander/WcStatusCache.h" #include "subcommander/WcStatusInfo.h" #include "util/String.h" StatusCacheTest::StatusCacheTest() : CppUnit::TestCase("StatusCacheTest") { } StatusCacheTest::~StatusCacheTest() { } void StatusCacheTest::setUp() { } void StatusCacheTest::tearDown() { } CppUnit::Test *StatusCacheTest::suite() { CppUnit::TestSuite *newSuite = new CppUnit::TestSuite("StatusCacheTest"); newSuite->addTest(new CppUnit::TestCaller("testSet",&StatusCacheTest::testSet) ); newSuite->addTest(new CppUnit::TestCaller("testUpdate",&StatusCacheTest::testUpdate) ); newSuite->addTest(new CppUnit::TestCaller("testGetEmpty",&StatusCacheTest::testGetEmpty) ); return newSuite; } void StatusCacheTest::testSet() { WcStatusCache cache; svn::WcStatuss statuss; WcStatusInfo insert1( sc::String("1"), apr_time_now(), statuss ); WcStatusInfo insert2( sc::String("2"), apr_time_now(), statuss ); cache.set( insert1 ); cache.set( insert2 ); WcStatusInfo cached1 = cache.get( sc::String("1") ); CPPUNIT_ASSERT( cached1 == insert1 ); WcStatusInfo cached2 = cache.get( sc::String("2") ); CPPUNIT_ASSERT( cached2 == insert2 ); } void StatusCacheTest::testUpdate() { WcStatusCache cache; svn::WcStatuss statuss; WcStatusInfo insert1( sc::String("1"), apr_time_now(), statuss ); cache.set( insert1 ); WcStatusInfo cached1 = cache.get( insert1.getPath() ); CPPUNIT_ASSERT( cached1 == insert1 ); WcStatusInfo insert2( insert1.getPath(), apr_time_now(), statuss ); cache.set( insert2 ); WcStatusInfo cached2 = cache.get( insert2.getPath() ); CPPUNIT_ASSERT( cached2 == insert2 ); } void StatusCacheTest::testGetEmpty() { WcStatusCache cache; WcStatusInfo info = cache.get( sc::String("1") ); CPPUNIT_ASSERT( info.isEmpty() ); }