Переименовать новое тестирование функций столбцов

#python #pyspark #rename #columnsorting #cdsw

Вопрос:

Я тестирую приведенный ниже «режим if», который кто-то написал по входным значениям, чтобы проверить, работает ли функция должным образом

 def modify_col(self, tbl, new_col, mode, left, right):  
      if mode == 'rename_column':
      self.df[tbl] = self.df[tbl].withColumn(new_col, F.col(left))
 

Я написал приведенный ниже код модульного теста, и моя проблема в том, что функция неверна, или я ввожу неправильные значения, или логика, которую я ввел, неверна: ниже приведено модульное тестирование, которое я провел, и его сбой

 def test_modify_rename_column(self):
    """ 
    Test make_new_col function. 

    """
    test_data= [
      {'A': 12,'B': 11},
      {'A': 12,'B': 13}
    ]

    expected = [
                {'A': 12, 'B': 11,'rename_column_test':1},
                {'A': 12, 'B': 13,'rename_column_test':1}
        ]

    self.lib.df['test_data'] = self.spark.createDataFrame(test_data).alias('test_data')

    self.lib.modify_col(
      tbl = 'test_data',
      new_col = 'rename_column_test',
      mode = 'rename_column',
      left = 'A',
      right = 'B'
    )
  
    actual = (
     self.lib.df['test_data']
    .toPandas()
    .sort_values(['A'])
    .to_dict(orient='records')
    )
    assert expected == actual  
 

Я получаю сообщение об ошибке:

 > AssertionError: 
AssertionError                            Traceback (most recent call last)
in engine
----> 1 t.test_modify_rename_column()

<ipython-input-1-35d82a35840a> in test_modify_rename_column(self)
    893         .to_dict(orient='records')
    894         )
--> 895         assert expected == actual  
    896       
    897       

AssertionError: 
 

Мы будем очень признательны за любую помощь, которую вы можете оказать для устранения этой проблемы. Заранее благодарю вас

Комментарии:

1. Что вы сделали, чтобы отладить это? Попробуйте распечатать оба диктанта и посмотрите, в чем, по-видимому, разница