If you want a boolean value for a match, you can use:
https://hexdocs.pm/elixir/Kernel.html#match?/2

Allen Madsen
http://www.allenmadsen.com

On Wed, Oct 18, 2017 at 9:19 AM, <[email protected]> wrote:

> Wouldn't it be more difficult to determine the right thing to print based
> on a MatchError, than the operator and operands?  Maybe not all that
> harder, but I do prefer the explicitness of saying "I'm comparing a
> subset", rather than "attempting an assignment"
>
> On Wednesday, October 18, 2017 at 8:03:05 AM UTC-5, Louis Pilfold wrote:
>>
>> Hey
>>
>> The `assert` macro handles MatchError as well as true/false.
>>
>> >  Ideally, in the assertion results, it would highlight the failing
>> key/values as well.
>>
>> This would be a nice addition to ExUnit. I would rather see this than any
>> addition to =~
>>
>> Cheers,
>> Louis
>>
>> On Wed, 18 Oct 2017 at 13:43 <[email protected]> wrote:
>>
>>> Yes, but that throws a MatchError exception if not satisfied, not a
>>> true/false.  Ideally, in the assertion results, it would highlight the
>>> failing key/values as well.  Primarily for testing, but also a quick way to
>>> test for the presence of multiple key/values in larger maps.
>>>
>>>
>>> On Wednesday, October 18, 2017 at 12:14:00 AM UTC-5, Andrew Timberlake
>>> wrote:
>>>
>>>> You can do that with pattern matching,
>>>>
>>>> assert %{field1: "foo", field2: "bar"} = data
>>>>
>>>
>>>> On 18 Oct 2017, 05:01 +0200, [email protected], wrote:
>>>>
>>> I think it would be useful if =~ supported maps.  =~ would return true
>>>> if the key/values in the right hand map were also contained in the
>>>> left-hand map.  I think this would be especially useful for testing, as you
>>>> could check that the result matched a subset of the map, rather than the
>>>> whole map.
>>>>
>>>> e.g.
>>>> data = Repo.insert!(src)
>>>> # data = %Data{id: 25, field1: "foo", field2: "bar", inserted_at:
>>>> ~N[2017-01-01], updated_at: ~N[2017-01-01]}
>>>> assert data =~ %{field1: "foo", field2: "bar"}  # true
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "elixir-lang-core" group.
>>>>
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>>
>>>>
>>>> To view this discussion on the web visit https://groups.google.com/d/ms
>>>> gid/elixir-lang-core/7eaabb77-6c7a-4fcb-a74a-fc303f5ace26%
>>>> 40googlegroups.com
>>>> <https://groups.google.com/d/msgid/elixir-lang-core/7eaabb77-6c7a-4fcb-a74a-fc303f5ace26%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "elixir-lang-core" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit https://groups.google.com/d/ms
>>> gid/elixir-lang-core/fb23650e-c3f4-4694-86e1-62cdc2b9e103%
>>> 40googlegroups.com
>>> <https://groups.google.com/d/msgid/elixir-lang-core/fb23650e-c3f4-4694-86e1-62cdc2b9e103%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "elixir-lang-core" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/elixir-lang-core/67f18c62-08e9-4e68-b8c7-
> e7d3e8dcf36b%40googlegroups.com
> <https://groups.google.com/d/msgid/elixir-lang-core/67f18c62-08e9-4e68-b8c7-e7d3e8dcf36b%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/CAK-y3CsWniCRhOMXTGFkVEa82s407QfxPf3CQ_vOymYqGp5Hww%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to