MetalinkerTest.cc 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #include "Metalinker.h"
  2. #include <cppunit/extensions/HelperMacros.h>
  3. using namespace std;
  4. class MetalinkerTest:public CppUnit::TestFixture {
  5. CPPUNIT_TEST_SUITE(MetalinkerTest);
  6. CPPUNIT_TEST(testQueryEntry);
  7. CPPUNIT_TEST_SUITE_END();
  8. private:
  9. public:
  10. void setUp() {
  11. }
  12. void tearDown() {
  13. }
  14. void testQueryEntry();
  15. };
  16. CPPUNIT_TEST_SUITE_REGISTRATION( MetalinkerTest );
  17. void MetalinkerTest::testQueryEntry() {
  18. Metalinker* metalinker = new Metalinker();
  19. MetalinkEntry* entry1 = new MetalinkEntry();
  20. entry1->version = "0.5.2";
  21. entry1->language = "en-US";
  22. entry1->os = "Linux-x86";
  23. MetalinkEntry* entry2 = new MetalinkEntry();
  24. entry2->version = "0.5.1";
  25. entry2->language = "ja-JP";
  26. entry2->os = "Linux-m68k";
  27. metalinker->entries.push_back(entry1);
  28. metalinker->entries.push_back(entry2);
  29. string version;
  30. string language;
  31. string os;
  32. version = "0.5.1";
  33. language = "ja-JP";
  34. os = "Linux-m68k";
  35. MetalinkEntry* entry = metalinker->queryEntry(version,
  36. language,
  37. os);
  38. CPPUNIT_ASSERT_EQUAL(string("0.5.1"), entry->version);
  39. CPPUNIT_ASSERT_EQUAL(string("ja-JP"), entry->language);
  40. CPPUNIT_ASSERT_EQUAL(string("Linux-m68k"), entry->os);
  41. version = "0.6.0";
  42. language = "";
  43. os = "";
  44. CPPUNIT_ASSERT(!metalinker->queryEntry(version, language, os));
  45. version = "0.5.2";
  46. language = "";
  47. os = "";
  48. entry = metalinker->queryEntry(version, language, os);
  49. CPPUNIT_ASSERT_EQUAL(string("0.5.2"), entry->version);
  50. CPPUNIT_ASSERT_EQUAL(string("en-US"), entry->language);
  51. CPPUNIT_ASSERT_EQUAL(string("Linux-x86"), entry->os);
  52. delete metalinker;
  53. }