Python - переименовать функцию тестирования нового столбца

Я тестирую приведенный ниже «режим 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: 

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

0 ответов

Другие вопросы по тегам