code: def verify_merge():
      nrow = 10000
      ncol = 3
      seed1 = 12345
      seed2 = 54321
      cardinality = 2 * nrow
      integerR = 100000000
      frame1_enum = pyunit_utils.random_dataset_enums_only(
          nrow, ncol, factorL=cardinality, misFrac=0, randSeed=seed1
      )
      frame1_str = pyunit_utils.random_dataset_strings_only(
          nrow, ncol, seed=seed1
      )
      frame1_int = pyunit_utils.random_dataset_int_only(
          nrow, ncol, rangeR=integerR, misFrac=0, randSeed=seed1
      )
      frame1 = frame1_int.cbind(frame1_str.cbind(frame1_enum))
      frame2_enum = pyunit_utils.random_dataset_enums_only(
          nrow, ncol, factorL=cardinality, misFrac=0, randSeed=seed2
      )
      frame2_str = pyunit_utils.random_dataset_strings_only(
          nrow, ncol, seed=seed2
      )
      frame2_int = pyunit_utils.random_dataset_int_only(
          nrow, ncol, rangeR=integerR, misFrac=0, randSeed=seed2
      )
      frame2 = frame2_int.cbind(frame2_str.cbind(frame2_enum))
  
      # merge one column only
      print("Merge on one column")
      frame1.set_names(
          [
              "f1_1",
              "f1_2",
              "f1_3",
              "f1_4",
              "f1_5",
              "f1_6",
              "enum1",
              "f1_8",
              "f1_9",
          ]
      )
      frame2.set_names(
          [
              "f2_1",
              "f2_2",
              "f2_3",
              "f2_4",
              "f2_5",
              "f2_6",
              "enum1",
              "f28",
              "f2_9",
          ]
      )
      perform_merges_assert_correct_merge(frame1, frame2, "enum1")
  
      # merge two columns
      print("Merge on two columns")
      frame1.set_names(
          [
              "f1_1",
              "f1_2",
              "f1_3",
              "f1_4",
              "f1_5",
              "f1_6",
              "enum1",
              "enum2",
              "f1_9",
          ]
      )
      frame2.set_names(
          [
              "f2_1",
              "f2_2",
              "f2_3",
              "f2_4",
              "f2_5",
              "f2_6",
              "enum1",
              "enum2",
              "f2_9",
          ]
      )
      perform_merges_assert_correct_merge(
          frame1, frame2, ["enum1", "enum2"]
      )
  
      # merge three columns
      print("Merge on three columns")
      frame1.set_names(
          [
              "f1_1",
              "f1_2",
              "f1_3",
              "f1_4",
              "f1_5",
              "f1_6",
              "enum1",
              "enum2",
              "enum3",
          ]
      )
      frame2.set_names(
          [
              "f2_1",
              "f2_2",
              "f2_3",
              "f2_4",
              "f2_5",
              "f2_6",
              "enum1",
              "enum2",
              "enum3",
          ]
      )
      perform_merges_assert_correct_merge(
          frame1, frame2, ["enum1", "enum2", "enum3"]
      )
  
imports: import sys
  import h2o
  from tests import pyunit_utils
label_desc: Use image node_id 1 for calling a global function with example usage: verify_merge() without return types