code: def test_latin_sample_no_groups(self):
      problem = {
          "num_vars": 2,
          "bounds": [[0, 1], [0, 1]],
          "names": ["var1", "var2"],
          "groups": None,
      }
  
      actual = sample(problem, 10, seed=42)
      expected = np.array(
          [
              [0.86011150, 0.15247564],
              [0.27319939, 0.84560700],
              [0.03745401, 0.73663618],
              [0.60580836, 0.51394939],
              [0.78661761, 0.46118529],
              [0.97080726, 0.97851760],
              [0.35986585, 0.03042422],
              [0.19507143, 0.32912291],
              [0.41560186, 0.62921446],
              [0.51559945, 0.24319450],
          ]
      )
      approx(actual, expected)
  
file_path: SALib/tests/sample/test_latin.py
imports: from SALib.sample.latin import sample
  from pytest import approx
  import numpy
label_desc: Use image node_id 4 for calling the TestLatinSample obj's underlying member method code with example usage: obj.test_latin_sample_no_groups() without return types