SECTION("Each element of each subset is distinct")
{
for (unsigned k = 0; static_cast<size_t>(k) < example_vec.size(); k++) {
- for (auto& subset : make_k_subsets_iter(k, example_vec)) {
+ for (const auto& subset : make_k_subsets_iter(k, example_vec)) {
// Each subset must have size `k`
REQUIRE(subset.size() == k);
SECTION("Each element of each subset is distinct and appears half of the time in all subsets iteration")
{
// Each element is expected to be found in half of the sets
- const unsigned k = static_cast<unsigned>(example_vec.size());
+ const auto k = static_cast<unsigned>(example_vec.size());
const int expected_count = integer_power(2, k - 1);
std::unordered_map<int, int> element_counts(k);
- for (auto& subset : make_powerset_iter(example_vec)) {
+ for (const auto& subset : make_powerset_iter(example_vec)) {
// Each subset must be comprised only of distinct elements
std::unordered_set<int> elements_seen(k);
for (const auto& element_ptr : subset) {