Равные списки с разным порядком настраиваемых объектов, которые имеют поля, которые также являются списками, которые также могут быть в другом порядке - PullRequest
0 голосов
/ 06 августа 2020

ЭТО НЕ ДУБЛИКАТ AssertEquals 2 Списки игнорируют порядок . Причины почему описаны в самом посте. Посмотрите на пример, и разницу легко увидеть: моя публикация посвящена настраиваемым объектам в списках, которые также имеют списки в виде полей. Речь идет не о простом списке строк.

Сейчас пишу тестовый пример, в котором мне нужно сравнить 2 List s. Порядок списков может быть другим. Списки содержат объекты, на которые никогда не будет одинаковых ссылок. Поэтому мне нужно .equals() для вызова элементов списков. Объекты в списке также имеют поля List s. То же самое применимо и здесь: списки могут быть в другом порядке.

Пример (псевдокод):

// Note that the elements in the list do NOT have the same reference, they are a deep copy of each other

actual = [obj1:{someField: "val", rows: [row1, row2]}, // The sub lists are important!
          obj2:{someField: "val2", children: [child1, child2]}];

expected = [obj2:{someField: "val2", children: [child2, child1]}, 
            obj1:{someField: "val", rows: [row2, row1]}];

Как я могу утверждать, что эти списки равны (списки в примере выше в моем тесте должны быть равны)?

...