 TYPED_TEST(InnerJoinTest, debug)
 {
   this->create_input(5,2,5,2,true);
-  std::vector<result_type> result = this->compute_reference_solution(true);
+  std::vector<result_type> result = this->compute_reference_solution(join_kind::LEFT, true);
 }


      // Every element in the range identifies a row in the right columns where
      // the first column matches. Need to check if all other columns also match
      for(auto i =  range.first; i != range.second; ++i)
      {
        const auto right_index = i->second;

        // If all of the columns in right_columns[right_index] == all of the columns in left_columns[left_index]
        // Then this index pair is added to the result as a matching pair of row indices
        if( true == rows_equal(left_columns, right_columns, left_index, right_index))
          result.emplace_back(left_index, right_index);
      }
    }


    }
  }

  std::vector<result_type> compute_reference_solution(join_kind join_method, bool print = false, bool sort = true)
  {

    // Use the type of the first vector as the key_type
