diff options
author | Daniel Burrows <dburrows@debian.org> | 2009-06-25 21:08:24 -0700 |
---|---|---|
committer | Daniel Burrows <dburrows@debian.org> | 2009-06-25 21:08:24 -0700 |
commit | 56070fc47c031a4241b0d59f28d2b80d3f298393 (patch) | |
tree | 2cb999cf136a7d66cf61f453d7fa70913fada65f /tests | |
parent | 712eed6863906f9a58700ff2e0ed8bfd7bde11d0 (diff) | |
download | aptitude-56070fc47c031a4241b0d59f28d2b80d3f298393.tar.gz |
More fixes / updates to the promotion set test code.
Since in some of the tests, the promotions that match contain different
choices, we can't assert that only one promotion was found. :-(
Also, added code to log the output of each run.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_promotion_set.cc | 46 |
1 files changed, 39 insertions, 7 deletions
diff --git a/tests/test_promotion_set.cc b/tests/test_promotion_set.cc index b4533f56..f8075f11 100644 --- a/tests/test_promotion_set.cc +++ b/tests/test_promotion_set.cc @@ -45,6 +45,26 @@ UNIVERSE [ \ const int * const complex_tier_end = complex_tier_array + (sizeof(complex_tier_array) / sizeof(complex_tier_array[0])); } +template<typename Key, typename Val> +std::ostream &operator<<(std::ostream &out, const boost::unordered_map<Key, Val> &m) +{ + out << "{"; + bool first = true; + for(typename boost::unordered_map<Key, Val>::const_iterator it = + m.begin(); it != m.end(); ++it) + { + if(first) + first = false; + else + out << ", "; + + out << it->first << " -> " << it->second; + } + out << "}"; + + return out; +} + class Promotion_SetTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(Promotion_SetTest); @@ -346,7 +366,7 @@ public: output, output_non_incipient); - CPPUNIT_ASSERT_EQUAL((unsigned)1, output.size()); + CPPUNIT_ASSERT(output.size() >= 1); CPPUNIT_ASSERT(output.begin()->first.contains(search1_incipient_key1)); CPPUNIT_ASSERT_EQUAL(expected1, output.begin()->second); } @@ -364,7 +384,9 @@ public: pick_all_promotions(), output); - CPPUNIT_ASSERT_EQUAL((unsigned)1, output.size()); + LOG_TRACE(logger, "Output: " << output); + + CPPUNIT_ASSERT(output.size() >= 1); CPPUNIT_ASSERT(output.begin()->first.contains(search1_incipient_key1)); CPPUNIT_ASSERT_EQUAL(expected1, output.begin()->second); } @@ -393,7 +415,9 @@ public: output, output_non_incipient); - CPPUNIT_ASSERT_EQUAL((unsigned)1, output.size()); + LOG_TRACE(logger, "Output: " << output); + + CPPUNIT_ASSERT(output.size() >= 1); CPPUNIT_ASSERT(output.begin()->first.contains(search1_incipient_key2)); CPPUNIT_ASSERT_EQUAL(expected1, output.begin()->second); } @@ -411,7 +435,9 @@ public: pick_all_promotions(), output); - CPPUNIT_ASSERT_EQUAL((unsigned)1, output.size()); + LOG_TRACE(logger, "Output: " << output); + + CPPUNIT_ASSERT(output.size() >= 1); CPPUNIT_ASSERT(output.begin()->first.contains(search1_incipient_key2)); CPPUNIT_ASSERT_EQUAL(expected1, output.begin()->second); } @@ -521,7 +547,9 @@ public: output, output_non_incipient); - CPPUNIT_ASSERT_EQUAL((unsigned)1, output.size()); + LOG_TRACE(logger, "Output: " << output); + + CPPUNIT_ASSERT(output.size() >= 1); CPPUNIT_ASSERT(output.begin()->first.contains(search5_incipient_key1)); CPPUNIT_ASSERT_EQUAL(expected5, output.begin()->second); } @@ -539,7 +567,9 @@ public: pick_all_promotions(), output); - CPPUNIT_ASSERT_EQUAL((unsigned)1, output.size()); + LOG_TRACE(logger, "Output: " << output); + + CPPUNIT_ASSERT(output.size() >= 1); CPPUNIT_ASSERT(output.begin()->first.contains(search5_incipient_key1)); CPPUNIT_ASSERT_EQUAL(expected5, output.begin()->second); } @@ -576,7 +606,9 @@ public: pick_all_promotions(), output); - CPPUNIT_ASSERT_EQUAL((unsigned)1, output.size()); + LOG_TRACE(logger, "Output: " << output); + + CPPUNIT_ASSERT(output.size() >= 1); CPPUNIT_ASSERT(output.begin()->first.contains(search5_incipient_key2)); CPPUNIT_ASSERT_EQUAL(expected5_2, output.begin()->second); } |