code: def test_fraction_x(self):
      # when
  
      batch_x = [1.2, 0.3, 0.9, 123.4]
      epoch_x = [np.nan] + [1.7, 2.9, 4.5]
  
      batch_y = [7.3, 2.1, 9.5, 1.2]
      epoch_y = [np.nan, 0.35, 5.4, 0.9]
  
      df = pd.DataFrame(
          {
              "x_batch_channel": batch_x,
              "y_batch_channel": batch_y,
              "x_epoch_channel": epoch_x,
              "y_epoch_channel": epoch_y,
          },
          dtype=float,
      )
  
      expected_result = pd.DataFrame(
          {
              "x": [0.3, 0.9, 1.2, 1.7, 2.9, 4.5, 123.4],
              "batch_channel": [
                  2.1,
                  9.5,
                  7.3,
                  np.nan,
                  np.nan,
                  np.nan,
                  1.2,
              ],
              "epoch_channel": [
                  np.nan,
                  np.nan,
                  np.nan,
                  0.35,
                  5.4,
                  0.9,
                  np.nan,
              ],
          },
          dtype=float,
      )
      expected_result = sort_df_by_columns(expected_result)
  
      # then
      result = align_channels_on_x(df)
      result = sort_df_by_columns(result)
  
      assert_frame_equal(result, expected_result)
  
imports: import unittest
  import numpy
  import pandas
  from pandas.testing import assert_frame_equal
  from neptune.common.utils import align_channels_on_x, as_list, get_channel_name_stems, map_keys, map_values, merge_dataframes
  from tests.unit.neptune.legacy.random_utils import sort_df_by_columns
label_desc: Use image node_id 3 for calling the TestAlignChannelsOnX obj's underlying member method code with example usage: obj.test_fraction_x() without return types