123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #include "SequentialPicker.h"
- #include <cppunit/extensions/HelperMacros.h>
- #include "a2functional.h"
- namespace aria2 {
- class SequentialPickerTest:public CppUnit::TestFixture {
- CPPUNIT_TEST_SUITE(SequentialPickerTest);
- CPPUNIT_TEST(testPick);
- CPPUNIT_TEST_SUITE_END();
- public:
- void testPick();
- };
- CPPUNIT_TEST_SUITE_REGISTRATION(SequentialPickerTest);
- void SequentialPickerTest::testPick()
- {
- SequentialPicker<int> picker;
- CPPUNIT_ASSERT(!picker.isPicked());
- CPPUNIT_ASSERT(!picker.hasNext());
- CPPUNIT_ASSERT_EQUAL((size_t)0, picker.countEntryInQueue());
- picker.pushEntry(make_unique<int>(1));
- picker.pushEntry(make_unique<int>(2));
- CPPUNIT_ASSERT(picker.hasNext());
- CPPUNIT_ASSERT_EQUAL((size_t)2, picker.countEntryInQueue());
- picker.pickNext();
- CPPUNIT_ASSERT(picker.isPicked());
- CPPUNIT_ASSERT_EQUAL(1, *picker.getPickedEntry());
- picker.dropPickedEntry();
- CPPUNIT_ASSERT(!picker.isPicked());
- CPPUNIT_ASSERT(picker.hasNext());
- picker.pickNext();
- CPPUNIT_ASSERT_EQUAL(2, *picker.getPickedEntry());
- CPPUNIT_ASSERT(!picker.hasNext());
- }
- } // namespace aria2
|