class_docstr: Test the JointPlot visualizer without histograms
class_docstr_tok: ["Test","the","JointPlot","visualizer","without","histograms"]
docstr: When self.columns=None validate X and y
docstr_tok: ["When","self.columns=None","validate","X","and","y"]
code: def test_columns_none_invalid_x(self):
      """
      When self.columns=None validate X and y
      """
      bad_kws = (
          {"X": rand1d(), "y": None},
          {"X": rand3col(), "y": None},
          {"X": rand2col(), "y": rand1d()},
          {"X": rand3col(), "y": rand1d()},
          {"X": rand1d(), "y": rand2col()},
      )
  
      for kws in bad_kws:
          oz = JointPlot(columns=None, hist=False)
          with pytest.raises(
              YellowbrickValueError, match="when self.columns is None"
          ):
              oz.fit(**kws)
  
imports: import sys
  import pytest
  import numpy
  from functools import partial
  from unittest.mock import patch, MagicMock
  from sklearn.datasets import make_classification, make_regression
  from tests.base import IS_WINDOWS_OR_CONDA, VisualTestCase
  from yellowbrick.exceptions import YellowbrickValueError
  from yellowbrick.features.jointplot import *
  from ..fixtures import Dataset
label_desc: Use image node_id 7 for calling the TestJointPlotNoHistogram obj's underlying member method code with example usage: obj.test_columns_none_invalid_x() without return types