     "This should never be tested" = assert 2 <= 1
   rescue
     error in [ExUnit.AssertionError] ->
-      "assert(2 <= 1)" = error.expr |> Macro.to_string
+      "assert(2 <= 1)" = Macro.to_string(error.expr)
       2 = error.left
       1 = error.right
   end


  test "refute when value evaluates to true" do
    try do
      refute Value.truthy
      raise "refute was supposed to fail"
    rescue
      error in [ExUnit.AssertionError] ->

  end

  test "assert received when different message" do
    send(self(), {:message, :not_expected, :at_all})

    try do
      "This should never be tested" = assert_received :hello
    rescue
      error in [ExUnit.AssertionError] ->
        """
        No message matching :hello after 0ms.
        Process mailbox:
          {:message, :not_expected, :at_all}\
        """ = error.message
    end
  end

  test "assert received when different message having more than 10 on mailbox" do
    for i <- 1..11, do: send(self(), {:message, i})

    try do
      "This should never be tested" = assert_received x when x == :hello
    rescue
      error in [ExUnit.AssertionError] ->
        """
        No message matching x when x == :hello after 0ms.
        Process mailbox:
          {:message, 1}
          {:message, 2}
          {:message, 3}
          {:message, 4}
          {:message, 5}
          {:message, 6}
          {:message, 7}
          {:message, 8}
          {:message, 9}
          {:message, 10}
        Showing only 10 of 11 messages.\
        """ = error.message
    end
  end

  test "assert received binds variables" do
    send(self(), {:hello, :world})
    assert_received {:hello, world}
    :world = world
  end

  test "assert received does not leak external variables used in guards" do
    send(self(), {:hello, :world})
    guard_world = :world
    assert_received {:hello, world} when world == guard_world
    :world = world
