| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- #include "ShaVisitor.h"
 
- #include "MetaFileUtil.h"
 
- #include <string>
 
- #include <cppunit/extensions/HelperMacros.h>
 
- using namespace std;
 
- class ShaVisitorTest:public CppUnit::TestFixture {
 
-   CPPUNIT_TEST_SUITE(ShaVisitorTest);
 
-   CPPUNIT_TEST(testVisit);
 
-   CPPUNIT_TEST(testVisitCompound);
 
-   CPPUNIT_TEST_SUITE_END();
 
- private:
 
- public:
 
-   void setUp() {
 
-   }
 
-   void testVisit();
 
-   void testVisitCompound();
 
- };
 
- CPPUNIT_TEST_SUITE_REGISTRATION( ShaVisitorTest );
 
- string hexHash(unsigned char* md, int len) {
 
-   char* temp = new char[len*2+1];
 
-   for(int i = 0; i < len; i++) {
 
-     sprintf(temp+i*2, "%02x", md[i]);
 
-   }
 
-   temp[len*2] = '\0';
 
-   string h(temp);
 
-   delete [] temp;
 
-   return h;
 
- }
 
- void ShaVisitorTest::testVisit() {
 
-   ShaVisitor v;
 
-   Data d("test", 4);
 
-   d.accept(&v);
 
-   unsigned char md[20];
 
-   int len = 0;
 
-   v.getHash(md, len);
 
-   string hashHex = hexHash(md, len);
 
-   CPPUNIT_ASSERT_EQUAL(string("20482dadd856f5ac908848f731d9235d2891c41e"),
 
- 		       hashHex);
 
- }
 
- void ShaVisitorTest::testVisitCompound() {
 
-   ShaVisitor v;
 
-   MetaEntry* e = MetaFileUtil::parseMetaFile("test.torrent");
 
-   e->accept(&v);
 
-   unsigned char md[20];
 
-   int len = 0;
 
-   v.getHash(md, len);
 
-   string hashHex = hexHash(md, len);
 
-   CPPUNIT_ASSERT_EQUAL(string("36a58c6ab3eb02caa952f4345f57fabb06a39511"),
 
- 		       hashHex);
 
- }
 
 
  |