Skip to content

Commit 997e18e

Browse files
committed
Make struct type tests deterministic
1 parent 90a917a commit 997e18e

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

lib/elixir/test/elixir/module/types/pattern_test.exs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -140,25 +140,25 @@ defmodule Module.Types.PatternTest do
140140
end
141141

142142
test "struct" do
143-
assert quoted_pattern(%:"Elixir.Module.Types.PatternTest.Struct"{}) ==
144-
{:ok,
145-
{:map,
146-
[
147-
{:required, {:atom, :__struct__}, {:atom, Module.Types.PatternTest.Struct}},
148-
{:required, {:atom, :bar}, :dynamic},
149-
{:required, {:atom, :baz}, :dynamic},
150-
{:required, {:atom, :foo}, :dynamic}
151-
]}}
152-
153-
assert quoted_pattern(%:"Elixir.Module.Types.PatternTest.Struct"{foo: 123, bar: :atom}) ==
154-
{:ok,
155-
{:map,
156-
[
157-
{:required, {:atom, :foo}, :integer},
158-
{:required, {:atom, :bar}, {:atom, :atom}},
159-
{:required, {:atom, :__struct__}, {:atom, Module.Types.PatternTest.Struct}},
160-
{:required, {:atom, :baz}, :dynamic}
161-
]}}
143+
assert {:ok, {:map, fields}} = quoted_pattern(%:"Elixir.Module.Types.PatternTest.Struct"{})
144+
145+
assert Enum.sort(fields) == [
146+
{:required, {:atom, :__struct__}, {:atom, Module.Types.PatternTest.Struct}},
147+
{:required, {:atom, :bar}, :dynamic},
148+
{:required, {:atom, :baz}, :dynamic},
149+
{:required, {:atom, :foo}, :dynamic}
150+
]
151+
152+
assert {:ok, {:map, fields}} =
153+
quoted_pattern(%:"Elixir.Module.Types.PatternTest.Struct"{foo: 123, bar: :atom})
154+
155+
assert Enum.sort(fields) ==
156+
[
157+
{:required, {:atom, :__struct__}, {:atom, Module.Types.PatternTest.Struct}},
158+
{:required, {:atom, :bar}, {:atom, :atom}},
159+
{:required, {:atom, :baz}, :dynamic},
160+
{:required, {:atom, :foo}, :integer}
161+
]
162162
end
163163

164164
test "struct var" do

0 commit comments

Comments
 (0)