# manual-assert-equal

Prefer equality assertions over asserting a comparison

A boolean assertion receives only the result of an equality comparison, so a failure cannot report
the actual and expected values.
Instead, you SHOULD use `assertEqual` or `assertNotEqual` so both values are available to the
diagnostic.

- Category: style
- Level: warning
- Fix: suggestion
- Scope: module

## Reported

```ds title="main.ds"
import * as assert from "destack:assert";

function verify(actual: int32, expected: int32): void {
    assert.assert(actual == expected);
}
```

## Accepted

```ds title="main.ds"
import * as assert from "destack:assert";

function verify(actual: int32, expected: int32): void {
    assert.assertEqual(actual, expected);
}
```

## Prior art

- [Clippy · manual_assert_eq](https://rust-lang.github.io/rust-clippy/master/index.html#manual_assert_eq)

[language/linter/src/rules/style/manual_assert_equal.rs:8](https://github.com/destack-sh/destack/blob/main/language/linter/src/rules/style/manual_assert_equal.rs#L8)
