Included Matchers
All core matchers are supported under both expects
as well as asserts
syntaxes.
When using the expects
syntax, all matchers have negative counterparts, ie:
expect 1 |> not_to_eq 2
expect(1 > 5) |> not_to_be_true
In asserts
syntax:
#passes if actual == expected
assert eq(1, 1)
In expects
syntax:
#passes if actual == expected
expect 1 |> to_eq 1
In asserts
syntax:
#passes if expected == true
assert be_true(1 > 0)
In expects
syntax:
#passes if expected == true
expect(1 > 0) |> to_be_true
In asserts
syntax:
#passes if expected is truthy
assert be_truthy("something")
In expects
syntax:
#passes if expected is truthy
expect "something" |> to_be_truthy
In asserts
syntax:
#passes if expected is falsey
assert be_falsey(false)
In expects
syntax:
#passes if expected is falsey
expect false |> to_be_falsey
In asserts
syntax:
#passes if expected is nil
assert be_nil(nil)
In expects
syntax:
#passes if expected is nil
expect nil |> to_be_nil
In asserts
syntax:
#passes if Dict has member as a key
assert have_key(%{:a => 1}, :a)
In expects
syntax:
#passes if Dict has member as a key
expect %{:a => 1} |> to_have_key :a
In asserts
syntax:
#passes if Dict is empty
assert be_empty(%{})
In expects
syntax:
#passes if Dict is empty
expect %{} |> to_be_empty
####It also works with Lists:
In asserts
syntax:
#passes if Dict is empty
assert be_empty([])
In expects
syntax:
#passes if Dict is empty
expect [] |> to_be_empty
####And Strings:
In asserts
syntax:
#passes if Dict is empty
assert be_empty("")
In expects
syntax:
#passes if Dict is empty
expect "" |> to_be_empty
In asserts
syntax:
#passes if List includes member
assert include([1, 2], 1)
In expects
syntax:
#passes if List includes member
expect [1, 2] |> to_include 1
####It also works with Maps:
In asserts
syntax:
#passes if Map includes member
assert include(%{:a => 1, :b => 2}, {:a, 1})
In expects
syntax:
#passes if Map includes member
expect %{:a => 1, :b => 2} |> to_include {:a, 1}
####And even Strings:
In asserts
syntax:
#passes if String contains partial
assert include("a string", "a stri")
In expects
syntax:
#passes if String contains partial
expect "a string" |> to_include "a_stri"
In asserts
syntax:
#passes if the given function raises an ArithmeticError
have_raised(fn -> 1 + "test") end, ArithmeticError)
In expects
syntax:
#passes if the given function raises an ArithmeticError
expect fn -> 1 + "test" end |> to_have_raised ArithmeticError
In asserts
syntax:
#passes if the given function throws a given value
have_thrown(fn -> throw "x" end, "x")
In expects
syntax:
#passes if the given function throws a given value
expect fn -> throw "x" end |> to_have_thrown "x"
In asserts
syntax:
#passes if the given function exited the process
have_thrown(fn -> exit "bye bye!" end)
In expects
syntax:
#passes if the given function exited the process
expect fn -> exit "bye bye!" end |> to_have_exited