| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | 
							- #include "ShareRatioSeedCriteria.h"
 
- #include "MockBtContext.h"
 
- #include "MockPeerStorage.h"
 
- #include "MockPieceStorage.h"
 
- #include <cppunit/extensions/HelperMacros.h>
 
- class ShareRatioSeedCriteriaTest:public CppUnit::TestFixture {
 
-   CPPUNIT_TEST_SUITE(ShareRatioSeedCriteriaTest);
 
-   CPPUNIT_TEST(testEvaluate);
 
-   CPPUNIT_TEST_SUITE_END();
 
-   
 
- public:
 
-   void testEvaluate();
 
- };
 
- CPPUNIT_TEST_SUITE_REGISTRATION(ShareRatioSeedCriteriaTest);
 
- void ShareRatioSeedCriteriaTest::testEvaluate() {
 
-   string infoHash = "01234567890123456789";
 
-   string infoHashString = Util::toHex((const unsigned char*)infoHash.c_str(), infoHash.size());
 
-   MockBtContext* mockBtContext = new MockBtContext();
 
-   mockBtContext->setTotalLength(1000000);
 
-   mockBtContext->setInfoHash((const unsigned char*)infoHash.c_str());
 
-   BtContextHandle btContext(mockBtContext);
 
-   
 
-   BtRuntimeHandle btRuntime(new BtRuntime());
 
-   btRuntime->setUploadLengthAtStartup(500000);
 
-   BtRegistry::registerBtRuntime(infoHashString, btRuntime);
 
-   
 
-   MockPeerStorage* mockPeerStorage = new MockPeerStorage();
 
-   TransferStat stat;
 
-   stat.setSessionDownloadLength(1000000);
 
-   stat.setSessionUploadLength(500000);
 
-   mockPeerStorage->setStat(stat);
 
-   PeerStorageHandle peerStorage(mockPeerStorage);
 
-   BtRegistry::registerPeerStorage(infoHashString, peerStorage);
 
-   MockPieceStorage* mockPieceStorage = new MockPieceStorage();
 
-   mockPieceStorage->setCompletedLength(1000000);
 
-   BtRegistry::registerPieceStorage(infoHashString, PieceStorageHandle(mockPieceStorage));
 
-   ShareRatioSeedCriteria cri(1.0, btContext);
 
-   CPPUNIT_ASSERT(cri.evaluate());
 
-   
 
-   cri.setRatio(2.0);
 
-   CPPUNIT_ASSERT(!cri.evaluate());
 
-   // check div by zero
 
-   mockBtContext->setTotalLength(0);
 
-   CPPUNIT_ASSERT(!cri.evaluate());
 
- }
 
 
  |