code: def test_merge_column_wise_batch_frame(self):
      batch_1 = Batch(frames=pd.DataFrame([{"id": 0}]))
      batch_2 = Batch(frames=pd.DataFrame([{"data": 1}]))
  
      batch_3 = Batch.merge_column_wise([batch_1, batch_2])
      batch_4 = Batch(frames=pd.DataFrame([{"id": 0, "data": 1}]))
      self.assertEqual(batch_3, batch_4)
  
      # Special case
      self.assertEqual(Batch.merge_column_wise([]), Batch())
  
      # Cases with None
      batch_1 = Batch(frames=pd.DataFrame({"id": [0, None, 1]}))
      batch_2 = Batch(frames=pd.DataFrame({"data": [None, 0, None]}))
      batch_res = Batch(
          frames=pd.DataFrame(
              {"id": [0, None, 1], "data": [None, 0, None]}
          )
      )
      self.assertEqual(
          Batch.merge_column_wise([batch_1, batch_2]), batch_res
      )
  
      # Cases with filter
      df_1 = pd.DataFrame({"id": [-10, 1, 2]})
      df_2 = pd.DataFrame({"data": [-20, 2, 3]})
      df_1 = df_1[df_1 < 0].dropna()
      df_1.reset_index(drop=True, inplace=True)
      df_2 = df_2[df_2 < 0].dropna()
      df_2.reset_index(drop=True, inplace=True)
      batch_1 = Batch(frames=df_1)
      batch_2 = Batch(frames=df_2)
      df_res = pd.DataFrame({"id": [-10, 1, 2], "data": [-20, 2, 3]})
      df_res = df_res[df_res < 0].dropna()
      df_res.reset_index(drop=True, inplace=True)
      batch_res = Batch(frames=df_res)
      self.assertEqual(
          Batch.merge_column_wise([batch_1, batch_2]), batch_res
      )
  
imports: import unittest
  from test.util import create_dataframe, create_dataframe_same
  import numpy
  import pandas
  from evadb.models.storage.batch import Batch
  from evadb.parser.alias import Alias
label_desc: Use image node_id 15 for calling the BatchTest obj's underlying member method code with example usage: obj.test_merge_column_wise_batch_frame() without return types