In some tests, we need to compare 2 structs between each other. However when we build
- the test struct: this is done manually
%{
data_actions: %{A, B}
}
- the core struct, we go through a
data_actions |> Map.from_struct() |> Enum.reduce( ...)
Since OTP 26, Maps aren’t ordered anymore (Taking Control of Map Sort Order in Elixir · The Phoenix Files) so the result is random (in the resulting struct, the data_actions have a random order).
Is there any way to compare a struct recursively, without considering the values order? What is the elixir way to do it clean?






















