unittest assertEqual для идентичных множеств возвращает false - PullRequest
0 голосов
/ 21 апреля 2020

Я создал тест в unittest и pyspark.

Я запускаю процесс, который создает DataFrame. При сравнении результатов DF с ожидаемыми результатами с использованием наборов выходные данные показывают, что наборы идентичны, но при выполнении теста наборы возвращают False при проверке.

def test_DF(self):
  create_df(self.arguments)
  df = self.spark.read.parquet(self.expected_path)
  self.assertEqual(self.expected_results_set, set(df.collect()))

при проверке выходных данных наборы идентичны:

expected_results_set = {Row(uniID=1, data='We'),
                    Row(uniID=2, data='Will'),
                    Row(uniID=3, data='We'),
                    Row(uniID=4, data='Will'),
                    Row(uniID=5, data='Test'),
                    Row(uniID=6, data='You'),
                    Row(uniID=7, data='Test'),
                    Row(uniID=8, data='You')}
df_output = {Row(data='Test', uniID=5),
             Row(data='Test', uniID=7),
             Row(data='We', uniID=1),
             Row(data='We', uniID=3),
             Row(data='Will', uniID=2),
             Row(data='Will', uniID=4),
             Row(data='You', uniID=6),
             Row(data='You', uniID=8)}

print(expected_results_set == df_output)  # return true out of the test

что мне не хватает? есть ли альтернатива?

...