objectionary / objectionary/lints

Conflict between `unit-test-is-not-verb` and `bad-test-name` lints over `can-` prefix in positive test names

Open
#1,441 1 comment 0 reactions 1 assignee View on GitHub

@yegor256 is already working on this.

Since Sep 18, 2026.

bug good-title
Dominant language
Java
Stars
14
Forks
39
Avg merge
22h 54m
Merged PRs (30d)
90

Description

Two lints in the same jar ask for opposite things about a positive test name. bad-test-name in src/main/resources/org/eolang/lints/tests/bad-test-name.xsl requires it to match ^(can|accepts)-, and LtTestNotVerb hands the same title to Vocabulary.isVerb, which tags it with OpenNLP and accepts it only when the first word is VBZ. can is a modal, tagged MD, so every name the first lint allows in its can- form the second one rejects.

The collision only surfaced in 0.4.9, since MonoLints in 0.4.8 held no reference to LtTestNotVerb and the check never ran. In objectionary/eo it now fires 1972 times against eo-runtime, which is every positive test in the module, and the only spelling that satisfies both lints is accepts-, which reads wrong for most of them: accepts-negate-false is not what the test says.

Either unit-test-is-not-verb should accept the modal that its sibling lint mandates, or the two should agree on one prefix set.

@yegor256

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.